]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/msw/statbr95.h
Border corrections
[wxWidgets.git] / include / wx / msw / statbr95.h
index 1ffe99d425053bef8c9b1b4bc77486dfda5bc5b3..3b26a1fa3adba4c9661e66bc09e57a9268741551 100644 (file)
 #ifndef   _STATBR95_H
 #define   _STATBR95_H
 
-#ifdef __GNUG__
-#pragma interface "statbr95.h"
-#endif
-
-#if       wxUSE_NATIVE_STATUSBAR
+#if wxUSE_NATIVE_STATUSBAR
 
-class WXDLLEXPORT wxStatusBar95 : public wxStatusBar
+class WXDLLEXPORT wxStatusBar95 : public wxStatusBarBase
 {
-  DECLARE_DYNAMIC_CLASS(wxStatusBar95);
-
 public:
-  // ctors
-  wxStatusBar95();
-  wxStatusBar95(wxWindow *parent, wxWindowID id = -1, long style = wxST_SIZEGRIP);
+    // ctors and such
+    wxStatusBar95();
+    wxStatusBar95(wxWindow *parent,
+                  wxWindowID id = wxID_ANY,
+                  long style = wxST_SIZEGRIP,
+                  const wxString& name = wxStatusBarNameStr)
+    {
+        (void)Create(parent, id, style, name);
+    }
+
+    bool Create(wxWindow *parent,
+                wxWindowID id = wxID_ANY,
+                long style = wxST_SIZEGRIP,
+                const wxString& name = wxStatusBarNameStr);
 
-  // create status line
-  bool Create(wxWindow *parent, wxWindowID id = -1, long style = wxST_SIZEGRIP);
+    virtual ~wxStatusBar95();
 
-  // a status line can have several (<256) fields numbered from 0
-  virtual void SetFieldsCount(int number = 1, const int widths[] = NULL);
+    // a status line can have several (<256) fields numbered from 0
+    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;
+    // 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;
 
-  // 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[]);
 
-  // we're going to process WM_SIZE (of the parent window)
-  void OnSize(wxSizeEvent& event);
+    // set status line fields' styles
+    virtual void SetStatusStyles(int n, const int styles[]);
 
-  DECLARE_EVENT_TABLE()
+    // 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;
+
+    virtual WXLRESULT MSWWindowProc(WXUINT nMsg,
+                                    WXWPARAM wParam,
+                                    WXLPARAM lParam);
 protected:
-  void CopyFieldsWidth(const int widths[]);
-  void SetFieldsWidth();
+    void CopyFieldsWidth(const int widths[]);
+    void SetFieldsWidth();
+
+    // override some base class virtuals
+    virtual wxSize DoGetBestSize() const;
+    virtual void DoMoveWindow(int x, int y, int width, int height);
+
+private:
+    DECLARE_DYNAMIC_CLASS_NO_COPY(wxStatusBar95)
 };
 
 #endif  // wxUSE_NATIVE_STATUSBAR