// Purpose: interface of wxCalendarCtrl
// Author: wxWidgets team
// RCS-ID: $Id$
-// Licence: wxWindows license
+// 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);
};
/**
This function should be used instead of changing
@c wxCAL_NO_MONTH_CHANGE style bit. It allows or disallows the user to
- change the month interactively. Note that if the month can not be
- changed, the year can not be changed neither.
+ change the month interactively. Note that if the month cannot be
+ changed, the year cannot be changed neither.
@return @true if the value of this option really changed or @false if
it was already set to the requested value.
/**
Sets the current date.
- The @a date parameter must be valid.
+ The @a date parameter must be valid and in the currently valid range as
+ set by SetDateRange(), otherwise the current date is not changed and
+ the function returns @false.
*/
virtual bool SetDate(const wxDateTime& date);
/**
@name Date Range Functions
-
- The functions in this section are currently implemented in the generic
- and MSW versions and do nothing in the native GTK implementation.
*/
//@{
/**
- Restrict the dates shown by the control to the specified range.
+ Restrict the dates that can be selected in the control to the specified
+ range.
If either date is set, the corresponding limit will be enforced and
@true returned. If none are set, the existing restrictions are removed