Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
widgets: Cleanup objects in destructors and minor code cleanup
[xestiacalendar/.git] / source / widgets / XCCalendarDayEntry.h
index de30c90..823a44c 100644 (file)
@@ -1,14 +1,14 @@
 // XCCalendarDayEntry.h - Xestia Calendar XCCalendarDayEntry 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.
 #define __WIDGETS_XCCALENDARDAYENTRY_H__
 
 #include <wx/wx.h>
+#include <wx/mstream.h>
+
 #include "../common/colour.h"
 #include "../common/text.h"
 #include "../common/events.h"
+#include "../bitmaps.h"
+
+#include "structs.h"
 
 enum XCCalendarDayEntryMode {
        XCCALENDARDAYENTRY_NORMAL,
@@ -33,44 +38,73 @@ class XCCalendarDayEntry: public wxPanel
 {
        
        private:
-               wxWindow *DayPanel = nullptr;
-               string EventTextData = "";
-               wxStaticText *EventText = nullptr;
-               wxStaticBitmap *HighPriorityIcon = new wxStaticBitmap( this, wxID_ANY, wxNullBitmap, wxPoint(14,7), wxDefaultSize, 0 );
-               wxStaticBitmap *AlarmIcon = new wxStaticBitmap( this, wxID_ANY, wxNullBitmap, wxPoint(30,7), wxDefaultSize, 0 );
-               wxBitmap AlarmIconBitmap;
-               wxBitmap PriorityIconBitmap;
+               wxWindow *dayPanel = nullptr;
+               wxPanel *mainPanel = nullptr;
+               wxPanel *borderPanel = nullptr;
+               wxPanel *calendarColour = nullptr;
+               string eventTextData = "";
+               wxStaticText *eventTime = nullptr;
+               wxStaticText *eventText = nullptr;
+               wxStaticBitmap *highPriorityIcon = new wxStaticBitmap( this, wxID_ANY, wxNullBitmap, wxPoint(14,7), wxDefaultSize, 0 );
+               wxStaticBitmap *alarmIcon = new wxStaticBitmap( this, wxID_ANY, wxNullBitmap, wxPoint(30,7), wxDefaultSize, 0 );
+               wxBoxSizer *mainSizer = nullptr;
+               wxSizerItem *afterSpacer = nullptr;
+               wxBitmap alarmIconBitmap;
+               wxBitmap priorityIconBitmap;
+       
+               Colour entryColour;
+       
+               int timeHour = 0;
+               int timeMinute = 0;
+               int timeSecond = 0;
        
-               Colour EntryColour;
+               bool hasAlarm = false;
+               bool hasHighPriority = false;
+               int positionMode = 0;
        
-               bool HasAlarm = false;
-               bool HasHighPriority = false;
-               int PositionMode = 0;
-               int EntryID = 0;
-               const int FirstPosition = 14;
-               const int SecondPosition = 30;
-               const int ThirdPosition = 49;
+               int eventID = 0;
+               int accountID = 0;
+               int calendarID =0;
+               bool showAccount = true;
+               bool showCalendar = true;
        
-               void Repaint();
-               void RepaintSelected();
+               const int firstPosition = 14;
+               const int secondPosition = 30;
+               const int thirdPosition = 49;
        
                void UpdateInformation();
+               
+               string BuildEventTime(int timeHour, int timeMinute);
+       
+       protected:
+               void LeftClick(wxMouseEvent &MouseEvent);
+               void RightClick(wxMouseEvent &MouseEvent);
        
        public:
                XCCalendarDayEntry(wxWindow* parent, const wxString& title, const wxPoint& pos, const wxSize& size, const int id);
                ~XCCalendarDayEntry();
        
-               void PaintFrameEvent(wxPaintEvent &PaintEvent);
-               void ResizeFrameEvent(wxSizeEvent &SizeEvent);
-               void LeftClick(wxMouseEvent &MouseEvent);
-               void Deselect(wxCommandEvent &DeselectEvent);
+               void ResizeFrameEvent(wxSizeEvent &sizeEvent);
+               void Deselect(wxCommandEvent &deselectEvent);
        
-               void SetColour(Colour *ColourIn);
-               void SetDisplayAlarm(bool DisplayValue);
-               void SetDisplayHighPriority(bool DisplayValue);
+               void SetTime(int timeHour, int timeMinute, int timeSecond);
+               void SetColour(Colour *colourIn);
+               void SetDisplayAlarm(bool displayValue);
+               void SetDisplayHighPriority(bool displayValue);
+               void SetEntryIDs(int accountID, int calendarID, int eventID);
+               void SetAfterSpacer(wxSizerItem *afterSpacer);
+               void SetEventName(std::string eventName);
                int GetID();
+               int GetCalendarID();
+               int GetEventID();
+               int GetAccountID();
+               wxSizerItem* GetAfterSpacer();
                bool GetDisplayAlarm();
                bool GetDisplayHighPriority();
+               void SetShowAccountStatus(bool statusInput);
+               void SetShowCalendarStatus(bool statusInput);
+               bool GetShowAccountStatus();
+               bool GetShowCalendarStatus();
        
        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