// XCCalendarListAccountCtrl.h - XCCalendarListAccountCtrl class header
//
// (c) 2016 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