\twocolwidtha{5cm}
\begin{twocollist}\itemsep=0pt
-\twocolitem{\windowstyle{wxSB\_SIZEGRIP}}{On Windows 95, displays a gripper at right-hand side of
+\twocolitem{\windowstyle{wxST\_SIZEGRIP}}{On Windows 95, displays a gripper at right-hand side of
the status bar.}
\end{twocollist}
\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}
\helpref{wxStatusBar::SetStatusText}{wxstatusbarsetstatustext}
-\membersection{wxStatusBar::DrawField}\label{wxstatusbardrawfield}
-
-\func{virtual void}{DrawField}{\param{wxDC\& }{dc}, \param{int }{i}}
-
-Draws a field, including shaded borders and text.
-
-\wxheading{Parameters}
-
-\docparam{dc}{The device context to draw onto.}
-
-\docparam{i}{The field to be drawn.}
-
-\wxheading{See also}
-
-\helpref{wxStatusBar::DrawFieldText}{wxstatusbardrawfieldtext}
-
-\membersection{wxStatusBar::DrawFieldText}\label{wxstatusbardrawfieldtext}
-
-\func{virtual void}{DrawFieldText}{\param{wxDC\& }{dc}, \param{int }{i}}
+\membersection{wxStatusBar::PopStatusText}\label{wxstatusbarpushstatustext}
-Draws a field's text.
-
-\wxheading{Parameters}
+\func{void}{PopStatusText}{\param{int}{ field = 0}}
-\docparam{dc}{The device context to draw onto.}
-
-\docparam{i}{The field whose text is to be drawn.}
+Sets the field text to the top of the stack, and pops the stack of saved
+strings.
\wxheading{See also}
-\helpref{wxStatusBar::DrawField}{wxstatusbardrawfield}
-
-\membersection{wxStatusBar::InitColours}\label{wxstatusbarinitcolours}
-
-\func{virtual void}{InitColours}{\void}
-
-Sets up the background colour and shading pens using suitable system colours (Windows) or tasteful shades
-of grey (other platforms).
-
-\wxheading{Remarks}
-
-This function is called when the window is created, and also
-from \helpref{wxStatusBar::OnSysColourChanged}{wxstatusbaronsyscolourchanged} on Windows.
-
-\wxheading{See also}
-
-\helpref{wxStatusBar::OnSysColourChanged}{wxstatusbaronsyscolourchanged}
-
-\membersection{wxStatusBar::OnSysColourChanged}\label{wxstatusbaronsyscolourchanged}
-
-\func{void}{OnSysColourChanged}{\param{wxSysColourChangedEvent\& }{event}}
-
-Handles a system colour change by calling \helpref{wxStatusBar::InitColours}{wxstatusbarinitcolours},
-and refreshes the window.
-
-\wxheading{Parameters}
-
-\docparam{event}{The colour change event.}
-
-\wxheading{See also}
-
-\helpref{wxStatusBar::InitColours}{wxstatusbarinitcolours}
+\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.
+
+%% VZ: these functions are not in wxStatusBar API, these are just
+%% implementation details of wxStatusBarGeneric
+%%
+%% \membersection{wxStatusBar::DrawField}\label{wxstatusbardrawfield}
+%%
+%% \func{virtual void}{DrawField}{\param{wxDC\& }{dc}, \param{int }{i}}
+%%
+%% Draws a field, including shaded borders and text.
+%%
+%% \wxheading{Parameters}
+%%
+%% \docparam{dc}{The device context to draw onto.}
+%%
+%% \docparam{i}{The field to be drawn.}
+%%
+%% \wxheading{See also}
+%%
+%% \helpref{wxStatusBar::DrawFieldText}{wxstatusbardrawfieldtext}
+%%
+%% \membersection{wxStatusBar::DrawFieldText}\label{wxstatusbardrawfieldtext}
+%%
+%% \func{virtual void}{DrawFieldText}{\param{wxDC\& }{dc}, \param{int }{i}}
+%%
+%% Draws a field's text.
+%%
+%% \wxheading{Parameters}
+%%
+%% \docparam{dc}{The device context to draw onto.}
+%%
+%% \docparam{i}{The field whose text is to be drawn.}
+%%
+%% \wxheading{See also}
+%%
+%% \helpref{wxStatusBar::DrawField}{wxstatusbardrawfield}
+%%
+%% \membersection{wxStatusBar::InitColours}\label{wxstatusbarinitcolours}
+%%
+%% \func{virtual void}{InitColours}{\void}
+%%
+%% Sets up the background colour and shading pens using suitable system colours (Windows) or tasteful shades
+%% of grey (other platforms).
+%%
+%% \wxheading{Remarks}
+%%
+%% This function is called when the window is created, and also
+%% from \helpref{wxStatusBar::OnSysColourChanged}{wxstatusbaronsyscolourchanged} on Windows.
+%%
+%% \wxheading{See also}
+%%
+%% \helpref{wxStatusBar::OnSysColourChanged}{wxstatusbaronsyscolourchanged}
+%%
+%% \membersection{wxStatusBar::OnSysColourChanged}\label{wxstatusbaronsyscolourchanged}
+%%
+%% \func{void}{OnSysColourChanged}{\param{wxSysColourChangedEvent\& }{event}}
+%%
+%% Handles a system colour change by calling \helpref{wxStatusBar::InitColours}{wxstatusbarinitcolours},
+%% and refreshes the window.
+%%
+%% \wxheading{Parameters}
+%%
+%% \docparam{event}{The colour change event.}
+%%
+%% \wxheading{See also}
+%%
+%% \helpref{wxStatusBar::InitColours}{wxstatusbarinitcolours}
\membersection{wxStatusBar::SetFieldsCount}\label{wxstatusbarsetfieldscount}
\pythonnote{Only the first parameter is accepted. Use SetStatusWidths
to set the widths of the fields.}
-\perlnote{In wxPerl this function acceps only the {\tt n} parameter.
+\perlnote{In wxPerl this function accepts only the {\tt n} parameter.
Use SetStatusWidths to set the field widths.}
\wxheading{Parameters}
\func{virtual void}{SetStatusWidths}{\param{int}{ n}, \param{int *}{widths}}
-Sets the widths of the fields in the status line.
+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.}
+\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}{Must contain an array of {\it n} integers, each of which is a status field width
-in pixels. A value of -1 indicates that the field is variable width; at least one
-field must be -1. You should delete this array after calling {\bf SetStatusWidths}.}
+\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}