XCCalendarManipulator::~XCCalendarManipulator(){
// Destory the controls from the widget.
+
+ dateButton->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(XCCalendarManipulator::DateTextClick), NULL, this);
+ nextButton->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(XCCalendarManipulator::NextMonth), NULL, this);
+ calendarsButton->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(XCCalendarManipulator::ShowCalendarsList), NULL, this);
+ previousButton->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(XCCalendarManipulator::PreviousMonth), NULL, this);
+
+#if defined(WIN32)
+ dateButton->Disconnect(wxEVT_ENTER_WINDOW, wxMouseEventHandler(XCCalendarManipulator::ButtonMouseover), NULL, this);
+ dateButton->Disconnect(wxEVT_LEAVE_WINDOW, wxMouseEventHandler(XCCalendarManipulator::ButtonMouseout), NULL, this);
+ nextButton->Disconnect(wxEVT_ENTER_WINDOW, wxMouseEventHandler(XCCalendarManipulator::ButtonMouseover), NULL, this);
+ nextButton->Disconnect(wxEVT_LEAVE_WINDOW, wxMouseEventHandler(XCCalendarManipulator::ButtonMouseout), NULL, this);
+ calendarsButton->Disconnect(wxEVT_ENTER_WINDOW, wxMouseEventHandler(XCCalendarManipulator::ButtonMouseover), NULL, this);
+ calendarsButton->Disconnect(wxEVT_LEAVE_WINDOW, wxMouseEventHandler(XCCalendarManipulator::ButtonMouseout), NULL, this);
+ previousButton->Disconnect(wxEVT_ENTER_WINDOW, wxMouseEventHandler(XCCalendarManipulator::ButtonMouseover), NULL, this);
+ previousButton->Disconnect(wxEVT_LEAVE_WINDOW, wxMouseEventHandler(XCCalendarManipulator::ButtonMouseout), NULL, this);
+#endif
+
+ Unbind(XCCALENDARMANIPULATOR_CHANGEGRID, &XCCalendarManipulator::ChangeGrid, this, ID_CHANGEGRID);
+
+ // Delete the buttons in pnlMain.
+
+ szrNavigation->Clear();
+
+ delete previousButton;
+ previousButton = nullptr;
+
+ delete nextButton;
+ nextButton = nullptr;
+
+ delete calendarsButton;
+ calendarsButton = nullptr;
+
+ delete dateButton;
+ dateButton = nullptr;
+
+ // Delete szrNavigation.
+
+ szrMain->Clear();
+ pnlMain->SetSizer(nullptr, true);
+
+ // Delete pnlMain itself;
+
+ delete pnlMain;
+ pnlMain = nullptr;
+
+ delete moo;
+ moo = nullptr;
+
+ delete calendarList;
+ calendarList = nullptr;
+
+ // Delete szrMain itself;
+
+ this->SetSizer(nullptr, true);
+
+ dataStorage = nullptr;
}
calendarList->UpdateCalendarList(dataStorage);
#if defined(__APPLE__)
- if (calendarListShow == false)
- {
- calendarList->Show();
- calendarListShow = true;
- }
- else
- {
- calendarList->Hide();
- calendarListShow = false;
- }
+ if (calendarListShow == false)
+ {
+ calendarList->Show();
+ calendarListShow = true;
+ }
+ else
+ {
+ calendarList->Hide();
+ calendarListShow = false;
+ }
#else
calendarList->Popup();
#endif