]> git.saurik.com Git - wxWidgets.git/blame - docs/latex/wx/statusbr.tex
fixed status bar positioning to work both with and without sizers (patch 1199639...
[wxWidgets.git] / docs / latex / wx / statusbr.tex
CommitLineData
a660d684
KB
1\section{\class{wxStatusBar}}\label{wxstatusbar}
2
3A status bar is a narrow window that can be placed along the bottom of a frame to give
4small amounts of status information. It can contain one or more fields, one or more of which can
5be variable length according to the size of the window.
6
7\helpref{wxWindow}{wxwindow}\\
8\helpref{wxEvtHandler}{wxevthandler}\\
9\helpref{wxObject}{wxobject}
10
954b8ae6
JS
11\wxheading{Derived from}
12
13\helpref{wxWindow}{wxwindow}\\
14\helpref{wxEvtHandler}{wxevthandler}\\
15\helpref{wxObject}{wxobject}
16
17\wxheading{Include files}
18
19<wx/statusbr.h>
20
a660d684
KB
21\wxheading{Window styles}
22
81d66cf3
JS
23\twocolwidtha{5cm}
24\begin{twocollist}\itemsep=0pt
9ef63a4a 25\twocolitem{\windowstyle{wxST\_SIZEGRIP}}{On Windows 95, displays a gripper at right-hand side of
81d66cf3
JS
26the status bar.}
27\end{twocollist}
a660d684
KB
28
29See also \helpref{window styles overview}{windowstyles}.
30
31\wxheading{Remarks}
32
33It is possible to create controls and other windows on the status bar. Position these windows
34from an {\bf OnSize} event handler.
35
36\wxheading{See also}
37
2286341c 38\helpref{wxFrame}{wxframe}, \helpref{Status bar sample}{samplestatbar}
a660d684
KB
39
40\latexignore{\rtfignore{\wxheading{Members}}}
41
15d83f72 42\membersection{wxStatusBar::wxStatusBar}\label{wxstatusbarctor}
a660d684
KB
43
44\func{}{wxStatusBar}{\void}
45
46Default constructor.
47
eaaa6a06 48\func{}{wxStatusBar}{\param{wxWindow* }{parent}, \param{wxWindowID }{id},\rtfsp
594f942c 49\param{long}{ style = wxST\_SIZEGRIP},\rtfsp
a660d684
KB
50\param{const wxString\& }{name = ``statusBar"}}
51
52Constructor, creating the window.
53
54\wxheading{Parameters}
55
56\docparam{parent}{The window parent, usually a frame.}
57
58\docparam{id}{The window identifier. It may take a value of -1 to indicate a default value.}
59
a660d684
KB
60\docparam{style}{The window style. See \helpref{wxStatusBar}{wxstatusbar}.}
61
62\docparam{name}{The name of the window. This parameter is used to associate a name with the item,
63allowing the application user to set Motif resource values for
64individual windows.}
65
66\wxheading{See also}
67
68\helpref{wxStatusBar::Create}{wxstatusbarcreate}
69
15d83f72 70\membersection{wxStatusBar::\destruct{wxStatusBar}}\label{wxstatusbardtor}
a660d684
KB
71
72\func{void}{\destruct{wxStatusBar}}{\void}
73
74Destructor.
75
76\membersection{wxStatusBar::Create}\label{wxstatusbarcreate}
77
eaaa6a06 78\func{bool}{Create}{\param{wxWindow* }{parent}, \param{wxWindowID }{id},\rtfsp
594f942c 79\param{long}{ style = wxST\_SIZEGRIP},\rtfsp
a660d684
KB
80\param{const wxString\& }{name = ``statusBar"}}
81
82Creates the window, for two-step construction.
83
15d83f72 84See \helpref{wxStatusBar::wxStatusBar}{wxstatusbarctor} for details.
a660d684
KB
85
86\membersection{wxStatusBar::GetFieldRect}\label{wxstatusbargetfieldrect}
87
eaaa6a06 88\constfunc{virtual bool}{GetFieldRect}{\param{int}{ i}, \param{wxRect\&}{ rect}}
a660d684 89
d3c17ee7 90Returns the size and position of a field's internal bounding rectangle.
a660d684
KB
91
92\wxheading{Parameters}
93
94\docparam{i}{The field in question.}
95
96\docparam{rect}{The rectangle values are placed in this variable.}
97
98\wxheading{Return value}
99
cc81d32f 100true if the field index is valid, false otherwise.
a660d684
KB
101
102\wxheading{See also}
103
104\helpref{wxRect}{wxrect}
105
0a67eeac
MB
106\perlnote{In wxPerl this function returns a {\tt Wx::Rect} if the field
107 index is valid, {\tt undef} otherwise.}
108
a660d684
KB
109\membersection{wxStatusBar::GetFieldsCount}\label{wxstatusbargetfieldscount}
110
111\constfunc{int}{GetFieldsCount}{\void}
112
113Returns the number of fields in the status bar.
114
115\membersection{wxStatusBar::GetStatusText}\label{wxstatusbargetstatustext}
116
d3c17ee7 117\constfunc{virtual wxString}{GetStatusText}{\param{int}{ i = 0}}
a660d684
KB
118
119Returns the string associated with a status bar field.
120
121\wxheading{Parameters}
122
123\docparam{i}{The number of the status field to retrieve, starting from zero.}
124
125\wxheading{Return value}
126
127The status field string if the field is valid, otherwise the empty string.
128
129\wxheading{See also}
130
131\helpref{wxStatusBar::SetStatusText}{wxstatusbarsetstatustext}
132
0b0625e9 133\membersection{wxStatusBar::PopStatusText}\label{wxstatusbarpopstatustext}
d1f1e77a
MB
134
135\func{void}{PopStatusText}{\param{int}{ field = 0}}
136
137Sets the field text to the top of the stack, and pops the stack of saved
138strings.
139
140\wxheading{See also}
141
142\helpref{wxStatusBar::PushStatusText}{wxstatusbarpushstatustext}
143
144\membersection{wxStatusBar::PushStatusText}\label{wxstatusbarpushstatustext}
145
bf43ff9a 146\func{void}{PushStatusText}{\param{const wxString\&}{ string}, \param{int}{ field = 0}}
d1f1e77a
MB
147
148Saves the current field text in a per field stack, and sets the field text
149to the string passed as argument.
150
a660d684
KB
151\membersection{wxStatusBar::SetFieldsCount}\label{wxstatusbarsetfieldscount}
152
eaaa6a06 153\func{virtual void}{SetFieldsCount}{\param{int}{ number = 1}, \param{int* }{widths = NULL}}
a660d684
KB
154
155Sets the number of fields, and optionally the field widths.
156
f6bcfd97
BP
157\pythonnote{Only the first parameter is accepted. Use SetStatusWidths
158to set the widths of the fields.}
159
2edb0bde 160\perlnote{In wxPerl this function accepts only the {\tt n} parameter.
5873607e
VZ
161Use SetStatusWidths to set the field widths.}
162
a660d684
KB
163\wxheading{Parameters}
164
165\docparam{number}{The number of fields.}
166
390015c0
VZ
167\docparam{widths}{An array of {\it n} integers interpreted in the same way as
168in \helpref{SetStatusWidths}{wxstatusbarsetstatuswidths}}
a660d684 169
2531c7e3
VZ
170\membersection{wxStatusBar::SetMinHeight}\label{wxstatusbarsetminheight}
171
172\func{void}{SetMinHeight}{\param{int}{ height}}
173
d3c17ee7 174Sets the minimal possible height for the status bar. The real height may be
2531c7e3
VZ
175bigger than the height specified here depending on the size of the font used by
176the status bar.
177
a660d684
KB
178\membersection{wxStatusBar::SetStatusText}\label{wxstatusbarsetstatustext}
179
eaaa6a06 180\func{virtual void}{SetStatusText}{\param{const wxString\& }{text}, \param{int}{ i = 0}}
a660d684
KB
181
182Sets the text for one field.
183
184\wxheading{Parameters}
185
186\docparam{text}{The text to be set. Use an empty string (``") to clear the field.}
187
188\docparam{i}{The field to set, starting from zero.}
189
190\wxheading{See also}
191
192\helpref{wxStatusBar::GetStatusText}{wxstatusbargetstatustext}, \helpref{wxFrame::SetStatusText}{wxframesetstatustext}
193
194\membersection{wxStatusBar::SetStatusWidths}\label{wxstatusbarsetstatuswidths}
195
eaaa6a06 196\func{virtual void}{SetStatusWidths}{\param{int}{ n}, \param{int *}{widths}}
a660d684 197
71e03035
VZ
198Sets the widths of the fields in the status line. There are two types of
199fields: fixed widths one and variable width fields. For the fixed width fields
200you should specify their (constant) width in pixels. For the variable width
43e8916f 201fields, specify a negative number which indicates how the field should expand:
71e03035
VZ
202the space left for all variable width fields is divided between them according
203to the absolute value of this number. A variable width field with width of $-2$
204gets twice as much of it as a field with width $-1$ and so on.
205
304945f5 206For example, to create one fixed width field of width $100$ in the right part of
71e03035
VZ
207the status bar and two more fields which get $66$\% and $33$\% of the remaining
208space correspondingly, you should use an array containing $-2$, $-1$ and $100$.
a660d684
KB
209
210\wxheading{Parameters}
211
71e03035
VZ
212\docparam{n}{The number of fields in the status bar. Must be equal to the
213number passed to \helpref{SetFieldsCount}{wxstatusbarsetfieldscount} the last
214time it was called.}
a660d684 215
71e03035
VZ
216\docparam{widths}{Contains an array of {\it n} integers, each of which is
217either an absolute status field width in pixels if positive or indicates a
43e8916f 218variable width field if negative.}
a660d684
KB
219
220\wxheading{Remarks}
221
222The widths of the variable fields are calculated from the total width of all fields,
564747ee 223minus the sum of widths of the non-variable fields, divided by the number of
a660d684
KB
224variable fields.
225
226\wxheading{See also}
227
228\helpref{wxStatusBar::SetFieldsCount}{wxstatusbarsetfieldscount}, \helpref{wxFrame::SetStatusWidths}{wxframesetstatuswidths}
229
564747ee
RD
230\pythonnote{Only a single parameter is required, a Python list of
231integers.}
232
5873607e 233\perlnote{In wxPerl this method takes as parameters the field widths.}
a98f98ac 234
c2919ab3
VZ
235\membersection{wxStatusBar::SetStatusStyles}\label{wxstatusbarsetstatusstyles}
236
237\func{virtual void}{SetStatusStyles}{\param{int}{ n}, \param{int *}{styles}}
238
239Sets the styles of the fields in the status line which can make fields appear flat
240or raised instead of the standard sunken 3D border.
241
242\wxheading{Parameters}
243
244\docparam{n}{The number of fields in the status bar. Must be equal to the
245number passed to \helpref{SetFieldsCount}{wxstatusbarsetfieldscount} the last
246time it was called.}
247
248\docparam{styles}{Contains an array of {\it n} integers with the styles for each field. There
249are three possible styles:
250
251\twocolwidtha{5cm}
252\begin{twocollist}\itemsep=0pt
253\twocolitem{\windowstyle{wxSB\_NORMAL}}{(default) The field appears sunken with a standard 3D border.}
254\twocolitem{\windowstyle{wxSB\_FLAT}}{No border is painted around the field so that it appears flat.}
255\twocolitem{\windowstyle{wxSB\_RAISED}}{A raised 3D border is painted around the field.}
256\end{twocollist}
6f63b8ad 257}
c2919ab3
VZ
258
259