X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/1e6feb95a79834836e88143b15d9f424ebe79621..594ed110f77d9f29f7165a07bb806e5a4fa19b0e:/include/wx/calctrl.h?ds=inline diff --git a/include/wx/calctrl.h b/include/wx/calctrl.h index a26bc14328..cb12b7ef04 100644 --- a/include/wx/calctrl.h +++ b/include/wx/calctrl.h @@ -6,7 +6,7 @@ // Created: 29.12.99 // RCS-ID: $Id$ // Copyright: (c) 1999 Vadim Zeitlin -// Licence: wxWindows license +// Licence: wxWindows licence /////////////////////////////////////////////////////////////////////////////// /* @@ -24,6 +24,37 @@ #if wxUSE_CALENDARCTRL #include "wx/datetime.h" +#include "wx/colour.h" +#include "wx/font.h" + +// ---------------------------------------------------------------------------- +// wxCalendarCtrl flags +// ---------------------------------------------------------------------------- + +enum +{ + // show Sunday as the first day of the week (default) + wxCAL_SUNDAY_FIRST = 0x0000, + + // show Monder as the first day of the week + wxCAL_MONDAY_FIRST = 0x0001, + + // highlight holidays + wxCAL_SHOW_HOLIDAYS = 0x0002, + + // disable the year change control, show only the month change one + wxCAL_NO_YEAR_CHANGE = 0x0004, + + // don't allow changing neither month nor year (implies + // wxCAL_NO_YEAR_CHANGE) + wxCAL_NO_MONTH_CHANGE = 0x000c, + + // use MS-style month-selection instead of combo-spin combination + wxCAL_SEQUENTIAL_MONTH_SELECTION = 0x0010, + + // show the neighbouring weeks in the previous and next month + wxCAL_SHOW_SURROUNDING_WEEKS = 0x0020 +}; // ---------------------------------------------------------------------------- // constants @@ -34,7 +65,10 @@ enum wxCalendarHitTestResult { wxCAL_HITTEST_NOWHERE, // outside of anything wxCAL_HITTEST_HEADER, // on the header (weekdays) - wxCAL_HITTEST_DAY // on a day in the calendar + wxCAL_HITTEST_DAY, // on a day in the calendar + wxCAL_HITTEST_INCMONTH, + wxCAL_HITTEST_DECMONTH, + wxCAL_HITTEST_SURROUNDING_WEEK }; // border types for a date @@ -49,7 +83,7 @@ enum wxCalendarDateBorder // wxCalendarDateAttr: custom attributes for a calendar date // ---------------------------------------------------------------------------- -class WXDLLEXPORT wxCalendarDateAttr +class WXDLLIMPEXP_ADV wxCalendarDateAttr { #if !defined(__VISAGECPP__) protected: @@ -125,9 +159,9 @@ private: // wxCalendarCtrl events // ---------------------------------------------------------------------------- -class WXDLLEXPORT wxCalendarCtrl; +class WXDLLIMPEXP_ADV wxCalendarCtrl; -class WXDLLEXPORT wxCalendarEvent : public wxCommandEvent +class WXDLLIMPEXP_ADV wxCalendarEvent : public wxCommandEvent { friend class wxCalendarCtrl; public: @@ -135,6 +169,8 @@ public: wxCalendarEvent(wxCalendarCtrl *cal, wxEventType type); const wxDateTime& GetDate() const { return m_date; } + void SetDate(const wxDateTime &date) { m_date = date; } + void SetWeekDay(const wxDateTime::WeekDay wd) { m_wday = wd; } wxDateTime::WeekDay GetWeekDay() const { return m_wday; } protected: @@ -144,7 +180,7 @@ private: wxDateTime m_date; wxDateTime::WeekDay m_wday; - DECLARE_DYNAMIC_CLASS(wxCalendarEvent) + DECLARE_DYNAMIC_CLASS_NO_COPY(wxCalendarEvent) }; // ---------------------------------------------------------------------------- @@ -159,12 +195,12 @@ private: // ---------------------------------------------------------------------------- BEGIN_DECLARE_EVENT_TYPES() - DECLARE_EVENT_TYPE(wxEVT_CALENDAR_SEL_CHANGED, 950) - DECLARE_EVENT_TYPE(wxEVT_CALENDAR_DAY_CHANGED, 951) - DECLARE_EVENT_TYPE(wxEVT_CALENDAR_MONTH_CHANGED, 952) - DECLARE_EVENT_TYPE(wxEVT_CALENDAR_YEAR_CHANGED, 953) - DECLARE_EVENT_TYPE(wxEVT_CALENDAR_DOUBLECLICKED, 954) - DECLARE_EVENT_TYPE(wxEVT_CALENDAR_WEEKDAY_CLICKED, 955) + DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_ADV, wxEVT_CALENDAR_SEL_CHANGED, 950) + DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_ADV, wxEVT_CALENDAR_DAY_CHANGED, 951) + DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_ADV, wxEVT_CALENDAR_MONTH_CHANGED, 952) + DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_ADV, wxEVT_CALENDAR_YEAR_CHANGED, 953) + DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_ADV, wxEVT_CALENDAR_DOUBLECLICKED, 954) + DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_ADV, wxEVT_CALENDAR_WEEKDAY_CLICKED, 955) END_DECLARE_EVENT_TYPES() typedef void (wxEvtHandler::*wxCalendarEventFunction)(wxCalendarEvent&);