X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/6d9b6716925a786d2455033ccb8775569001b631..f32eb96401af815f5662b715330802c2e6bfa452:/include/wx/calctrl.h diff --git a/include/wx/calctrl.h b/include/wx/calctrl.h index 344768b838..4cbf5720d9 100644 --- a/include/wx/calctrl.h +++ b/include/wx/calctrl.h @@ -30,7 +30,7 @@ enum // show Sunday as the first day of the week (default) wxCAL_SUNDAY_FIRST = 0x0000, - // show Monder as the first day of the week + // show Monday as the first day of the week wxCAL_MONDAY_FIRST = 0x0001, // highlight holidays @@ -66,7 +66,8 @@ enum wxCalendarHitTestResult wxCAL_HITTEST_DAY, // on a day in the calendar wxCAL_HITTEST_INCMONTH, wxCAL_HITTEST_DECMONTH, - wxCAL_HITTEST_SURROUNDING_WEEK + wxCAL_HITTEST_SURROUNDING_WEEK, + wxCAL_HITTEST_WEEK }; // border types for a date @@ -160,17 +161,19 @@ public: wxCalendarEvent() : m_wday(wxDateTime::Inv_WeekDay) { } wxCalendarEvent(wxWindow *win, const wxDateTime& dt, wxEventType type) : wxDateEvent(win, dt, type), - m_wday(wxDateTime::Inv_WeekDay) - { - } + m_wday(wxDateTime::Inv_WeekDay) { } + wxCalendarEvent(const wxCalendarEvent& event) + : wxDateEvent(event), m_wday(event.m_wday) { } void SetWeekDay(const wxDateTime::WeekDay wd) { m_wday = wd; } wxDateTime::WeekDay GetWeekDay() const { return m_wday; } + virtual wxEvent *Clone() const { return new wxCalendarEvent(*this); } + private: wxDateTime::WeekDay m_wday; - DECLARE_DYNAMIC_CLASS_NO_COPY(wxCalendarEvent) + DECLARE_DYNAMIC_CLASS_NO_ASSIGN(wxCalendarEvent) }; // ---------------------------------------------------------------------------- @@ -233,7 +236,7 @@ public: // // NB: we provide implementation for this pure virtual function, derived // classes should call it - virtual bool EnableMonthChange(bool enable) = 0; + virtual bool EnableMonthChange(bool enable = true) = 0; // an item without custom attributes is drawn with the default colours and @@ -358,20 +361,21 @@ protected: // calendar event types and macros for handling them // ---------------------------------------------------------------------------- -extern WXDLLIMPEXP_ADV const wxEventType wxEVT_CALENDAR_SEL_CHANGED; -extern WXDLLIMPEXP_ADV const wxEventType wxEVT_CALENDAR_PAGE_CHANGED; -extern WXDLLIMPEXP_ADV const wxEventType wxEVT_CALENDAR_DOUBLECLICKED; -extern WXDLLIMPEXP_ADV const wxEventType wxEVT_CALENDAR_WEEKDAY_CLICKED; +wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_ADV, wxEVT_CALENDAR_SEL_CHANGED, wxCalendarEvent ); +wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_ADV, wxEVT_CALENDAR_PAGE_CHANGED, wxCalendarEvent ); +wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_ADV, wxEVT_CALENDAR_DOUBLECLICKED, wxCalendarEvent ); +wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_ADV, wxEVT_CALENDAR_WEEKDAY_CLICKED, wxCalendarEvent ); +wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_ADV, wxEVT_CALENDAR_WEEK_CLICKED, wxCalendarEvent ); // deprecated events -extern WXDLLIMPEXP_ADV const wxEventType wxEVT_CALENDAR_DAY_CHANGED; -extern WXDLLIMPEXP_ADV const wxEventType wxEVT_CALENDAR_MONTH_CHANGED; -extern WXDLLIMPEXP_ADV const wxEventType wxEVT_CALENDAR_YEAR_CHANGED; +wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_ADV, wxEVT_CALENDAR_DAY_CHANGED, wxCalendarEvent ); +wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_ADV, wxEVT_CALENDAR_MONTH_CHANGED, wxCalendarEvent ); +wxDECLARE_EXPORTED_EVENT( WXDLLIMPEXP_ADV, wxEVT_CALENDAR_YEAR_CHANGED, wxCalendarEvent ); typedef void (wxEvtHandler::*wxCalendarEventFunction)(wxCalendarEvent&); #define wxCalendarEventHandler(func) \ - (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxCalendarEventFunction, &func) + wxEVENT_HANDLER_CAST(wxCalendarEventFunction, func) #define wx__DECLARE_CALEVT(evt, id, fn) \ wx__DECLARE_EVT1(wxEVT_CALENDAR_ ## evt, id, wxCalendarEventHandler(fn)) @@ -380,6 +384,7 @@ typedef void (wxEvtHandler::*wxCalendarEventFunction)(wxCalendarEvent&); #define EVT_CALENDAR_SEL_CHANGED(id, fn) wx__DECLARE_CALEVT(SEL_CHANGED, id, fn) #define EVT_CALENDAR_PAGE_CHANGED(id, fn) wx__DECLARE_CALEVT(PAGE_CHANGED, id, fn) #define EVT_CALENDAR_WEEKDAY_CLICKED(id, fn) wx__DECLARE_CALEVT(WEEKDAY_CLICKED, id, fn) +#define EVT_CALENDAR_WEEK_CLICKED(id, fn) wx__DECLARE_CALEVT(WEEK_CLICKED, id, fn) // deprecated events #define EVT_CALENDAR_DAY(id, fn) wx__DECLARE_CALEVT(DAY_CHANGED, id, fn)