+ 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);
+
+ }
+
+}
+
+void XCCalendarMonthView::DeleteCalendarEntries(wxCommandEvent &calendarData){
+
+ for (vector<XCCalendarDay*>::iterator dayIter = calendarDayList.begin();
+ dayIter != calendarDayList.end(); dayIter++){
+
+ wxCommandEvent deleteEvent(XCCALENDARDAY_DELETECALENDARENTRIES);
+ deleteEvent.SetInt(calendarData.GetInt());
+ deleteEvent.SetId(ID_DELETECALENDARENTRIES);
+ wxPostEvent((*dayIter), deleteEvent);
+
+ }
+
+}
+
+void XCCalendarMonthView::DeleteCalendarEntry(wxCommandEvent &eventData){
+
+ for (vector<XCCalendarDay*>::iterator dayIter = calendarDayList.begin();
+ dayIter != calendarDayList.end(); dayIter++){
+
+ wxCommandEvent deleteEvent(XCCALENDARDAY_DELETEENTRY);
+ deleteEvent.SetInt(eventData.GetInt());
+ deleteEvent.SetId(ID_DELETEENTRY);
+ wxPostEvent((*dayIter), deleteEvent);
+
+ }
+
+}
+
+void XCCalendarMonthView::AddCalendarEntry(wxCommandEvent &eventData){
+
+ EventProperties *eventInfo = (EventProperties*)eventData.GetClientData();
+ bool foundDate = false;
+
+ for (vector<XCCalendarDay*>::iterator dayIter = calendarDayList.begin();
+ dayIter != calendarDayList.end(); dayIter++){
+
+ // Check if the date matches with the date in the day
+ // widget. If it does, add the widget.
+
+ if ((*dayIter)->GetCalendarYear() == eventInfo->eventYear &&
+ (*dayIter)->GetCalendarMonth() == (eventInfo->eventMonth + 1) &&
+ (*dayIter)->GetCalendarDay() == eventInfo->eventDay){
+
+ wxCommandEvent addEvent(XCCALENDARDAY_ADDENTRY);
+ addEvent.SetId(ID_ADDENTRY);
+ addEvent.SetClientData(eventInfo);
+ wxPostEvent((*dayIter), addEvent);
+ foundDate = true;
+ break;
+
+ }
+
+ }
+
+ if (foundDate == false){
+
+ delete eventInfo;
+ eventInfo = nullptr;
+
+ }
+
+}
+
+void XCCalendarMonthView::UpdateCalendarEntry(wxCommandEvent &eventData){
+
+ EventProperties *eventInfo = (EventProperties*)eventData.GetClientData();
+ bool foundDate = false;
+
+ for (vector<XCCalendarDay*>::iterator dayIter = calendarDayList.begin();
+ dayIter != calendarDayList.end(); dayIter++){
+
+ wxCommandEvent addEvent(XCCALENDARDAY_DELETEENTRY);
+ addEvent.SetId(ID_DELETEENTRY);
+ addEvent.SetInt(eventInfo->eventID);
+ wxPostEvent((*dayIter), addEvent);
+
+ }
+
+ for (vector<XCCalendarDay*>::iterator dayIter = calendarDayList.begin();
+ dayIter != calendarDayList.end(); dayIter++){
+
+ // Check if the date matches with the date in the day
+ // widget. If it does, update the widget.
+
+ if ((*dayIter)->GetCalendarYear() == eventInfo->eventYear &&
+ (*dayIter)->GetCalendarMonth() == (eventInfo->eventMonth + 1) &&
+ (*dayIter)->GetCalendarDay() == eventInfo->eventDay){
+
+ wxCommandEvent addEvent(XCCALENDARDAY_ADDENTRY);
+ addEvent.SetId(ID_ADDENTRY);
+ addEvent.SetClientData(eventInfo);
+ wxPostEvent((*dayIter), addEvent);
+ foundDate = true;
+ break;
+
+ }
+
+ }
+
+ if (foundDate == false){
+
+ delete eventInfo;
+ eventInfo = nullptr;
+
+ }
+
+}
+
+void XCCalendarMonthView::UpdateCalendarColour(wxCommandEvent &colourData){
+
+ ColourUpdateProperties *colourDataInfo = (ColourUpdateProperties*)colourData.GetClientData();
+
+ for (vector<XCCalendarDay*>::iterator dayIter = calendarDayList.begin();
+ dayIter != calendarDayList.end(); dayIter++){