// XCCalendarCtrl.h - Xestia Calendar XCCalendarCtrl widget class header file. // // (c) 2016-2017 Xestia Software Development. // // This file is part of Xestia Calendar. // // Xestia Calendar is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by the // Free Software Foundation, version 3 of the license. // // Xestia Calendar is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License along // with Xestia Calendar. If not, see #ifndef __WIDGETS_XCCALENDARCTRL_H__ #define __WIDGETS_XCCALENDARCTRL_H__ #include #include #include "structs.h" #include "events.h" #include "XCCalendarMonthView.h" #include "XCCalendarManipulator.h" #include "../common/monthviewgen.h" #include "../libraries/CalendarDataStorage/CalendarDataStorage.h" class XCCalendarCtrl: public wxPanel { private: XCCalendarMonthView *monthViewCtrl = nullptr; XCCalendarManipulator *manipulatorCtrl = nullptr; wxFlexGridSizer *szrMain = nullptr; CalendarDataStorage *calendarStorage = nullptr; protected: void UpdateGrid(wxCommandEvent &event); void HideAccountEntries(wxCommandEvent &accountData); void ShowAccountEntries(wxCommandEvent &accountData); void HideCalendarEntries(wxCommandEvent &calendarData); void ShowCalendarEntries(wxCommandEvent &calendarData); void DeleteCalendarEntries(wxCommandEvent &calendarData); void DeleteCalendarEntry(wxCommandEvent &eventData); void AddCalendarEntry(wxCommandEvent &eventData); void UpdateCalendarEntry(wxCommandEvent &eventData); void UpdateCalendarColour(wxCommandEvent &colourData); public: XCCalendarCtrl(wxWindow *parent, CalendarDataStorage *storage); ~XCCalendarCtrl(); }; #endif