Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
widgets: Cleanup objects in destructors and minor code cleanup
[xestiacalendar/.git] / source / widgets / XCCalendarMonthView.h
index 62b986b..35e2054 100644 (file)
@@ -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.
 #include <vector>
 #include <wx/wx.h>
 
-#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<XCCalendarDay*> 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<XCCalendarDay*> 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<int> *hideAccounts, std::vector<int> *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<int> *hideAccounts, std::vector<int> *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()
        
Xestia Software Development
Yn Maystri
© 2006 - 2019 Xestia Software Development
Software

Xestia Address Book
Xestia Calendar
Development

Xestia Gelforn
Everything else

About
News
Privacy Policy