// XCCalendarListCalendarCtrl.h - XCCalendarListCalendarCtrl class header // // (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_XCCALENDARLISTCALENDARCTRL_H__ #define __WIDGETS_XCCALENDARLISTCALENDARCTRL_H__ #include #include #include #include "types.h" #include "colour.h" #include "events.h" #include "XCCalendarMenu.h" class XCCalendarListCalendarCtrl: public wxPanel{ private: wxBoxSizer *szrMain = nullptr; wxCheckBox *chkShowCalendar = nullptr; wxStaticText *lblCalendarName = nullptr; wxStaticBitmap *imgCalendarIcon = nullptr; XCCalendarMenu *calendarMenu = nullptr; wxPanel *pnlColour = nullptr; int accountPreferencesID = 0; protected: int calendarID = 0; std::string calendarName = ""; bool showCalendar = true; void ShowAllCheckboxClick( wxMouseEvent &mouseEvent ); void PopupMenu( wxMouseEvent &mouseEvent ); public: XCCalendarListCalendarCtrl(wxWindow* parent, string calendarName, Colour calendarColour); ~XCCalendarListCalendarCtrl(); wxCheckBoxState GetShowCheckboxState(); int GetCalendarID(); void SetCalendarID(int calendarID); void SetAccountPreferencesID(int accountID); void SetCheckBoxValue(wxCheckBoxState newValue); }; #endif