X-Git-Url: http://Server1/repobrowser/?p=xestiacalendar%2F.git;a=blobdiff_plain;f=source%2Fwidgets%2FXCCalendarMonthView.h;h=35e2054b517fb79370c78f5f66b49822c3efaa89;hp=62b986b9cc418f39fb99edc6328adf1ab3f4dd89;hb=902d948e5e45ad483c8e235690dda8f2bf596ad5;hpb=f1ecf412b80a5c25421595fde8f1e86131414f4c diff --git a/source/widgets/XCCalendarMonthView.h b/source/widgets/XCCalendarMonthView.h index 62b986b..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,14 +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; @@ -37,28 +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; - void ProcessGrid(XCCalendarMonthViewGrid *grid); + 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, 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); - XCCalendarMonthView(XCCalendarMonthViewGrid *grid); + 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()