1 // XCCalendarListAccountCtrl.h - XCCalendarListAccountCtrl class header
3 // (c) 2016 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 AccountType accountType = ACCOUNTTYPE_UNKNOWN;
42 std::string accountName = "";
43 bool showAccounts = true;
45 void ShowAllCheckboxClick( wxMouseEvent &mouseEvent );
47 XCCalendarListAccountCtrl(wxWindow* parent, string accountName);
48 ~XCCalendarListAccountCtrl();
49 void AddCalendar(XCCalendarListCalendarCtrl *calendarControl);
50 wxCheckBoxState GetShowCheckboxState();
52 void SetAccountID(int accountID);
53 std::vector<int> GetHiddenCalendarList();
55 DECLARE_EVENT_TABLE();