XCCalendarMonthViewGrid CurrentMonthGrid = GenerateMonthGrid(currentMonth, currentYear);
szrMain->Add(ManipulatorCtrl, 1, wxEXPAND, 5);
- MonthViewCtrl = new XCCalendarMonthView(this, "XCCalendarMonthView Test", wxDefaultPosition, wxDefaultSize, &CurrentMonthGrid, calendarStorage);
+ // Get the list of hidden accounts and calendars.
+
+ vector<int> hideAccountsList = ManipulatorCtrl->GetHiddenAccountsList();
+ vector<int> hideCalendarsList = ManipulatorCtrl->GetHiddenCalendarsList();
+
+ MonthViewCtrl = new XCCalendarMonthView(this, "XCCalendarMonthView Test", wxDefaultPosition, wxDefaultSize, &CurrentMonthGrid, calendarStorage, &hideAccountsList, &hideCalendarsList);
szrMain->Add(MonthViewCtrl, 1, wxEXPAND, 5);
- Connect(wxID_ANY, XCCALENDARCTRL_CHANGEGRID, wxCommandEventHandler(XCCalendarCtrl::UpdateGrid));
+ // Connect events to the control.
+
+ Connect(ID_CHANGEGRID, XCCALENDARCTRL_CHANGEGRID, wxCommandEventHandler(XCCalendarCtrl::UpdateGrid));
+ Connect(ID_HIDEENTRIES, XCCALENDARCTRL_HIDEACCOUNTENTRIES, wxCommandEventHandler(XCCalendarCtrl::HideAccountEntries));
+ Connect(ID_SHOWENTRIES, XCCALENDARCTRL_SHOWACCOUNTENTRIES, wxCommandEventHandler(XCCalendarCtrl::ShowAccountEntries));
+ Connect(ID_HIDECALENDARENTRIES, XCCALENDARCTRL_HIDECALENDARENTRIES, wxCommandEventHandler(XCCalendarCtrl::HideCalendarEntries));
+ Connect(ID_SHOWCALENDARENTRIES, XCCALENDARCTRL_SHOWCALENDARENTRIES, wxCommandEventHandler(XCCalendarCtrl::ShowCalendarEntries));
+ Connect(ID_DELETECALENDARENTRIES, XCCALENDARCTRL_DELETECALENDARENTRIES, wxCommandEventHandler(XCCalendarCtrl::DeleteCalendarEntries));
+ Connect(ID_DELETEENTRY, XCCALENDARCTRL_DELETEENTRY, wxCommandEventHandler(XCCalendarCtrl::DeleteCalendarEntry));
+ Connect(ID_ADDENTRY, XCCALENDARCTRL_ADDENTRY, wxCommandEventHandler(XCCalendarCtrl::AddCalendarEntry));
+ Connect(ID_UPDATEENTRY, XCCALENDARCTRL_UPDATEENTRY, wxCommandEventHandler(XCCalendarCtrl::UpdateCalendarEntry));
+ Connect(ID_UPDATECOLOUR, XCCALENDARCTRL_UPDATECALENDARCOLOUR, wxCommandEventHandler(XCCalendarCtrl::UpdateCalendarColour));
}
OldGrid = MonthViewCtrl;
+ // Get the list of hidden accounts and calendars.
+
+ vector<int> hideAccountsList = ManipulatorCtrl->GetHiddenAccountsList();
+ vector<int> hideCalendarsList = ManipulatorCtrl->GetHiddenCalendarsList();
+
// Create a new grid.
XCCalendarMonthViewGrid NewGrid = GenerateMonthGrid(ManipulatorCtrl->GetMonth(), ManipulatorCtrl->GetYear());
- MonthViewCtrl = new XCCalendarMonthView(this, _(""), wxDefaultPosition, wxDefaultSize, &NewGrid, calendarStorage);
+ MonthViewCtrl = new XCCalendarMonthView(this, _(""), wxDefaultPosition, wxDefaultSize, &NewGrid, calendarStorage, &hideAccountsList, &hideCalendarsList);
// Detach the old grid and attach the new one.
delete OldGrid;
OldGrid = nullptr;
+}
+
+void XCCalendarCtrl::HideAccountEntries(wxCommandEvent &accountData){
+
+ // Get the list of calendar IDs for the account and go through
+ // the list of entries in each day control.
+
+ wxCommandEvent event(XCCALENDARMONTH_HIDEACCOUNTENTRIES);
+ event.SetInt(accountData.GetInt());
+ event.SetId(ID_HIDEENTRIES);
+ wxPostEvent(MonthViewCtrl, event);
+
+}
+
+void XCCalendarCtrl::ShowAccountEntries(wxCommandEvent &accountData){
+
+ // Get the list of calendar IDs for the account and go through
+ // the list of entries in each day control.
+
+ wxCommandEvent event(XCCALENDARMONTH_SHOWACCOUNTENTRIES);
+ event.SetInt(accountData.GetInt());
+ event.SetId(ID_SHOWENTRIES);
+ wxPostEvent(MonthViewCtrl, event);
+
+}
+
+void XCCalendarCtrl::HideCalendarEntries(wxCommandEvent &calendarData){
+
+ // Get the list of calendar IDs for the account and go through
+ // the list of entries in each day control.
+
+ wxCommandEvent event(XCCALENDARMONTH_HIDECALENDARENTRIES);
+ event.SetInt(calendarData.GetInt());
+ event.SetId(ID_HIDECALENDARENTRIES);
+ wxPostEvent(MonthViewCtrl, event);
+
+}
+
+void XCCalendarCtrl::ShowCalendarEntries(wxCommandEvent &calendarData){
+
+ // Get the list of calendar IDs for the account and go through
+ // the list of entries in each day control.
+
+ wxCommandEvent event(XCCALENDARMONTH_SHOWCALENDARENTRIES);
+ event.SetInt(calendarData.GetInt());
+ event.SetId(ID_SHOWCALENDARENTRIES);
+ wxPostEvent(MonthViewCtrl, event);
+
+}
+
+void XCCalendarCtrl::DeleteCalendarEntries(wxCommandEvent &calendarData){
+
+ wxCommandEvent event(XCCALENDARMONTH_DELETECALENDARENTRIES);
+ event.SetInt(calendarData.GetInt());
+ event.SetId(ID_DELETECALENDARENTRIES);
+ wxPostEvent(MonthViewCtrl, event);
+
+}
+
+void XCCalendarCtrl::DeleteCalendarEntry(wxCommandEvent &eventData){
+
+ wxCommandEvent event(XCCALENDARMONTH_DELETEENTRY);
+ event.SetInt(eventData.GetInt());
+ event.SetId(ID_DELETEENTRY);
+ wxPostEvent(MonthViewCtrl, event);
+
+}
+
+void XCCalendarCtrl::AddCalendarEntry(wxCommandEvent &eventData){
+
+ EventProperties *eventInfo = (EventProperties*)eventData.GetClientData();
+
+ eventInfo->hideAccountsList = ManipulatorCtrl->GetHiddenAccountsList();
+ eventInfo->hideCalendarsList = ManipulatorCtrl->GetHiddenCalendarsList();
+
+ wxCommandEvent addEvent(XCCALENDARMONTH_ADDENTRY);
+ addEvent.SetId(ID_ADDENTRY);
+ addEvent.SetClientData(eventInfo);
+ wxPostEvent(MonthViewCtrl, addEvent);
+
+}
+
+void XCCalendarCtrl::UpdateCalendarEntry(wxCommandEvent &eventData){
+
+ EventProperties *eventInfo = (EventProperties*)eventData.GetClientData();
+
+ wxCommandEvent addEvent(XCCALENDARMONTH_UPDATEENTRY);
+ addEvent.SetId(ID_UPDATEENTRY);
+ addEvent.SetClientData(eventInfo);
+ wxPostEvent(MonthViewCtrl, addEvent);
+
+}
+
+void XCCalendarCtrl::UpdateCalendarColour(wxCommandEvent &colourData){
+
+ ColourUpdateProperties *colourInfo = (ColourUpdateProperties*)colourData.GetClientData();
+
+ wxCommandEvent colourEvent(XCCALENDARMONTH_UPDATECALENDARCOLOUR);
+ colourEvent.SetId(ID_UPDATECOLOUR);
+ colourEvent.SetClientData(colourInfo);
+ wxPostEvent(MonthViewCtrl, colourEvent);
+
}
\ No newline at end of file