// 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