From 23796a09fe99206988ad5ad3b52bd18e37f57d6a Mon Sep 17 00:00:00 2001 From: Steve Brokenshire Date: Thu, 29 Dec 2016 19:50:12 +0000 Subject: [PATCH] XCCalendarCtrl: Generate current month grid if no data is given --- source/widgets/XCCalendarCtrl.cpp | 19 +++++++++++++++---- source/widgets/XCCalendarCtrl.h | 2 +- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/source/widgets/XCCalendarCtrl.cpp b/source/widgets/XCCalendarCtrl.cpp index 893f150..2619242 100644 --- a/source/widgets/XCCalendarCtrl.cpp +++ b/source/widgets/XCCalendarCtrl.cpp @@ -18,11 +18,18 @@ #include "XCCalendarCtrl.h" +BEGIN_EVENT_TABLE(XCCalendarCtrl, wxPanel) +END_EVENT_TABLE() + using namespace std; XCCalendarCtrl::XCCalendarCtrl(wxWindow *parent, CalendarDataStorage *dataStorage) : wxPanel (parent, wxID_ANY, wxDefaultPosition, wxDefaultSize){ + // Setup the pointers. + + calendarStorage = dataStorage; + // Setup the main sizer. szrMain = new wxFlexGridSizer(2, 1, 0, 0); @@ -34,14 +41,18 @@ XCCalendarCtrl::XCCalendarCtrl(wxWindow *parent, CalendarDataStorage *dataStorag // Setup the top menu. - ManipulatorCtrl = new XCCalendarManipulator(this, "XCCalendarManipulator Test", wxDefaultPosition, wxDefaultSize, dataStorage); + ManipulatorCtrl = new XCCalendarManipulator(this, "XCCalendarManipulator Test", wxDefaultPosition, wxDefaultSize, calendarStorage); // Setup the month view grid. - XCCalendarMonthViewGrid CurrentMonthGrid = GenerateMonthGrid(11, 2016); + wxDateTime DTNow = wxDateTime::Now(); + int currentMonth = ((int)DTNow.GetMonth() + 1); + int currentYear = DTNow.GetYear(); + + XCCalendarMonthViewGrid CurrentMonthGrid = GenerateMonthGrid(currentMonth, currentYear); szrMain->Add(ManipulatorCtrl, 1, wxEXPAND, 5); - MonthViewCtrl = new XCCalendarMonthView(this, "XCCalendarMonthView Test", wxDefaultPosition, wxDefaultSize, &CurrentMonthGrid); + MonthViewCtrl = new XCCalendarMonthView(this, "XCCalendarMonthView Test", wxDefaultPosition, wxDefaultSize, &CurrentMonthGrid, calendarStorage); szrMain->Add(MonthViewCtrl, 1, wxEXPAND, 5); Connect(wxID_ANY, XCCALENDARCTRL_CHANGEGRID, wxCommandEventHandler(XCCalendarCtrl::UpdateGrid)); @@ -65,7 +76,7 @@ void XCCalendarCtrl::UpdateGrid(wxCommandEvent &event){ // Create a new grid. XCCalendarMonthViewGrid NewGrid = GenerateMonthGrid(ManipulatorCtrl->GetMonth(), ManipulatorCtrl->GetYear()); - MonthViewCtrl = new XCCalendarMonthView(this, _(""), wxDefaultPosition, wxDefaultSize, &NewGrid); + MonthViewCtrl = new XCCalendarMonthView(this, _(""), wxDefaultPosition, wxDefaultSize, &NewGrid, calendarStorage); // Detach the old grid and attach the new one. diff --git a/source/widgets/XCCalendarCtrl.h b/source/widgets/XCCalendarCtrl.h index b8ed1d4..9626a53 100644 --- a/source/widgets/XCCalendarCtrl.h +++ b/source/widgets/XCCalendarCtrl.h @@ -45,7 +45,7 @@ class XCCalendarCtrl: public wxPanel XCCalendarCtrl(wxWindow *parent, CalendarDataStorage *storage); ~XCCalendarCtrl(); - //DECLARE_EVENT_TABLE() + DECLARE_EVENT_TABLE() }; -- 2.39.2