+extern WXDLLIMPEXP_DATA_CORE(const char) wxStatusBarNameStr[];
+
+// ----------------------------------------------------------------------------
+// wxStatusBar constants
+// ----------------------------------------------------------------------------
+
+// wxStatusBar styles
+#define wxSTB_SIZEGRIP 0x0010
+#define wxSTB_SHOW_TIPS 0x0020
+
+#define wxSTB_ELLIPSIZE_START 0x0040
+#define wxSTB_ELLIPSIZE_MIDDLE 0x0080
+#define wxSTB_ELLIPSIZE_END 0x0100
+
+#define wxSTB_DEFAULT_STYLE (wxSTB_SIZEGRIP|wxSTB_ELLIPSIZE_END|wxSTB_SHOW_TIPS|wxFULL_REPAINT_ON_RESIZE)
+
+
+// old compat style name:
+#define wxST_SIZEGRIP wxSTB_SIZEGRIP
+
+
+// style flags for wxStatusBar fields
+#define wxSB_NORMAL 0x0000
+#define wxSB_FLAT 0x0001
+#define wxSB_RAISED 0x0002
+
+// ----------------------------------------------------------------------------
+// wxStatusBarPane: an helper for wxStatusBar
+// ----------------------------------------------------------------------------
+
+class WXDLLIMPEXP_CORE wxStatusBarPane
+{
+ // only wxStatusBarBase can access our internal members and modify them:
+ friend class WXDLLIMPEXP_FWD_CORE wxStatusBarBase;
+
+public:
+ wxStatusBarPane(int style = wxSB_NORMAL, size_t width = 0)
+ : m_nStyle(style), m_nWidth(width)
+ { m_arrStack.Add(wxEmptyString); m_bEllipsized=false; }
+
+ int GetWidth() const
+ { return m_nWidth; }
+ int GetStyle() const
+ { return m_nStyle; }
+
+ const wxArrayString& GetStack() const
+ { return m_arrStack; }
+
+ // implementation-only getter:
+ bool IsEllipsized() const
+ { return m_bEllipsized; }
+
+ // NOTE: there are no setters in wxStatusBarPane;
+ // use wxStatusBar functions to modify a wxStatusBarPane
+
+protected:
+ int m_nStyle;
+ int m_nWidth; // the width maybe negative, indicating a variable-width field
+
+ // this is the array of the stacked strings of this pane; note that this
+ // stack does include also the string currently displayed in this pane
+ // as the version stored in the native status bar control is possibly
+ // ellipsized; note that m_arrStack.Last() is the top of the stack
+ // (i.e. the string shown in the status bar)
+ wxArrayString m_arrStack;
+
+ // was the m_arrStack.Last() string shown in the status bar control ellipsized?
+ bool m_bEllipsized;
+};
+
+WX_DECLARE_OBJARRAY(wxStatusBarPane, wxStatusBarPaneArray);