Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
Updated/Added copyright header and licensing to all source files
[xestiacalendar/.git] / source / widgets / XCCalendarDay.h
index e1a884b..e38737e 100644 (file)
@@ -1,14 +1,14 @@
 // XCCalendarDay.h - Xestia Calendar XCCalendarDay widget class header file.
 //
-// (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 <wx/wx.h>
 #include <wx/dcbuffer.h>
+#include <wx/mstream.h>
 #include <vector>
+#include <memory>
 
 #include "XCCalendarDayEntry.h"
 #include "XCCalendarMonthView.h"
 #include "../common/events.h"
+#include "../bitmaps.h"
+
+#include "../libraries/CalendarDataStorage/CalendarDataStorage.h"
 
 class XCCalendarMonthView;
+
 class XCCalendarDay: public wxPanel
 {
        private:
+               XCCalendarMonthView *MonthViewPointer = nullptr;
                wxFlexGridSizer *WindowSizer = new wxFlexGridSizer(2, 1, 0, 0);
                wxBoxSizer *TopSectionSizer = new wxBoxSizer(wxHORIZONTAL);
                wxBoxSizer *MainSectionSizer = new wxBoxSizer(wxVERTICAL);
                wxBoxSizer *EventListFrameSizer = new wxBoxSizer(wxVERTICAL);
                wxStaticBitmap *HighPriorityIcon = new wxStaticBitmap(this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize(32,32), 0);
                wxStaticBitmap *AlertIcon = new wxStaticBitmap(this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize(32,32), 0);
+               CalendarDataStorage *dataStorage = nullptr;
                wxBitmap AlertIconBitmap;
                wxBitmap PriorityIconBitmap;
                wxStaticText *NumberText = nullptr;
                wxScrolledWindow *EventListFrame = new wxScrolledWindow(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxVSCROLL);
                int CalendarEntrySeekNumber = 0;
+               int calendarDay = 0;
+               int calendarMonth = 0;
+               int calendarYear = 0;
                bool IsInMonth = false;
        
                vector<XCCalendarDayEntry*> CalendarEntryList;
-               XCCalendarDayEntry *CalendarEntry1 = new XCCalendarDayEntry(EventListFrame, "Calendar Entry 1", wxDefaultPosition, wxDefaultSize, CalendarEntrySeekNumber++);
-               XCCalendarDayEntry *CalendarEntry2 = new XCCalendarDayEntry(EventListFrame, "Calendar Entry 2", wxDefaultPosition, wxDefaultSize, CalendarEntrySeekNumber++);
-               XCCalendarDayEntry *CalendarEntry3 = new XCCalendarDayEntry(EventListFrame, "Calendar Entry 3", wxDefaultPosition, wxDefaultSize, CalendarEntrySeekNumber++);
-               XCCalendarDayEntry *CalendarEntry4 = new XCCalendarDayEntry(EventListFrame, "Calendar Entry 4", wxDefaultPosition, wxDefaultSize, CalendarEntrySeekNumber++);
-               XCCalendarDayEntry *CalendarEntry5 = new XCCalendarDayEntry(EventListFrame, "Calendar Entry 5", wxDefaultPosition, wxDefaultSize, CalendarEntrySeekNumber++);
-               XCCalendarDayEntry *CalendarEntry6 = new XCCalendarDayEntry(EventListFrame, "Calendar Entry 6", wxDefaultPosition, wxDefaultSize, CalendarEntrySeekNumber++);
-               XCCalendarDayEntry *CalendarEntry7 = new XCCalendarDayEntry(EventListFrame, "Calendar Entry 7", wxDefaultPosition, wxDefaultSize, CalendarEntrySeekNumber++);
-               XCCalendarDayEntry *CalendarEntry8 = new XCCalendarDayEntry(EventListFrame, "Calendar Entry 8", wxDefaultPosition, wxDefaultSize, CalendarEntrySeekNumber++);
-               XCCalendarDayEntry *CalendarEntry9 = new XCCalendarDayEntry(EventListFrame, "Calendar Entry 9", wxDefaultPosition, wxDefaultSize, CalendarEntrySeekNumber++);
-               XCCalendarDayEntry *CalendarEntry10 = new XCCalendarDayEntry(EventListFrame, "Calendar Entry 10", wxDefaultPosition, wxDefaultSize, CalendarEntrySeekNumber++);
        
                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);
+       
        public:
                XCCalendarDay(wxWindow *parent, const wxString& title, const wxPoint& pos, const wxSize& size);
                ~XCCalendarDay();
                void PaintFrameEvent(wxPaintEvent &PaintEvent);
                void ResizeFrameEvent(wxSizeEvent &SizeEvent);
                void DeselectOthersEvent(wxCommandEvent &DeselectEvent);
+               void DeselectAllEvent(wxCommandEvent &DeselectEvent);
                void UpdateTopIcons();
-               void SetupControl(int SetupDay, int SetupMonth, int SetupYear, bool SetupIsInMonth, XCCalendarMonthView *MonthViewPointer);
+               void SetupControl(int SetupDay, int SetupMonth, int SetupYear, bool SetupIsInMonth, XCCalendarMonthView *MonthViewPointer, CalendarDataStorage *dataStorage, std::vector<int> *hideAccounts, std::vector<int> *hideCalendars);
+               int GetCalendarDay();
+               int GetCalendarMonth();
+               int GetCalendarYear();
        
        DECLARE_EVENT_TABLE()
+
 };
 
 #endif
\ No newline at end of file
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