]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/msw/statusbar.h
allow passing temporary functors to Bind() too (closes #10653)
[wxWidgets.git] / include / wx / msw / statusbar.h
index 8828b640e216f4b36c1d53a68f0ba7fa6fcfc4db..4d148481b541568bf10d38ad090d6b4cc86e497f 100644 (file)
 
 #if wxUSE_NATIVE_STATUSBAR
 
 
 #if wxUSE_NATIVE_STATUSBAR
 
+#include "wx/vector.h"
+#include "wx/tooltip.h"
+
+class WXDLLIMPEXP_FWD_CORE wxClientDC;
+
 class WXDLLIMPEXP_CORE wxStatusBar : public wxStatusBarBase
 {
 public:
 class WXDLLIMPEXP_CORE wxStatusBar : public wxStatusBarBase
 {
 public:
@@ -21,15 +26,16 @@ public:
     wxStatusBar();
     wxStatusBar(wxWindow *parent,
                 wxWindowID id = wxID_ANY,
     wxStatusBar();
     wxStatusBar(wxWindow *parent,
                 wxWindowID id = wxID_ANY,
-                long style = wxST_SIZEGRIP,
+                long style = wxSTB_DEFAULT_STYLE,
                 const wxString& name = wxStatusBarNameStr)
     {
                 const wxString& name = wxStatusBarNameStr)
     {
+        m_pDC = NULL;
         (void)Create(parent, id, style, name);
     }
 
     bool Create(wxWindow *parent,
                 wxWindowID id = wxID_ANY,
         (void)Create(parent, id, style, name);
     }
 
     bool Create(wxWindow *parent,
                 wxWindowID id = wxID_ANY,
-                long style = wxST_SIZEGRIP,
+                long style = wxSTB_DEFAULT_STYLE,
                 const wxString& name = wxStatusBarNameStr);
 
     virtual ~wxStatusBar();
                 const wxString& name = wxStatusBarNameStr);
 
     virtual ~wxStatusBar();
@@ -38,8 +44,7 @@ public:
     virtual void SetFieldsCount(int number = 1, const int *widths = NULL);
 
     // each field of status line has it's own text
     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);
-    virtual wxString GetStatusText(int number = 0) const;
+    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' widths
     virtual void SetStatusWidths(int n, const int widths_field[]);
@@ -57,16 +62,30 @@ public:
     virtual int GetBorderX() const;
     virtual int GetBorderY() const;
 
     virtual int GetBorderX() const;
     virtual int GetBorderY() const;
 
+    virtual bool SetFont(const wxFont& font);
+
     virtual WXLRESULT MSWWindowProc(WXUINT nMsg,
                                     WXWPARAM wParam,
                                     WXLPARAM lParam);
     virtual WXLRESULT MSWWindowProc(WXUINT nMsg,
                                     WXWPARAM wParam,
                                     WXLPARAM lParam);
+
 protected:
     void CopyFieldsWidth(const int widths[]);
     void SetFieldsWidth();
 protected:
     void CopyFieldsWidth(const int widths[]);
     void SetFieldsWidth();
+    void UpdateFieldText(int nField);
 
     // override some base class virtuals
     virtual wxSize DoGetBestSize() const;
     virtual void DoMoveWindow(int x, int y, int width, int height);
 
     // 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
+    wxClientDC *m_pDC;
+
+    // the tooltips used when wxSTB_SHOW_TIPS is given
+    wxVector<wxToolTip*> m_tooltips;
 
 private:
     DECLARE_DYNAMIC_CLASS_NO_COPY(wxStatusBar)
 
 private:
     DECLARE_DYNAMIC_CLASS_NO_COPY(wxStatusBar)