EVT_PAINT(XCCalendarMonthView::PaintFrameEvent)
END_EVENT_TABLE()
-XCCalendarMonthView::XCCalendarMonthView(wxWindow *parent, const wxString& title, const wxPoint& pos, const wxSize& size, XCCalendarMonthViewGrid *grid, CalendarDataStorage *dataStorage)
+XCCalendarMonthView::XCCalendarMonthView(wxWindow *parent, const wxString& title, const wxPoint& pos, const wxSize& size, XCCalendarMonthViewGrid *grid, CalendarDataStorage *dataStorage, std::vector<int> *hideAccounts, std::vector<int> *hideCalendars)
: wxPanel(parent, wxID_ANY, pos, size, wxTAB_TRAVERSAL){
- Connect(ID_MONTHVIEWCLEARSELECTION, XCCALENDARMONTH_DESELECTOTHERENTRIES, wxCommandEventHandler(XCCalendarMonthView::DeselectOthersEvent));
-
calendarStorage = dataStorage;
MondayText = new XCCalendarMonthViewDayTitle(this, _("Monday"), wxDefaultPosition, wxDefaultSize);
WindowSizer->Add(SaturdayText, 1, wxEXPAND|wxALL, 0);
WindowSizer->Add(SundayText, 1, wxEXPAND|wxALL, 0);
- ProcessGrid(grid);
+ ProcessGrid(grid, hideAccounts, hideCalendars);
// Setup the days.
this->Layout();
this->SetBackgroundColour(wxColour(0,0,0));
+ Connect(ID_MONTHVIEWCLEARSELECTION, XCCALENDARMONTH_DESELECTOTHERENTRIES, wxCommandEventHandler(XCCalendarMonthView::DeselectOthersEvent));
+ Connect(ID_HIDEENTRIES, XCCALENDARMONTH_HIDEACCOUNTENTRIES, wxCommandEventHandler(XCCalendarMonthView::HideAccountEntries));
+ Connect(ID_SHOWENTRIES, XCCALENDARMONTH_SHOWACCOUNTENTRIES, wxCommandEventHandler(XCCalendarMonthView::ShowAccountEntries));
+ Connect(ID_HIDECALENDARENTRIES, XCCALENDARMONTH_HIDECALENDARENTRIES, wxCommandEventHandler(XCCalendarMonthView::HideCalendarEntries));
+ Connect(ID_SHOWCALENDARENTRIES, XCCALENDARMONTH_SHOWCALENDARENTRIES, wxCommandEventHandler(XCCalendarMonthView::ShowCalendarEntries));
+
}
-XCCalendarMonthView::XCCalendarMonthView(XCCalendarMonthViewGrid *grid, CalendarDataStorage *dataStorage)
+XCCalendarMonthView::XCCalendarMonthView(XCCalendarMonthViewGrid *grid, CalendarDataStorage *dataStorage, std::vector<int> *hideAccounts, std::vector<int> *hideCalendars)
: wxPanel(NULL, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL){
Connect(ID_MONTHVIEWCLEARSELECTION, XCCALENDARMONTH_DESELECTOTHERENTRIES, wxCommandEventHandler(XCCalendarMonthView::DeselectOthersEvent));
WindowSizer->Add(SaturdayText, 1, wxEXPAND|wxALL, 0);
WindowSizer->Add(SundayText, 1, wxEXPAND|wxALL, 0);
- ProcessGrid(grid);
+ ProcessGrid(grid, hideAccounts, hideCalendars);
// Setup the days.
}
-void XCCalendarMonthView::ProcessGrid(XCCalendarMonthViewGrid *grid){
+void XCCalendarMonthView::ProcessGrid(XCCalendarMonthViewGrid *grid, std::vector<int> *hideAccounts, std::vector<int> *hideCalendars){
// TODO: Delete the old calendar entries.
// Setup the control.
- CalendarDayItem->SetupControl((*DayIter).Day, (*DayIter).Month, (*DayIter).Year, (*DayIter).IsInMonth, this, calendarStorage);
+ CalendarDayItem->SetupControl((*DayIter).Day, (*DayIter).Month, (*DayIter).Year, (*DayIter).IsInMonth, this, calendarStorage, hideAccounts, hideCalendars);
CalendarDayList.push_back(CalendarDayItem);
WindowSizer->Add(CalendarDayItem, 1, wxEXPAND, 5);
}
+}
+
+void XCCalendarMonthView::HideAccountEntries(wxCommandEvent &accountData){
+
+ for (vector<XCCalendarDay*>::iterator DayIter = CalendarDayList.begin();
+ DayIter != CalendarDayList.end(); DayIter++){
+
+ wxCommandEvent HideEvent(XCCALENDARDAY_HIDEACCOUNTENTRIES);
+ HideEvent.SetInt(accountData.GetInt());
+ HideEvent.SetId(ID_HIDEENTRIES);
+ wxPostEvent((*DayIter), HideEvent);
+
+ }
+
+}
+
+void XCCalendarMonthView::ShowAccountEntries(wxCommandEvent &accountData){
+
+ for (vector<XCCalendarDay*>::iterator DayIter = CalendarDayList.begin();
+ DayIter != CalendarDayList.end(); DayIter++){
+
+ wxCommandEvent ShowEvent(XCCALENDARDAY_SHOWACCOUNTENTRIES);
+ ShowEvent.SetInt(accountData.GetInt());
+ ShowEvent.SetId(ID_SHOWENTRIES);
+ wxPostEvent((*DayIter), ShowEvent);
+
+ }
+
+}
+
+void XCCalendarMonthView::HideCalendarEntries(wxCommandEvent &accountData){
+
+ for (vector<XCCalendarDay*>::iterator DayIter = CalendarDayList.begin();
+ DayIter != CalendarDayList.end(); DayIter++){
+
+ wxCommandEvent HideEvent(XCCALENDARDAY_HIDECALENDARENTRIES);
+ HideEvent.SetInt(accountData.GetInt());
+ HideEvent.SetId(ID_HIDECALENDARENTRIES);
+ wxPostEvent((*DayIter), HideEvent);
+
+ }
+
+}
+
+void XCCalendarMonthView::ShowCalendarEntries(wxCommandEvent &accountData){
+
+ for (vector<XCCalendarDay*>::iterator DayIter = CalendarDayList.begin();
+ DayIter != CalendarDayList.end(); DayIter++){
+
+ wxCommandEvent HideEvent(XCCALENDARDAY_SHOWCALENDARENTRIES);
+ HideEvent.SetInt(accountData.GetInt());
+ HideEvent.SetId(ID_SHOWCALENDARENTRIES);
+ wxPostEvent((*DayIter), HideEvent);
+
+ }
+
}
\ No newline at end of file