X-Git-Url: http://Server1/repobrowser/?a=blobdiff_plain;f=source%2Fwidgets%2FXCCalendarMonthView.cpp;h=aa99d8b2d8c788309ca3acbd3c0dbf4a384a76de;hb=fb2c90465d0ac5d2d8c3657ddf99d47db5639e51;hp=9c23929647fa607a301b9038f81ba33de2d3a791;hpb=22376cba960ea152be96f7507a49159907394590;p=xestiacalendar%2F.git diff --git a/source/widgets/XCCalendarMonthView.cpp b/source/widgets/XCCalendarMonthView.cpp index 9c23929..aa99d8b 100644 --- a/source/widgets/XCCalendarMonthView.cpp +++ b/source/widgets/XCCalendarMonthView.cpp @@ -27,6 +27,8 @@ END_EVENT_TABLE() XCCalendarMonthView::XCCalendarMonthView(const wxString& title, const wxPoint& pos, const wxSize& size, XCCalendarMonthViewGrid *grid) : wxFrame(NULL, wxID_ANY, title, pos, size){ + Connect(ID_MONTHVIEWCLEARSELECTION, XCCALENDARMONTH_DESELECTOTHERENTRIES, wxCommandEventHandler(XCCalendarMonthView::DeselectOthersEvent)); + MondayText = new XCCalendarMonthViewDayTitle(this, _("Monday"), wxDefaultPosition, wxDefaultSize); TuesdayText = new XCCalendarMonthViewDayTitle(this, _("Tuesday"), wxDefaultPosition, wxDefaultSize); WednesdayText = new XCCalendarMonthViewDayTitle(this, _("Wednesday"), wxDefaultPosition, wxDefaultSize); @@ -95,7 +97,7 @@ void XCCalendarMonthView::ProcessGrid(XCCalendarMonthViewGrid *grid){ // Setup the control. - CalendarDayItem->SetupControl((*DayIter).Day, (*DayIter).Month, (*DayIter).Year, (*DayIter).IsInMonth); + CalendarDayItem->SetupControl((*DayIter).Day, (*DayIter).Month, (*DayIter).Year, (*DayIter).IsInMonth, this); CalendarDayList.push_back(CalendarDayItem); WindowSizer->Add(CalendarDayItem, 1, wxEXPAND, 5); @@ -129,4 +131,21 @@ void XCCalendarMonthView::ResizeFrameEvent(wxSizeEvent &SizeEvent){ this->Refresh(); +} + +void XCCalendarMonthView::DeselectOthersEvent(wxCommandEvent &DeselectEvent){ + + for (vector::iterator DayIter = CalendarDayList.begin(); + DayIter != CalendarDayList.end(); DayIter++){ + + if (DeselectEvent.GetClientData() != (void*)(*DayIter)){ + + wxCommandEvent DeselectEvent(XCCALENDARDAY_DESELECTALLENTRIES); + DeselectEvent.SetId(ID_DESELECTALLITEMS); + wxPostEvent((*DayIter), DeselectEvent); + + } + + } + } \ No newline at end of file