+// ----------------------------------------------------------------------------
+// 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_EXPORTED_OBJARRAY(wxStatusBarPane, wxStatusBarPaneArray);
+