// Licence: wxWindows license
/////////////////////////////////////////////////////////////////////////////
+/**
+ @class wxStatusBarPane
+
+ A status bar pane data container used by wxStatusBar.
+
+ @library{wxcore}
+ @category{data}
+
+ @see wxStatusBar
+*/
+class wxStatusBarPane
+{
+public:
+ /**
+ Constructs the pane with the given @a style and @a width.
+ */
+ wxStatusBarPane(int style = wxSB_NORMAL, size_t width = 0);
+
+ /**
+ Returns the pane width; it maybe negative, indicating a variable-width field.
+ */
+ int GetWidth() const;
+
+ /**
+ Returns the pane style.
+ */
+ int GetStyle() const;
+
+ /**
+ Returns the stack of strings pushed on 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.
+
+ Also note that GetStack().Last() is the top of the stack (i.e. the string shown
+ in the status bar).
+ */
+ const wxArrayString& GetStack() const;
+};
+
/**
@class wxStatusBar
@library{wxcore}
@category{miscwnd}
- @see wxFrame, @ref page_samples_statbar
+ @see wxStatusBarPane, wxFrame, @ref page_samples_statbar
*/
class wxStatusBar : public wxWindow
{
@see wxRect
*/
virtual bool GetFieldRect(int i, wxRect& rect) const;
-
+
/**
- Returns the number of fields in the status bar.
+ Returns the number of fields in the status bar.
*/
int GetFieldsCount() const;
-
+
+ /**
+ Returns the wxStatusBarPane representing the @a n-th field.
+ */
+ const wxStatusBarPane& GetField(int n) const;
+
/**
Returns the string associated with a status bar field.
*/
virtual wxString GetStatusText(int i = 0) const;
+ /**
+ Returns the stack of strings pushed (see PushStatusText()) on the
+ @a n-th field.
+
+ See wxStatusBarPane::GetStack() for more info.
+ */
+ const wxArrayString& GetStatusStack(int n) const;
+
+ /**
+ Returns the width of the @a n-th field.
+
+ See wxStatusBarPane::GetWidth() for more info.
+ */
+ int GetStatusWidth(int n) const;
+
+ /**
+ Returns the style of the @a n-th field.
+
+ See wxStatusBarPane::GetStyle() for more info.
+ */
+ int GetStatusStyle(int n) const;
+
/**
Sets the field text to the top of the stack, and pops the stack of saved
strings.
/**
Saves the current field text in a per field stack, and sets the field text
to the string passed as argument.
-
- @see PopStatusText()
+
+ @see PopStatusText()
*/
void PushStatusText(const wxString& string, int field = 0);
Sets the number of fields, and optionally the field widths.
@param number
- The number of fields.
+ The number of fields. If this is greater than the previous number,
+ then new fields with empty strings will be added to the status bar.
@param widths
An array of n integers interpreted in the same way as
in SetStatusWidths().
Contains an array of n integers, each of which is either an
absolute status field width in pixels if positive or indicates a
variable width field if negative.
- The special value @NULL means that all fields should get the same width.
+ The special value @NULL means that all fields should get the same width.
@remarks The widths of the variable fields are calculated from the total
width of all fields, minus the sum of widths of the