X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ab473127c64c9e20c3401bd8f0e173953c049d45..6bd719f16c64ac2757a40782b709d30e810d2eff:/include/wx/generic/calctrl.h diff --git a/include/wx/generic/calctrl.h b/include/wx/generic/calctrl.h index cb10d1019b..25b5902d70 100644 --- a/include/wx/generic/calctrl.h +++ b/include/wx/generic/calctrl.h @@ -9,10 +9,6 @@ // Licence: wxWindows licence /////////////////////////////////////////////////////////////////////////////// -#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) - #pragma interface "calctrl.h" -#endif - #ifndef _WX_GENERIC_CALCTRL_H #define _WX_GENERIC_CALCTRL_H @@ -31,9 +27,6 @@ class WXDLLEXPORT wxSpinCtrl; class WXDLLIMPEXP_ADV wxCalendarCtrl : public wxControl { -friend class wxMonthComboBox; -friend class wxYearSpinCtrl; - public: // construction wxCalendarCtrl() { Init(); } @@ -168,10 +161,23 @@ public: static wxVisualAttributes GetClassDefaultAttributes(wxWindowVariant variant = wxWINDOW_VARIANT_NORMAL); + void OnSysColourChanged(wxSysColourChangedEvent& event); + +protected: + // override some base class virtuals + virtual wxSize DoGetBestSize() const; + virtual void DoGetPosition(int *x, int *y) const; + virtual void DoGetSize(int *width, int *height) const; + virtual void DoSetSize(int x, int y, int width, int height, int sizeFlags); + virtual void DoMoveWindow(int x, int y, int width, int height); + private: // common part of all ctors void Init(); + // startup colours and reinitialization after colour changes in system + void InitColours(); + // event handlers void OnPaint(wxPaintEvent& event); void OnClick(wxMouseEvent& event); @@ -179,13 +185,7 @@ private: void OnChar(wxKeyEvent& event); void OnMonthChange(wxCommandEvent& event); void OnYearChange(wxCommandEvent& event); - - // override some base class virtuals - virtual wxSize DoGetBestSize() const; - virtual void DoGetPosition(int *x, int *y) const; - virtual void DoGetSize(int *width, int *height) const; - virtual void DoSetSize(int x, int y, int width, int height, int sizeFlags); - virtual void DoMoveWindow(int x, int y, int width, int height); + void OnYearTextChange(wxCommandEvent& event); // (re)calc m_widthCol and m_heightRow void RecalcGeometry(); @@ -248,6 +248,10 @@ private: // show the correct controls void ShowCurrentControls(); + // create the month combo and year spin controls + void CreateMonthComboBox(); + void CreateYearSpinCtrl(); + public: // get the currently shown control for month/year wxControl *GetMonthControl() const; @@ -257,7 +261,7 @@ private: // OnPaint helper-methods // Highlight the [fromdate : todate] range using pen and brush - void HighlightRange(wxPaintDC* dc, const wxDateTime& fromdate, const wxDateTime& todate, wxPen* pen, wxBrush* brush); + void HighlightRange(wxPaintDC* dc, const wxDateTime& fromdate, const wxDateTime& todate, const wxPen* pen, const wxBrush* brush); // Get the "coordinates" for the date relative to the month currently displayed. // using (day, week): upper left coord is (1, 1), lower right coord is (7, 6) @@ -288,7 +292,9 @@ private: m_colHolidayFg, m_colHolidayBg, m_colHeaderFg, - m_colHeaderBg; + m_colHeaderBg, + m_colBackground, + m_colSorrounding; // the attributes for each of the month days wxCalendarDateAttr *m_attrs[31];