X-Git-Url: http://Server1/repobrowser/?p=xestiacalendar%2F.git;a=blobdiff_plain;f=source%2Fwidgets%2FXCCalendarMonthView.h;h=35e2054b517fb79370c78f5f66b49822c3efaa89;hp=3a91fd8b061ae6dc31f2eaed7ebe2b74b9070fea;hb=902d948e5e45ad483c8e235690dda8f2bf596ad5;hpb=12c1ca8d2877104bd61b02ae72ef32314afeaa51 diff --git a/source/widgets/XCCalendarMonthView.h b/source/widgets/XCCalendarMonthView.h index 3a91fd8..35e2054 100644 --- a/source/widgets/XCCalendarMonthView.h +++ b/source/widgets/XCCalendarMonthView.h @@ -1,14 +1,14 @@ // XCCalendarDayEntry.cpp - Xestia Calendar XCCalendarMonthView widget class. // -// (c) 2016 Xestia Software Development. +// (c) 2016-2017 Xestia Software Development. // // This file is part of Xestia Calendar. // -// Xestia Address Book is free software: you can redistribute it and/or modify +// 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 Address Book is distributed in the hope that it will be useful, +// 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. @@ -22,16 +22,18 @@ #include #include -#include "../common/colour.h" -#include "../common/text.h" -#include "../common/events.h" -#include "../common/monthviewgen.h" +#include "colour.h" +#include "text.h" +#include "events.h" +#include "monthviewgen.h" +#include "structs.h" #include "../libraries/CalendarDataStorage/CalendarDataStorage.h" #include "XCCalendarMonthView.h" #include "XCCalendarMonthViewDayTitle.h" #include "XCCalendarDay.h" +#include "XCEventMenu.h" class XCCalendarDay; @@ -39,29 +41,38 @@ class XCCalendarMonthView: public wxPanel { private: - wxFlexGridSizer *WindowSizer = new wxFlexGridSizer(0, 7, 1, 1); - vector CalendarDayList; - wxStaticText *NumberText = nullptr; - XCCalendarMonthViewDayTitle *MondayText = nullptr; - XCCalendarMonthViewDayTitle *TuesdayText = nullptr; - XCCalendarMonthViewDayTitle *WednesdayText = nullptr; - XCCalendarMonthViewDayTitle *ThursdayText = nullptr; - XCCalendarMonthViewDayTitle *FridayText = nullptr; - XCCalendarMonthViewDayTitle *SaturdayText = nullptr; - XCCalendarMonthViewDayTitle *SundayText = nullptr; + wxFlexGridSizer *windowSizer = new wxFlexGridSizer(0, 7, 1, 1); + vector calendarDayList; + XCCalendarMonthViewDayTitle *mondayText = nullptr; + XCCalendarMonthViewDayTitle *tuesdayText = nullptr; + XCCalendarMonthViewDayTitle *wednesdayText = nullptr; + XCCalendarMonthViewDayTitle *thursdayText = nullptr; + XCCalendarMonthViewDayTitle *fridayText = nullptr; + XCCalendarMonthViewDayTitle *saturdayText = nullptr; + XCCalendarMonthViewDayTitle *sundayText = nullptr; + XCEventMenu *eventMenu = nullptr; CalendarDataStorage *calendarStorage = nullptr; - void ProcessGrid(XCCalendarMonthViewGrid *grid); + + void ProcessGrid(XCCalendarMonthViewGrid *grid, std::vector *hideAccounts, std::vector *hideCalendars); - void Repaint(); + protected: + void HideAccountEntries(wxCommandEvent &accountData); + void ShowAccountEntries(wxCommandEvent &accountData); + void HideCalendarEntries(wxCommandEvent &calendarData); + void ShowCalendarEntries(wxCommandEvent &calendarData); + void DeleteCalendarEntries(wxCommandEvent &calendarData); + void DeleteCalendarEntry(wxCommandEvent &eventData); + void AddCalendarEntry(wxCommandEvent &eventData); + void UpdateCalendarEntry(wxCommandEvent &eventData); + void UpdateCalendarColour(wxCommandEvent &colourData); + void ShowEventMenu(wxCommandEvent &eventData); public: - XCCalendarMonthView(wxWindow *parent, const wxString& title, const wxPoint& pos, const wxSize& size, XCCalendarMonthViewGrid *grid, CalendarDataStorage *dataStorage); - XCCalendarMonthView(XCCalendarMonthViewGrid *grid, CalendarDataStorage *dataStorage); + XCCalendarMonthView(wxWindow *parent, const wxString& title, const wxPoint& pos, const wxSize& size, XCCalendarMonthViewGrid *grid, CalendarDataStorage *dataStorage, std::vector *hideAccounts, std::vector *hideCalendars); ~XCCalendarMonthView(); - - void PaintFrameEvent(wxPaintEvent &PaintEvent); - void ResizeFrameEvent(wxSizeEvent &SizeEvent); - void DeselectOthersEvent(wxCommandEvent &DeselectEvent); + + void ResizeFrameEvent(wxSizeEvent &sizeEvent); + void DeselectOthersEvent(wxCommandEvent &deselectEvent); DECLARE_EVENT_TABLE()