X-Git-Url: http://Server1/repobrowser/?a=blobdiff_plain;f=source%2Fwidgets%2FXCCalendarDay.cpp;h=bc8dc460b397ac63e03a5c9ffd875fbf32dc91a1;hb=285af7a588967bcc5c4565125c37f5f296040556;hp=edc08562cf9c0d6d66e84663e870502a6c2eaacf;hpb=17e07e01f44e01a6da8dfa5f8782ca9962f787c9;p=xestiacalendar%2F.git diff --git a/source/widgets/XCCalendarDay.cpp b/source/widgets/XCCalendarDay.cpp index edc0856..bc8dc46 100644 --- a/source/widgets/XCCalendarDay.cpp +++ b/source/widgets/XCCalendarDay.cpp @@ -23,21 +23,29 @@ using namespace std; BEGIN_EVENT_TABLE(XCCalendarDay, wxPanel) EVT_PAINT(XCCalendarDay::PaintFrameEvent) EVT_SIZE(XCCalendarDay::ResizeFrameEvent) -//EVT_COMMAND(wxID_ANY, XCCALENDARDAY_DESELECTOTHERENTRIES, XCCalendarDay::DeselectOthersEvent) END_EVENT_TABLE() XCCalendarDay::XCCalendarDay(wxWindow *parent, const wxString& title, const wxPoint& pos, const wxSize& size) : wxPanel(parent, wxID_ANY, pos, size, wxTAB_TRAVERSAL, title){ Connect(wxID_ANY, XCCALENDARDAY_DESELECTOTHERENTRIES, wxCommandEventHandler(XCCalendarDay::DeselectOthersEvent)); - + Connect(ID_DESELECTALLITEMS, XCCALENDARDAY_DESELECTALLENTRIES, wxCommandEventHandler(XCCalendarDay::DeselectAllEvent)); + this->SetMinSize( wxSize( 100,100 ) ); - AlertIconBitmap.LoadFile("AlertIcon-32.png", wxBITMAP_DEFAULT_TYPE); - PriorityIconBitmap.LoadFile("PriorityIcon-32.png", wxBITMAP_DEFAULT_TYPE); + // Setip the icons. + + wxMemoryInputStream alerticon(icons_alert32_png, sizeof(icons_alert32_png)); + wxMemoryInputStream priorityicon(icons_priority32_png, sizeof(icons_priority32_png)); - AlertIcon->SetBitmap(AlertIconBitmap); - HighPriorityIcon->SetBitmap(PriorityIconBitmap); + wxImage icons_alert_png(alerticon, wxBITMAP_TYPE_PNG); + wxBitmap imgAlertIcon(icons_alert_png, -1); + + wxImage icons_priority_png(priorityicon, wxBITMAP_TYPE_PNG); + wxBitmap imgPriorityIcon(icons_priority_png, -1); + + AlertIcon->SetBitmap(imgAlertIcon); + HighPriorityIcon->SetBitmap(imgPriorityIcon); WindowSizer->AddGrowableCol(0); WindowSizer->AddGrowableRow(1); @@ -58,7 +66,7 @@ XCCalendarDay::XCCalendarDay(wxWindow *parent, const wxString& title, const wxPo EventColour.red = 40; EventColour.green = 80; EventColour.blue = 80; EventListFrame->SetSizer(EventListFrameSizer); - CalendarEntry1->SetColour(&EventColour); + /*CalendarEntry1->SetColour(&EventColour); CalendarEntry1->SetDisplayAlarm(false); CalendarEntry1->SetDisplayHighPriority(false); EventListFrameSizer->Add(CalendarEntry1, 0, wxEXPAND, 5); @@ -95,7 +103,7 @@ XCCalendarDay::XCCalendarDay(wxWindow *parent, const wxString& title, const wxPo EventListFrameSizer->Add(0, 5, 0, 0, 5); EventListFrameSizer->Add(CalendarEntry9, 0, wxEXPAND, 5); EventListFrameSizer->Add(0, 5, 0, 0, 5); - EventListFrameSizer->Add(CalendarEntry10, 0, wxEXPAND, 5); + EventListFrameSizer->Add(CalendarEntry10, 0, wxEXPAND, 5);*/ EventListFrame->SetScrollRate(0,1); //EventListFrameSizer->FitInside(EventListFrame); @@ -115,7 +123,7 @@ XCCalendarDay::XCCalendarDay(wxWindow *parent, const wxString& title, const wxPo this->SetBackgroundStyle(wxBG_STYLE_PAINT); this->Centre(wxBOTH); - CalendarEntryList.push_back(CalendarEntry1); + /*CalendarEntryList.push_back(CalendarEntry1); CalendarEntryList.push_back(CalendarEntry2); CalendarEntryList.push_back(CalendarEntry3); CalendarEntryList.push_back(CalendarEntry4); @@ -124,7 +132,7 @@ XCCalendarDay::XCCalendarDay(wxWindow *parent, const wxString& title, const wxPo CalendarEntryList.push_back(CalendarEntry7); CalendarEntryList.push_back(CalendarEntry8); CalendarEntryList.push_back(CalendarEntry9); - CalendarEntryList.push_back(CalendarEntry10); + CalendarEntryList.push_back(CalendarEntry10);*/ UpdateTopIcons(); @@ -249,9 +257,36 @@ void XCCalendarDay::DeselectOthersEvent(wxCommandEvent &DeselectEvent) } + // Send event notification to deselect the other calendar entries. + + if (this->MonthViewPointer != nullptr){ + + wxCommandEvent DeselectEvent(XCCALENDARMONTH_DESELECTOTHERENTRIES); + DeselectEvent.SetClientData(this); + DeselectEvent.SetId(ID_MONTHVIEWCLEARSELECTION); + wxPostEvent(this->MonthViewPointer, DeselectEvent); + + } + +} + +void XCCalendarDay::DeselectAllEvent(wxCommandEvent &DeselectEvent) +{ + + int SelectedEntryID = DeselectEvent.GetInt(); + + wxCommandEvent DeselectEntryEvent(XCCALENDARDAYENTRY_DESELECT); + + for (vector::iterator EntryIter = CalendarEntryList.begin(); + EntryIter != CalendarEntryList.end(); EntryIter++){ + + wxPostEvent((*EntryIter), DeselectEntryEvent); + + } + } -void XCCalendarDay::SetupControl(int SetupDay, int SetupMonth, int SetupYear, bool SetupIsInMonth) +void XCCalendarDay::SetupControl(int SetupDay, int SetupMonth, int SetupYear, bool SetupIsInMonth, XCCalendarMonthView *MonthViewPointer) { // Set the day @@ -266,4 +301,8 @@ void XCCalendarDay::SetupControl(int SetupDay, int SetupMonth, int SetupYear, bo IsInMonth = SetupIsInMonth; + // Setup the month view pointer. + + this->MonthViewPointer = MonthViewPointer; + } \ No newline at end of file