X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c4c178c10d070e20d537f3d685a31115b3b2d4c9..0555b2a0a3c509687e7fc5aeb160f5171b7e6311:/include/wx/generic/statusbr.h diff --git a/include/wx/generic/statusbr.h b/include/wx/generic/statusbr.h index 8568f88cd4..a27eaf6dad 100644 --- a/include/wx/generic/statusbr.h +++ b/include/wx/generic/statusbr.h @@ -44,20 +44,9 @@ public: long style = wxSTB_DEFAULT_STYLE, const wxString& name = wxStatusBarNameStr); - // Create status line - virtual void SetFieldsCount(int number = 1, - const int *widths = (const int *) NULL); - - // Set status line text - virtual void SetStatusText(const wxString& text, int number = 0); - - // Set status line widths + // implement base class methods virtual void SetStatusWidths(int n, const int widths_field[]); - - // Get the position and size of the field's internal bounding rectangle virtual bool GetFieldRect(int i, wxRect& rect) const; - - // sets the minimal vertical size of the status bar virtual void SetMinHeight(int height); virtual int GetBorderX() const { return m_borderX; } @@ -68,8 +57,10 @@ public: int GetFieldFromPoint(const wxPoint& point) const; -protected: // event handlers +protected: + virtual void DoUpdateStatusText(int number); + // event handlers void OnPaint(wxPaintEvent& event); void OnSize(wxSizeEvent& event); @@ -90,7 +81,7 @@ protected: virtual void InitColours(); // true if the status bar shows the size grip: for this it must have - // wxSTB_SIZEGRIP style and the window it is attached to must be resizeable + // wxSTB_SIZEGRIP style and the window it is attached to must be resizable // and not maximized bool ShowsSizeGrip() const; @@ -100,8 +91,9 @@ protected: // common part of all ctors void Init(); - // the last known height of the client rect - int m_lastClientHeight; + // the last known size, fields widths must be updated whenever it's out of + // date + wxSize m_lastClientSize; // the absolute widths of the status bar panes in pixels wxArrayInt m_widthsAbs; @@ -115,6 +107,9 @@ protected: virtual wxSize DoGetBestSize() const; private: + // Update m_lastClientSize and m_widthsAbs from the current size. + void DoUpdateFieldWidths(); + DECLARE_EVENT_TABLE() DECLARE_DYNAMIC_CLASS_NO_COPY(wxStatusBarGeneric) };