// 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.
#include "../common/events.h"
#include "../bitmaps.h"
+#include "structs.h"
+
enum XCCalendarDayEntryMode {
XCCALENDARDAYENTRY_NORMAL,
XCCALENDARDAYENTRY_SMALL,
{
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;
+ wxBoxSizer *borderSizer = 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()
};