// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
+enum
+{
+ // show Sunday as the first day of the week (default)
+ wxCAL_SUNDAY_FIRST = 0x0000,
+
+ // show Monday 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
+ // deprecated
+ 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,
+
+ // show week numbers on the left side of the calendar.
+ wxCAL_SHOW_WEEK_NUMBERS = 0x0040
+};
+
+
/**
@class wxCalendarEvent
class wxCalendarEvent : public wxDateEvent
{
public:
+ wxCalendarEvent();
+ wxCalendarEvent(wxWindow *win, const wxDateTime& dt, wxEventType type);
+
/**
Returns the week day on which the user clicked in
@c EVT_CALENDAR_WEEKDAY_CLICKED handler. It doesn't make sense to call
void SetWeekDay(const wxDateTime::WeekDay day);
};
+wxEventType wxEVT_CALENDAR_SEL_CHANGED;
+wxEventType wxEVT_CALENDAR_PAGE_CHANGED;
+wxEventType wxEVT_CALENDAR_DOUBLECLICKED;
+wxEventType wxEVT_CALENDAR_WEEKDAY_CLICKED;
+wxEventType wxEVT_CALENDAR_WEEK_CLICKED;
+
/**
Set the attributes that will be used to Mark() days on the generic
wxCalendarCtrl.
*/
- static void SetMark(wxCalendarDateAttr const& m);
+ static void SetMark(const wxCalendarDateAttr& m);
};
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
+/// wxDatePickerCtrl styles
+enum
+{
+ /// default style on this platform, either wxDP_SPIN or wxDP_DROPDOWN
+ wxDP_DEFAULT = 0,
+
+ /// a spin control-like date picker (not supported in generic version)
+ wxDP_SPIN = 1,
+
+ /// a combobox-like date picker (not supported in mac version)
+ wxDP_DROPDOWN = 2,
+
+ /// always show century in the default date display (otherwise it depends on
+ /// the system date format which may include the century or not)
+ wxDP_SHOWCENTURY = 4,
+
+ /// allow not having any valid date in the control (by default it always has
+ /// some date, today initially if no valid date specified in ctor)
+ wxDP_ALLOWNONE = 8
+};
+
+
/**
@class wxDatePickerCtrl
class wxDatePickerCtrl : public wxControl
{
public:
+ /**
+ Default constructor.
+ */
+ wxDatePickerCtrl();
+
/**
Initializes the object and calls Create() with all the parameters.
*/
@return @false if no range limits are currently set, @true if at least
one bound is set.
*/
- virtual bool GetRange(wxDateTime* dt1, wxDateTime* dt2) const = 0;
+ virtual bool GetRange(wxDateTime* dt1, wxDateTime* dt2) const;
/**
Returns the currently entered date.
For a control with @c wxDP_ALLOWNONE style the returned value may be
invalid if no date is entered, otherwise it is always valid.
*/
- virtual wxDateTime GetValue() const = 0;
+ virtual wxDateTime GetValue() const;
/**
Sets the valid range for the date selection. If @a dt1 is valid, it
@remarks If the current value of the control is outside of the newly
set range bounds, the behaviour is undefined.
*/
- virtual void SetRange(const wxDateTime& dt1, const wxDateTime& dt2) = 0;
+ virtual void SetRange(const wxDateTime& dt1, const wxDateTime& dt2);
/**
Changes the current value of the control.
Calling this method does not result in a date change event.
*/
- virtual void SetValue(const wxDateTime& dt) = 0;
+ virtual void SetValue(const wxDateTime& dt);
};
class wxDateEvent : public wxCommandEvent
{
public:
+ wxDateEvent();
+ wxDateEvent(wxWindow *win, const wxDateTime& dt, wxEventType type);
+
/**
Returns the date.
*/
void SetDate(const wxDateTime& date);
};
+wxEventType wxEVT_DATE_CHANGED;
+wxEventType wxEVT_TIME_CHANGED;