BEGIN_EVENT_TABLE(XCCalendarDay, wxPanel)
EVT_PAINT(XCCalendarDay::PaintFrameEvent)
EVT_SIZE(XCCalendarDay::ResizeFrameEvent)
-//EVT_COMMAND(wxID_ANY, XCCALENDARDAY_DESELECTOTHERENTRIES, XCCalendarDay::DeselectOthersEvent)
END_EVENT_TABLE()
XCCalendarDay::XCCalendarDay(wxWindow *parent, const wxString& title, const wxPoint& pos, const wxSize& size)
: wxPanel(parent, wxID_ANY, pos, size, wxTAB_TRAVERSAL, title){
Connect(wxID_ANY, XCCALENDARDAY_DESELECTOTHERENTRIES, wxCommandEventHandler(XCCalendarDay::DeselectOthersEvent));
-
+ Connect(ID_DESELECTALLITEMS, XCCALENDARDAY_DESELECTALLENTRIES, wxCommandEventHandler(XCCalendarDay::DeselectAllEvent));
+
this->SetMinSize( wxSize( 100,100 ) );
AlertIconBitmap.LoadFile("AlertIcon-32.png", wxBITMAP_DEFAULT_TYPE);
}
+ // Send event notification to deselect the other calendar entries.
+
+ if (this->MonthViewPointer != nullptr){
+
+ wxCommandEvent DeselectEvent(XCCALENDARMONTH_DESELECTOTHERENTRIES);
+ DeselectEvent.SetClientData(this);
+ DeselectEvent.SetId(ID_MONTHVIEWCLEARSELECTION);
+ wxPostEvent(this->MonthViewPointer, DeselectEvent);
+
+ }
+
}
-void XCCalendarDay::SetupControl(int SetupDay, int SetupMonth, int SetupYear, bool SetupIsInMonth)
+void XCCalendarDay::DeselectAllEvent(wxCommandEvent &DeselectEvent)
+{
+
+ int SelectedEntryID = DeselectEvent.GetInt();
+
+ wxCommandEvent DeselectEntryEvent(XCCALENDARDAYENTRY_DESELECT);
+
+ for (vector<XCCalendarDayEntry*>::iterator EntryIter = CalendarEntryList.begin();
+ EntryIter != CalendarEntryList.end(); EntryIter++){
+
+ wxPostEvent((*EntryIter), DeselectEntryEvent);
+
+ }
+
+}
+
+void XCCalendarDay::SetupControl(int SetupDay, int SetupMonth, int SetupYear, bool SetupIsInMonth, XCCalendarMonthView *MonthViewPointer)
{
// Set the day
IsInMonth = SetupIsInMonth;
+ // Setup the month view pointer.
+
+ this->MonthViewPointer = MonthViewPointer;
+
}
\ No newline at end of file