// XCCalendarManipulator.h - Xestia Calendar XCCalendarManipulator header file. // // (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_XCCALENDARMANIPULATOR_H__ #define __WIDGETS_XCCALENDARMANIPULATOR_H__ #include #include #include #include #include #include "events.h" #if defined(WIN32) || defined(__APPLE__) #include "../forms/calendarselectmonth/frmCalendarSelectMonth.h" #else #include "XCCalendarMonthSelect.h" #endif #include "XCCalendarList.h" #include "../bitmaps.h" #include "../libraries/CalendarDataStorage/CalendarDataStorage.h" class XCCalendarManipulator: public wxPanel { private: wxBoxSizer *szrMain = nullptr; wxBoxSizer *szrNavigation = nullptr; wxPanel *pnlMain = nullptr; wxButton *previousButton = nullptr; wxButton *nextButton = nullptr; wxButton *calendarsButton = nullptr; wxButton *dateButton = nullptr; #if defined(WIN32) || defined(__APPLE__) frmCalendarSelectMonth *moo = nullptr; #else XCCalendarMonthSelect *moo = nullptr; #endif XCCalendarList *calendarList = nullptr; CalendarDataStorage *dataStorage = nullptr; int month = 0; int year = 2016; wxBitmap nextIconBitmap; wxBitmap previousIconBitmap; wxBitmap calendarsIconBitmap; #if defined(__APPLE__) bool calendarListShow = false; #endif void UpdateDateButtonText(); protected: void ButtonMouseover(wxMouseEvent &event); void ButtonMouseout(wxMouseEvent &event); void DateTextClick(wxCommandEvent &event); void ChangeGrid(wxCommandEvent &event); void NextMonth(wxCommandEvent &event); void PreviousMonth(wxCommandEvent &event); void ShowCalendarsList(wxCommandEvent &event); public: XCCalendarManipulator(wxWindow* parent, const wxString& title, const wxPoint& pos, const wxSize& size, CalendarDataStorage *dataStorage); ~XCCalendarManipulator(); int GetMonth(); int GetYear(); std::vector GetHiddenAccountsList(); std::vector GetHiddenCalendarsList(); }; #endif