X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/11e3af6e7eed3c4717608ba2095a688b1fea60e0..071de7a097edd90a8f39d4624b26b5744560e677:/interface/wx/statusbr.h?ds=sidebyside diff --git a/interface/wx/statusbr.h b/interface/wx/statusbr.h index d224501963..d97648ead8 100644 --- a/interface/wx/statusbr.h +++ b/interface/wx/statusbr.h @@ -6,6 +6,46 @@ // 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 @@ -15,19 +55,17 @@ @beginStyleTable @style{wxST_SIZEGRIP} - On Windows 95, displays a gripper at right-hand side of the status bar. + Displays a gripper at the right-hand side of the status bar. @endStyleTable - @todo reference to win95 may be old and wrong - @remarks It is possible to create controls and other windows on the status bar. - Position these windows from an OnSize event handler. + Position these windows from an OnSize() event handler. @library{wxcore} @category{miscwnd} - @see wxFrame, @ref page_samples_statbar + @see wxStatusBarPane, wxFrame, @ref page_samples_statbar */ class wxStatusBar : public wxWindow { @@ -84,12 +122,17 @@ public: @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. @@ -103,6 +146,28 @@ public: */ 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. @@ -114,6 +179,8 @@ public: /** Saves the current field text in a per field stack, and sets the field text to the string passed as argument. + + @see PopStatusText() */ void PushStatusText(const wxString& string, int field = 0); @@ -121,7 +188,8 @@ public: 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(). @@ -166,7 +234,7 @@ public: /** Sets the widths of the fields in the status line. There are two types of - fields: fixed widths one and variable width fields. For the fixed width fields + fields: @b fixed widths and @b variable width fields. For the fixed width fields you should specify their (constant) width in pixels. For the variable width fields, specify a negative number which indicates how the field should expand: the space left for all variable width fields is divided between them according @@ -184,6 +252,7 @@ public: 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. @remarks The widths of the variable fields are calculated from the total width of all fields, minus the sum of widths of the