X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/41d6e8b6833f5fb9b997c0cf0f0c9c37ebc589c3..92c0fc34c104c8d7c12d6a3b78ea232690fc23f4:/interface/wx/statusbr.h diff --git a/interface/wx/statusbr.h b/interface/wx/statusbr.h index 4e99cdfecc..9c008e018e 100644 --- a/interface/wx/statusbr.h +++ b/interface/wx/statusbr.h @@ -2,10 +2,26 @@ // Name: statusbr.h // Purpose: interface of wxStatusBar // Author: wxWidgets team -// RCS-ID: $Id$ -// Licence: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// +// 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) + +// style flags for wxStatusBar fields +#define wxSB_NORMAL 0x0000 +#define wxSB_FLAT 0x0001 +#define wxSB_RAISED 0x0002 +#define wxSB_SUNKEN 0x0003 + + /** @class wxStatusBarPane @@ -22,7 +38,7 @@ public: /** Constructs the pane with the given @a style and @a width. */ - wxStatusBarPane(int style = wxSB_NORMAL, size_t width = 0); + wxStatusBarPane(int style = wxSB_NORMAL, int width = 0); /** Returns the pane width; it maybe negative, indicating a variable-width field. @@ -35,15 +51,9 @@ public: 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; + Returns the text currently shown in this pane. + */ + wxString GetText() const; }; /** @@ -84,12 +94,19 @@ public: It is possible to create controls and other windows on the status bar. Position these windows from an OnSize() event handler. + @remarks + Notice that only the first 127 characters of a string will be shown in + status bar fields under pre-XP MSW systems (or even under later systems if + a proper manifest indicating that the program uses version 6 of common + controls library is not used). This is a limitation of the native control + on these platforms. + @library{wxcore} @category{miscwnd} @see wxStatusBarPane, wxFrame, @ref page_samples_statbar */ -class wxStatusBar : public wxWindow +class wxStatusBar : public wxControl { public: /** @@ -141,6 +158,11 @@ public: @return @true if the field index is valid, @false otherwise. + @beginWxPerlOnly + In wxPerl this function returns a @c Wx::Rect if the field + index is valid, @c undef otherwise. + @endWxPerlOnly + @see wxRect */ virtual bool GetFieldRect(int i, wxRect& rect) const; @@ -177,14 +199,6 @@ 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. @@ -200,16 +214,21 @@ public: int GetStatusStyle(int n) const; /** - Sets the field text to the top of the stack, and pops the stack of saved - strings. + Restores the text to the value it had before the last call to + PushStatusText(). + + Notice that if SetStatusText() had been called in the meanwhile, + PopStatusText() will not change the text, i.e. it does not override + explicit changes to status text but only restores the saved text if it + hadn't been changed since. @see PushStatusText() */ void PopStatusText(int field = 0); /** - Saves the current field text in a per-field stack, and sets the field text - to the string passed as argument. + Saves the current field text in a per-field stack, and sets the field + text to the string passed as argument. @see PopStatusText() */ @@ -224,6 +243,11 @@ public: @param widths An array of n integers interpreted in the same way as in SetStatusWidths(). + + @beginWxPerlOnly + In wxPerl this function accepts only the @a number parameter. + Use SetStatusWidths to set the field widths. + @endWxPerlOnly */ virtual void SetFieldsCount(int number = 1, const int* widths = NULL); @@ -244,19 +268,24 @@ public: number passed to SetFieldsCount() the last time it was called. @param styles Contains an array of @a n integers with the styles for each field. - There are three possible styles: - - @c wxSB_NORMAL (default): The field appears sunken with a standard 3D border. + There are four possible styles: + - @c wxSB_NORMAL (default): The field appears with the default native border. - @c wxSB_FLAT: No border is painted around the field so that it appears flat. - @c wxSB_RAISED: A raised 3D border is painted around the field. + - @c wxSB_SUNKEN: A sunken 3D border is painted around the field + (this style is new since wxWidgets 2.9.5). */ virtual void SetStatusStyles(int n, const int* styles); /** Sets the status text for the @a i-th field. - The given text will replace the current text. Note that unlike PushStatusText() - this function won't save the current text (and calling PopStatusText() won't - restore it!). + The given text will replace the current text. + + Note that if PushStatusText() had been called before the new text will + also replace the last saved value to make sure that the next call to + PopStatusText() doesn't restore the old value, which was overwritten by + the call to this function. @param text The text to be set. Use an empty string ("") to clear the field. @@ -293,6 +322,10 @@ public: width of all fields, minus the sum of widths of the non-variable fields, divided by the number of variable fields. + @beginWxPerlOnly + In wxPerl this method takes as parameters the field widths. + @endWxPerlOnly + @see SetFieldsCount(), wxFrame::SetStatusWidths() */ virtual void SetStatusWidths(int n, const int* widths_field);