X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b3ed70208bcae02080d48217b7e0165a7b21ffec..44c87b7d15d5c1f5926beffa4cd5c9d1d2045e04:/include/wx/calctrl.h diff --git a/include/wx/calctrl.h b/include/wx/calctrl.h index 4c51a9419f..e94354010e 100644 --- a/include/wx/calctrl.h +++ b/include/wx/calctrl.h @@ -48,7 +48,10 @@ enum wxCAL_SEQUENTIAL_MONTH_SELECTION = 0x0010, // show the neighbouring weeks in the previous and next month - wxCAL_SHOW_SURROUNDING_WEEKS = 0x0020 + wxCAL_SHOW_SURROUNDING_WEEKS = 0x0020, + + // show week numbers on the left side of the calendar. + wxCAL_SHOW_WEEK_NUMBERS = 0x0040 }; // ---------------------------------------------------------------------------- @@ -230,7 +233,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 @@ -256,12 +259,13 @@ public: // holidays support // - // currently all functions in this section are implemented in the generic - // version of the control only and are simply ignored by native ones + // currently only the generic version implements all functions in this + // section; wxMSW implements simple support for holidays (they can be + // just enabled or disabled) and wxGTK doesn't support them at all // equivalent to changing wxCAL_SHOW_HOLIDAYS flag but should be called // instead of just changing it - virtual void EnableHolidayDisplay(bool WXUNUSED(display) = true) { } + virtual void EnableHolidayDisplay(bool display = true); // set/get the colours to use for holidays (if they're enabled) virtual void SetHolidayColours(const wxColour& WXUNUSED(colFg), @@ -297,18 +301,35 @@ public: // implementation only from now on -protected: // generate the given calendar event, return true if it was processed + // + // NB: this is public because it's used from GTK+ callbacks bool GenerateEvent(wxEventType type) { wxCalendarEvent event(this, GetDate(), type); return HandleWindowEvent(event); } +protected: // generate all the events for the selection change from dateOld to current // date: SEL_CHANGED, PAGE_CHANGED if necessary and also one of (deprecated) // YEAR/MONTH/DAY_CHANGED ones - void GenerateAllChangeEvents(const wxDateTime& dateOld); + // + // returns true if page changed event was generated, false if the new date + // is still in the same month as before + bool GenerateAllChangeEvents(const wxDateTime& dateOld); + + // call SetHoliday() for all holidays in the current month + // + // should be called on month change, does nothing if wxCAL_SHOW_HOLIDAYS is + // not set and returns false in this case, true if we do show them + bool SetHolidayAttrs(); + + // called by SetHolidayAttrs() to forget the previously set holidays + virtual void ResetHolidayAttrs() { } + + // called by EnableHolidayDisplay() + virtual void RefreshHolidays() { } }; // ----------------------------------------------------------------------------