// XCCalendarListAccountCtrl.h - XCCalendarListAccountCtrl 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_XCCALENDARLISTACCOUNTCTRL_H__ #define __WIDGETS_XCCALENDARLISTACCOUNTCTRL_H__ #include #include #include #include "types.h" #include "colour.h" #include "events.h" #include "XCCalendarListCalendarCtrl.h" class XCCalendarListAccountCtrl: public wxPanel{ private: wxBoxSizer *szrMain = nullptr; wxCheckBox *chkShowAll = nullptr; wxStaticText *lblAccountName = nullptr; wxStaticBitmap *imgAccountIcon = nullptr; protected: std::vector calendarControlList; int accountID = 0; int accountPreferencesID = 0; AccountType accountType = ACCOUNTTYPE_UNKNOWN; std::string accountName = ""; bool showAccounts = true; void ShowAllCheckboxClick( wxMouseEvent &mouseEvent ); public: XCCalendarListAccountCtrl(wxWindow* parent, string accountName); ~XCCalendarListAccountCtrl(); void AddCalendar(XCCalendarListCalendarCtrl *calendarControl); wxCheckBoxState GetShowCheckboxState(); int GetAccountID(); void SetAccountID(int accountID); void SetAccountPreferencesID(int accountID); void SetCheckBoxValue(wxCheckBoxState newValue); std::vector GetHiddenCalendarList(); DECLARE_EVENT_TABLE(); }; #endif