X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/db0b0942f8fe016db35fa00d6f2c5225cb61e529..da8b1d4b3b535aba94d04494f5b6e2b3e47901ee:/include/wx/msw/calctrl.h diff --git a/include/wx/msw/calctrl.h b/include/wx/msw/calctrl.h index 5f752cb1c0..28384e212f 100644 --- a/include/wx/msw/calctrl.h +++ b/include/wx/msw/calctrl.h @@ -45,6 +45,7 @@ public: virtual bool EnableMonthChange(bool enable = true); virtual void Mark(size_t day, bool mark); + virtual void SetHoliday(size_t day); virtual wxCalendarHitTestResult HitTest(const wxPoint& pos, wxDateTime *date = NULL, @@ -53,16 +54,17 @@ public: virtual void SetWindowStyleFlag(long style); protected: - virtual wxSize wxCalendarCtrl::DoGetBestSize() const; + virtual wxSize DoGetBestSize() const; virtual WXDWORD MSWGetStyle(long style, WXDWORD *exstyle) const; virtual bool MSWOnNotify(int idCtrl, WXLPARAM lParam, WXLPARAM *result); + void MSWOnClick(wxMouseEvent& event); void MSWOnDoubleClick(wxMouseEvent& event); private: - void Init() { m_marks = 0; } + void Init(); // bring the control in sync with m_marks void UpdateMarks(); @@ -71,6 +73,12 @@ private: // wxCAL_MONDAY_FIRST flag void UpdateFirstDayOfWeek(); + // reset holiday information + virtual void ResetHolidayAttrs() { m_holidays = 0; } + + // redisplay holidays + virtual void RefreshHolidays() { UpdateMarks(); } + // current date, we need to store it instead of simply retrieving it from // the control as needed in order to be able to generate the correct events @@ -80,9 +88,12 @@ private: // bit field containing the state (marked or not) of all days in the month wxUint32 m_marks; + // the same but indicating whether a day is a holiday or not + wxUint32 m_holidays; + DECLARE_DYNAMIC_CLASS(wxCalendarCtrl) - DECLARE_NO_COPY_CLASS(wxCalendarCtrl) + wxDECLARE_NO_COPY_CLASS(wxCalendarCtrl); }; #endif // _WX_MSW_CALCTRL_H_