X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/80255b7eaf9427daf6fa21a3f27e4475dcc54cf8..3175fc12b4b386754be7b9c1db13fcbc435e67da:/include/wx/msw/statusbar.h diff --git a/include/wx/msw/statusbar.h b/include/wx/msw/statusbar.h index 070e1db817..14e65d47af 100644 --- a/include/wx/msw/statusbar.h +++ b/include/wx/msw/statusbar.h @@ -14,7 +14,10 @@ #if wxUSE_NATIVE_STATUSBAR -class WXDLLIMPEXP_CORE wxClientDC; +#include "wx/vector.h" +#include "wx/tooltip.h" + +class WXDLLIMPEXP_FWD_CORE wxClientDC; class WXDLLIMPEXP_CORE wxStatusBar : public wxStatusBarBase { @@ -23,7 +26,7 @@ public: wxStatusBar(); wxStatusBar(wxWindow *parent, wxWindowID id = wxID_ANY, - long style = wxST_SIZEGRIP, + long style = wxSTB_DEFAULT_STYLE, const wxString& name = wxStatusBarNameStr) { m_pDC = NULL; @@ -32,50 +35,49 @@ public: bool Create(wxWindow *parent, wxWindowID id = wxID_ANY, - long style = wxST_SIZEGRIP, + long style = wxSTB_DEFAULT_STYLE, const wxString& name = wxStatusBarNameStr); virtual ~wxStatusBar(); - // a status line can have several (<256) fields numbered from 0 + // implement base class methods virtual void SetFieldsCount(int number = 1, const int *widths = NULL); - - // each field of status line has it's own text - virtual void SetStatusText(const wxString& text, int number = 0); - - // set status line fields' widths virtual void SetStatusWidths(int n, const int widths_field[]); - - // set status line fields' styles virtual void SetStatusStyles(int n, const int styles[]); - - // sets the minimal vertical size of the status bar virtual void SetMinHeight(int height); - - // get the position and size of the field's internal bounding rectangle virtual bool GetFieldRect(int i, wxRect& rect) const; - // get the border size virtual int GetBorderX() const; virtual int GetBorderY() const; + // override some wxWindow virtual methods too virtual bool SetFont(const wxFont& font); virtual WXLRESULT MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam); + protected: - void CopyFieldsWidth(const int widths[]); - void SetFieldsWidth(); - void UpdateFieldText(int nField); + // implement base class pure virtual method + virtual void DoUpdateStatusText(int number); // override some base class virtuals virtual wxSize DoGetBestSize() const; virtual void DoMoveWindow(int x, int y, int width, int height); +#if wxUSE_TOOLTIPS + virtual bool MSWProcessMessage(WXMSG* pMsg); + virtual bool MSWOnNotify(int idCtrl, WXLPARAM lParam, WXLPARAM* result); +#endif - // used by UpdateFieldText + // implementation of the public SetStatusWidths() + void MSWUpdateFieldsWidths(); + + // used by DoUpdateStatusText() wxClientDC *m_pDC; + // the tooltips used when wxSTB_SHOW_TIPS is given + wxVector m_tooltips; + private: DECLARE_DYNAMIC_CLASS_NO_COPY(wxStatusBar) };