X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/53b6d7a29879a67a54e1f26e77a0697fecacf839..05112735c29d896a101918aacd2224b54f6dd653:/include/wx/generic/statusbr.h diff --git a/include/wx/generic/statusbr.h b/include/wx/generic/statusbr.h index 709e58faa6..13d309423c 100644 --- a/include/wx/generic/statusbr.h +++ b/include/wx/generic/statusbr.h @@ -12,10 +12,19 @@ #ifndef _WX_GENERIC_STATUSBR_H_ #define _WX_GENERIC_STATUSBR_H_ +#include "wx/defs.h" + +#if wxUSE_STATUSBAR + #include "wx/pen.h" #include "wx/arrstr.h" -class WXDLLEXPORT wxStatusBarGeneric : public wxStatusBarBase + +// ---------------------------------------------------------------------------- +// wxStatusBarGeneric +// ---------------------------------------------------------------------------- + +class WXDLLIMPEXP_CORE wxStatusBarGeneric : public wxStatusBarBase { public: wxStatusBarGeneric() { Init(); } @@ -41,7 +50,6 @@ public: // Set status line text virtual void SetStatusText(const wxString& text, int number = 0); - virtual wxString GetStatusText(int number = 0) const; // Set status line widths virtual void SetStatusWidths(int n, const int widths_field[]); @@ -55,34 +63,43 @@ public: virtual int GetBorderX() const { return m_borderX; } virtual int GetBorderY() const { return m_borderY; } - //////////////////////////////////////////////////////////////////////// - // Implementation - - virtual void DrawFieldText(wxDC& dc, int i); - virtual void DrawField(wxDC& dc, int i); - void SetBorderX(int x); - void SetBorderY(int y); +protected: // event handlers void OnPaint(wxPaintEvent& event); + void OnSize(wxSizeEvent& event); void OnLeftDown(wxMouseEvent& event); void OnRightDown(wxMouseEvent& event); - virtual void InitColours(); - // Responds to colour changes void OnSysColourChanged(wxSysColourChangedEvent& event); protected: + + virtual void DrawFieldText(wxDC& dc, const wxRect& rc, int i, int textHeight); + virtual void DrawField(wxDC& dc, int i, int textHeight); + + void SetBorderX(int x); + void SetBorderY(int y); + + virtual void InitColours(); + + // true if the status bar shows the size grip: for this it must have + // wxST_SIZEGRIP style and the window it is attached to must be resizeable + // and not maximized + bool ShowsSizeGrip() const; + + // returns the position and the size of the size grip + wxRect GetSizeGripRect() const; + // common part of all ctors void Init(); - wxArrayString m_statusStrings; + // the last known height of the client rect + int m_lastClientHeight; - // the last known width of the client rect (used to rebuild cache) - int m_lastClientWidth; - // the widths of the status bar panes in pixels + // the absolute widths of the status bar panes in pixels wxArrayInt m_widthsAbs; int m_borderX; @@ -97,5 +114,7 @@ private: DECLARE_DYNAMIC_CLASS_NO_COPY(wxStatusBarGeneric) }; +#endif // wxUSE_STATUSBAR + #endif // _WX_GENERIC_STATUSBR_H_