1 // XCCalendarListAccountCtrl.h - XCCalendarListAccountCtrl class header
3 // (c) 2016-2017 Xestia Software Development.
5 // This file is part of Xestia Calendar.
7 // Xestia Calendar is free software: you can redistribute it and/or modify
8 // it under the terms of the GNU General Public License as published by the
9 // Free Software Foundation, version 3 of the license.
11 // Xestia Calendar is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 // GNU General Public License for more details.
16 // You should have received a copy of the GNU General Public License along
17 // with Xestia Calendar. If not, see <http://www.gnu.org/licenses/>
19 #ifndef __WIDGETS_XCCALENDARLISTACCOUNTCTRL_H__
20 #define __WIDGETS_XCCALENDARLISTACCOUNTCTRL_H__
29 #include "XCCalendarListCalendarCtrl.h"
31 class XCCalendarListAccountCtrl: public wxPanel{
34 wxBoxSizer *szrMain = nullptr;
35 wxCheckBox *chkShowAll = nullptr;
36 wxStaticText *lblAccountName = nullptr;
37 wxStaticBitmap *imgAccountIcon = nullptr;
39 std::vector<XCCalendarListCalendarCtrl*> calendarControlList;
41 int accountPreferencesID = 0;
42 AccountType accountType = ACCOUNTTYPE_UNKNOWN;
43 std::string accountName = "";
44 bool showAccounts = true;
46 void ShowAllCheckboxClick( wxMouseEvent &mouseEvent );
48 XCCalendarListAccountCtrl(wxWindow* parent, string accountName);
49 ~XCCalendarListAccountCtrl();
50 void AddCalendar(XCCalendarListCalendarCtrl *calendarControl);
51 wxCheckBoxState GetShowCheckboxState();
53 void SetAccountID(int accountID);
54 void SetAccountPreferencesID(int accountID);
55 void SetCheckBoxValue(wxCheckBoxState newValue);
56 std::vector<int> GetHiddenCalendarList();
58 DECLARE_EVENT_TABLE();