X-Git-Url: http://Server1/repobrowser/?a=blobdiff_plain;f=source%2Fwidgets%2FXCCalendarManipulator.cpp;h=7acf19da90abf5250096634da02d994bff9ce7a9;hb=199d3db9eace9bd456e0c633e33e8df97dc0716a;hp=95d20457516fd3c9db9cfd0147993a7d2263ea96;hpb=1e27ad4d0a3825dc9d270848469bfc82a5d33607;p=xestiacalendar%2F.git diff --git a/source/widgets/XCCalendarManipulator.cpp b/source/widgets/XCCalendarManipulator.cpp index 95d2045..7acf19d 100644 --- a/source/widgets/XCCalendarManipulator.cpp +++ b/source/widgets/XCCalendarManipulator.cpp @@ -88,8 +88,12 @@ XCCalendarManipulator::XCCalendarManipulator(wxWindow* parent, const wxString& t // Setup the month selection control. wxDateTime dtNow = wxDateTime::Now(); - + +#if defined(WIN32) + moo = new frmCalendarSelectMonth(this); +#else moo = new XCCalendarMonthSelect(this); +#endif month = ((int)dtNow.GetMonth() + 1); year = dtNow.GetYear(); moo->UpdateDate(month, year); @@ -110,7 +114,20 @@ XCCalendarManipulator::XCCalendarManipulator(wxWindow* parent, const wxString& t calendarsButton->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(XCCalendarManipulator::ShowCalendarsList), NULL, this); previousButton->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(XCCalendarManipulator::PreviousMonth), NULL, this); +#if defined(WIN32) + dateButton->Connect(wxEVT_ENTER_WINDOW, wxMouseEventHandler(XCCalendarManipulator::ButtonMouseover), NULL, this); + dateButton->Connect(wxEVT_LEAVE_WINDOW, wxMouseEventHandler(XCCalendarManipulator::ButtonMouseout), NULL, this); + nextButton->Connect(wxEVT_ENTER_WINDOW, wxMouseEventHandler(XCCalendarManipulator::ButtonMouseover), NULL, this); + nextButton->Connect(wxEVT_LEAVE_WINDOW, wxMouseEventHandler(XCCalendarManipulator::ButtonMouseout), NULL, this); + calendarsButton->Connect(wxEVT_ENTER_WINDOW, wxMouseEventHandler(XCCalendarManipulator::ButtonMouseover), NULL, this); + calendarsButton->Connect(wxEVT_LEAVE_WINDOW, wxMouseEventHandler(XCCalendarManipulator::ButtonMouseout), NULL, this); + previousButton->Connect(wxEVT_ENTER_WINDOW, wxMouseEventHandler(XCCalendarManipulator::ButtonMouseover), NULL, this); + previousButton->Connect(wxEVT_LEAVE_WINDOW, wxMouseEventHandler(XCCalendarManipulator::ButtonMouseout), NULL, this); +#endif + Bind(XCCALENDARMANIPULATOR_CHANGEGRID, &XCCalendarManipulator::ChangeGrid, this, ID_CHANGEGRID); + + this->Refresh(); } XCCalendarManipulator::~XCCalendarManipulator(){ @@ -123,10 +140,16 @@ void XCCalendarManipulator::DateTextClick(wxCommandEvent &event){ // Bring up a popup control to select the month and year. + // TODO: Do something different for Win32. + moo->SetPosition(wxPoint(dateButton->GetScreenRect().GetLeft(), dateButton->GetScreenRect().GetBottom())); moo->UpdateDate(month, year); +#if defined(WIN32) + moo->ShowModal(); +#else moo->Popup(); - +#endif + } void XCCalendarManipulator::ChangeGrid(wxCommandEvent &event){ @@ -298,4 +321,16 @@ vector XCCalendarManipulator::GetHiddenCalendarsList(){ return calendarList->GetHiddenCalendarsList(); +} + +void XCCalendarManipulator::ButtonMouseover(wxMouseEvent &event) +{ + wxWindow *eventObject = (wxWindow*)event.GetEventObject(); + eventObject->SetWindowStyle(0 | wxSIMPLE_BORDER); +} + +void XCCalendarManipulator::ButtonMouseout(wxMouseEvent &event) +{ + wxWindow *eventObject = (wxWindow*)event.GetEventObject(); + eventObject->SetWindowStyle(0 | wxNO_BORDER); } \ No newline at end of file