wxCAL_SHOW_HOLIDAYS,
wxCAL_NO_YEAR_CHANGE,
wxCAL_NO_MONTH_CHANGE,
+ wxCAL_SEQUENTIAL_MONTH_SELECTION,
+ wxCAL_SHOW_SURROUNDING_WEEKS,
};
{
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
bool IsHoliday() const;
- const wxColour& GetTextColour() const;
- const wxColour& GetBackgroundColour() const;
- const wxColour& GetBorderColour() const;
- const wxFont& GetFont() const;
+ wxColour GetTextColour() const;
+ wxColour GetBackgroundColour() const;
+ wxColour GetBorderColour() const;
+ wxFont GetFont() const;
wxCalendarDateBorder GetBorder() const;
};
//---------------------------------------------------------------------------
+%{
+ // Put some wx default wxChar* values into wxStrings.
+ DECLARE_DEF_STRING(CalendarNameStr);
+%}
+
class wxCalendarCtrl : public wxControl
{
public:
const wxDateTime& date = wxDefaultDateTime,
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
- long style = wxCAL_SHOW_HOLIDAYS,
- const char* name = "calendar");
+ long style = wxCAL_SHOW_HOLIDAYS | wxWANTS_CHARS,
+ const wxString& name = wxPyCalendarNameStr);
+ %name(wxPreCalendarCtrl)wxCalendarCtrl();
+
+ bool Create(wxWindow *parent,
+ wxWindowID id,
+ const wxDateTime& date = wxDefaultDateTime,
+ const wxPoint& pos = wxDefaultPosition,
+ const wxSize& size = wxDefaultSize,
+ long style = wxCAL_SHOW_HOLIDAYS | wxWANTS_CHARS,
+ const wxString& name = wxPyCalendarNameStr);
+
+ %pragma(python) addtomethod = "__init__:self._setOORInfo(self)"
+ %pragma(python) addtomethod = "wxPreCalendarCtrl:val._setOORInfo(val)"
// set/get the current date
// ------------------------
void SetDate(const wxDateTime& date);
const wxDateTime& GetDate() const;
+ // set/get the range in which selection can occur
+ // ---------------------------------------------
+
+ bool SetLowerDateLimit(const wxDateTime& date = wxDefaultDateTime);
+ const wxDateTime& GetLowerDateLimit() const;
+ bool SetUpperDateLimit(const wxDateTime& date = wxDefaultDateTime);
+ const wxDateTime& GetUpperDateLimit() const;
+
+ bool SetDateRange(const wxDateTime& lowerdate = wxDefaultDateTime,
+ const wxDateTime& upperdate = wxDefaultDateTime);
+
+
// calendar mode
// -------------
// header colours are used for painting the weekdays at the top
void SetHeaderColours(const wxColour& colFg, const wxColour& colBg);
- const wxColour& GetHeaderColourFg() const;
- const wxColour& GetHeaderColourBg() const;
+ wxColour GetHeaderColourFg() const;
+ wxColour GetHeaderColourBg() const;
// highlight colour is used for the currently selected date
void SetHighlightColours(const wxColour& colFg, const wxColour& colBg);
- const wxColour& GetHighlightColourFg() const;
- const wxColour& GetHighlightColourBg() const;
+ wxColour GetHighlightColourFg() const;
+ wxColour GetHighlightColourBg() const;
// holiday colour is used for the holidays (if style & wxCAL_SHOW_HOLIDAYS)
void SetHolidayColours(const wxColour& colFg, const wxColour& colBg);
- const wxColour& GetHolidayColourFg() const;
- const wxColour& GetHolidayColourBg() const;
+ wxColour GetHolidayColourFg() const;
+ wxColour GetHolidayColourBg() const;
// an item without custom attributes is drawn with the default colours and
// font and without border, setting custom attributes allows to modify this
wxDateTime *date = NULL,
wxDateTime::WeekDay *wd = NULL);
+
+ bool Enable(bool enable = TRUE);
+ bool Show(bool show = TRUE);
+
};
//---------------------------------------------------------------------------
+
+%init %{
+ wxClassInfo::CleanUpClasses();
+ wxClassInfo::InitializeClasses();
+%}
+
//---------------------------------------------------------------------------
%pragma(python) include="_calextras.py";