390015c0ee
1. works correctly (handles negative widths according to the docs/MSW/Univ) 2. has shorter and simpler GetFieldRect() implementation 3. ... which is also more efficient (pixel widths are cached) git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@16966 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
235 lines
7.3 KiB
TeX
235 lines
7.3 KiB
TeX
\section{\class{wxStatusBar}}\label{wxstatusbar}
|
|
|
|
A status bar is a narrow window that can be placed along the bottom of a frame to give
|
|
small amounts of status information. It can contain one or more fields, one or more of which can
|
|
be variable length according to the size of the window.
|
|
|
|
\helpref{wxWindow}{wxwindow}\\
|
|
\helpref{wxEvtHandler}{wxevthandler}\\
|
|
\helpref{wxObject}{wxobject}
|
|
|
|
\wxheading{Derived from}
|
|
|
|
\helpref{wxWindow}{wxwindow}\\
|
|
\helpref{wxEvtHandler}{wxevthandler}\\
|
|
\helpref{wxObject}{wxobject}
|
|
|
|
\wxheading{Include files}
|
|
|
|
<wx/statusbr.h>
|
|
|
|
\wxheading{Window styles}
|
|
|
|
\twocolwidtha{5cm}
|
|
\begin{twocollist}\itemsep=0pt
|
|
\twocolitem{\windowstyle{wxST\_SIZEGRIP}}{On Windows 95, displays a gripper at right-hand side of
|
|
the status bar.}
|
|
\end{twocollist}
|
|
|
|
See also \helpref{window styles overview}{windowstyles}.
|
|
|
|
\wxheading{Remarks}
|
|
|
|
It is possible to create controls and other windows on the status bar. Position these windows
|
|
from an {\bf OnSize} event handler.
|
|
|
|
\wxheading{See also}
|
|
|
|
\helpref{wxFrame}{wxframe}, \helpref{Status bar sample}{samplestatbar}
|
|
|
|
\latexignore{\rtfignore{\wxheading{Members}}}
|
|
|
|
\membersection{wxStatusBar::wxStatusBar}\label{wxstatusbarconstr}
|
|
|
|
\func{}{wxStatusBar}{\void}
|
|
|
|
Default constructor.
|
|
|
|
\func{}{wxStatusBar}{\param{wxWindow* }{parent}, \param{wxWindowID }{id},\rtfsp
|
|
\param{long}{ style = wxST\_SIZEGRIP},\rtfsp
|
|
\param{const wxString\& }{name = ``statusBar"}}
|
|
|
|
Constructor, creating the window.
|
|
|
|
\wxheading{Parameters}
|
|
|
|
\docparam{parent}{The window parent, usually a frame.}
|
|
|
|
\docparam{id}{The window identifier. It may take a value of -1 to indicate a default value.}
|
|
|
|
\docparam{style}{The window style. See \helpref{wxStatusBar}{wxstatusbar}.}
|
|
|
|
\docparam{name}{The name of the window. This parameter is used to associate a name with the item,
|
|
allowing the application user to set Motif resource values for
|
|
individual windows.}
|
|
|
|
\wxheading{See also}
|
|
|
|
\helpref{wxStatusBar::Create}{wxstatusbarcreate}
|
|
|
|
\membersection{wxStatusBar::\destruct{wxStatusBar}}
|
|
|
|
\func{void}{\destruct{wxStatusBar}}{\void}
|
|
|
|
Destructor.
|
|
|
|
\membersection{wxStatusBar::Create}\label{wxstatusbarcreate}
|
|
|
|
\func{bool}{Create}{\param{wxWindow* }{parent}, \param{wxWindowID }{id},\rtfsp
|
|
\param{long}{ style = wxST\_SIZEGRIP},\rtfsp
|
|
\param{const wxString\& }{name = ``statusBar"}}
|
|
|
|
Creates the window, for two-step construction.
|
|
|
|
See \helpref{wxStatusBar::wxStatusBar}{wxstatusbarconstr} for details.
|
|
|
|
\membersection{wxStatusBar::GetFieldRect}\label{wxstatusbargetfieldrect}
|
|
|
|
\constfunc{virtual bool}{GetFieldRect}{\param{int}{ i}, \param{wxRect\&}{ rect}}
|
|
|
|
Returns the size and position of a fields internal bounding rectangle.
|
|
|
|
\wxheading{Parameters}
|
|
|
|
\docparam{i}{The field in question.}
|
|
|
|
\docparam{rect}{The rectangle values are placed in this variable.}
|
|
|
|
\wxheading{Return value}
|
|
|
|
TRUE if the field index is valid, FALSE otherwise.
|
|
|
|
\wxheading{See also}
|
|
|
|
\helpref{wxRect}{wxrect}
|
|
|
|
\perlnote{In wxPerl this function returns a {\tt Wx::Rect} if the field
|
|
index is valid, {\tt undef} otherwise.}
|
|
|
|
\membersection{wxStatusBar::GetFieldsCount}\label{wxstatusbargetfieldscount}
|
|
|
|
\constfunc{int}{GetFieldsCount}{\void}
|
|
|
|
Returns the number of fields in the status bar.
|
|
|
|
\membersection{wxStatusBar::GetStatusText}\label{wxstatusbargetstatustext}
|
|
|
|
\constfunc{virtual wxString}{GetStatusText}{\param{int}{ ir = 0}}
|
|
|
|
Returns the string associated with a status bar field.
|
|
|
|
\wxheading{Parameters}
|
|
|
|
\docparam{i}{The number of the status field to retrieve, starting from zero.}
|
|
|
|
\wxheading{Return value}
|
|
|
|
The status field string if the field is valid, otherwise the empty string.
|
|
|
|
\wxheading{See also}
|
|
|
|
\helpref{wxStatusBar::SetStatusText}{wxstatusbarsetstatustext}
|
|
|
|
\membersection{wxStatusBar::PopStatusText}\label{wxstatusbarpopstatustext}
|
|
|
|
\func{void}{PopStatusText}{\param{int}{ field = 0}}
|
|
|
|
Sets the field text to the top of the stack, and pops the stack of saved
|
|
strings.
|
|
|
|
\wxheading{See also}
|
|
|
|
\helpref{wxStatusBar::PushStatusText}{wxstatusbarpushstatustext}
|
|
|
|
\membersection{wxStatusBar::PushStatusText}\label{wxstatusbarpushstatustext}
|
|
|
|
\func{void}{PushStatusText}{\param{const wxString&}{ string}, \param{int}{ field = 0}}
|
|
|
|
Saves the current field text in a per field stack, and sets the field text
|
|
to the string passed as argument.
|
|
|
|
\membersection{wxStatusBar::SetFieldsCount}\label{wxstatusbarsetfieldscount}
|
|
|
|
\func{virtual void}{SetFieldsCount}{\param{int}{ number = 1}, \param{int* }{widths = NULL}}
|
|
|
|
Sets the number of fields, and optionally the field widths.
|
|
|
|
\pythonnote{Only the first parameter is accepted. Use SetStatusWidths
|
|
to set the widths of the fields.}
|
|
|
|
\perlnote{In wxPerl this function accepts only the {\tt n} parameter.
|
|
Use SetStatusWidths to set the field widths.}
|
|
|
|
\wxheading{Parameters}
|
|
|
|
\docparam{number}{The number of fields.}
|
|
|
|
\docparam{widths}{An array of {\it n} integers interpreted in the same way as
|
|
in \helpref{SetStatusWidths}{wxstatusbarsetstatuswidths}}
|
|
|
|
\membersection{wxStatusBar::SetMinHeight}\label{wxstatusbarsetminheight}
|
|
|
|
\func{void}{SetMinHeight}{\param{int}{ height}}
|
|
|
|
Sets the minimal possible hight for the status bar. The real height may be
|
|
bigger than the height specified here depending on the size of the font used by
|
|
the status bar.
|
|
|
|
\membersection{wxStatusBar::SetStatusText}\label{wxstatusbarsetstatustext}
|
|
|
|
\func{virtual void}{SetStatusText}{\param{const wxString\& }{text}, \param{int}{ i = 0}}
|
|
|
|
Sets the text for one field.
|
|
|
|
\wxheading{Parameters}
|
|
|
|
\docparam{text}{The text to be set. Use an empty string (``") to clear the field.}
|
|
|
|
\docparam{i}{The field to set, starting from zero.}
|
|
|
|
\wxheading{See also}
|
|
|
|
\helpref{wxStatusBar::GetStatusText}{wxstatusbargetstatustext}, \helpref{wxFrame::SetStatusText}{wxframesetstatustext}
|
|
|
|
\membersection{wxStatusBar::SetStatusWidths}\label{wxstatusbarsetstatuswidths}
|
|
|
|
\func{virtual void}{SetStatusWidths}{\param{int}{ n}, \param{int *}{widths}}
|
|
|
|
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
|
|
you should specify their (constant) width in pixels. For the variable width
|
|
fields, specify a negative number which indicates how should the field expand:
|
|
the space left for all variable width fields is divided between them according
|
|
to the absolute value of this number. A variable width field with width of $-2$
|
|
gets twice as much of it as a field with width $-1$ and so on.
|
|
|
|
For example, to create one fixed width field of width $50$ in the right part of
|
|
the status bar and two more fields which get $66$\% and $33$\% of the remaining
|
|
space correspondingly, you should use an array containing $-2$, $-1$ and $100$.
|
|
|
|
\wxheading{Parameters}
|
|
|
|
\docparam{n}{The number of fields in the status bar. Must be equal to the
|
|
number passed to \helpref{SetFieldsCount}{wxstatusbarsetfieldscount} the last
|
|
time it was called.}
|
|
|
|
\docparam{widths}{Contains an array of {\it n} integers, each of which is
|
|
either an absolute status field width in pixels if positive or indicates a
|
|
variable width field if negative}
|
|
|
|
\wxheading{Remarks}
|
|
|
|
The widths of the variable fields are calculated from the total width of all fields,
|
|
minus the sum of widths of the non-variable fields, divided by the number of
|
|
variable fields.
|
|
|
|
\wxheading{See also}
|
|
|
|
\helpref{wxStatusBar::SetFieldsCount}{wxstatusbarsetfieldscount}, \helpref{wxFrame::SetStatusWidths}{wxframesetstatuswidths}
|
|
|
|
\pythonnote{Only a single parameter is required, a Python list of
|
|
integers.}
|
|
|
|
\perlnote{In wxPerl this method takes as parameters the field widths.}
|
|
|