]>
Commit | Line | Data |
---|---|---|
23324ae1 FM |
1 | ///////////////////////////////////////////////////////////////////////////// |
2 | // Name: frame.h | |
e54c96f1 | 3 | // Purpose: interface of wxFrame |
23324ae1 FM |
4 | // Author: wxWidgets team |
5 | // RCS-ID: $Id$ | |
526954c5 | 6 | // Licence: wxWindows licence |
23324ae1 FM |
7 | ///////////////////////////////////////////////////////////////////////////// |
8 | ||
9 | /** | |
10 | @class wxFrame | |
7c913512 | 11 | |
ea6a2ccb FM |
12 | A frame is a window whose size and position can (usually) be changed by the user. |
13 | ||
14 | It usually has thick borders and a title bar, and can optionally contain a | |
15 | menu bar, toolbar and status bar. A frame can contain any window that is not | |
23324ae1 | 16 | a frame or dialog. |
7c913512 | 17 | |
ea6a2ccb FM |
18 | A frame that has a status bar and toolbar, created via the CreateStatusBar() and |
19 | CreateToolBar() functions, manages these windows and adjusts the value returned | |
20 | by GetClientSize() to reflect the remaining size available to application windows. | |
21 | ||
22 | @remarks An application should normally define an wxCloseEvent handler for the | |
23 | frame to respond to system close events, for example so that related | |
24 | data and subwindows can be cleaned up. | |
25 | ||
26 | ||
674d80a7 | 27 | @section frame_defaultevent Default event processing |
ea6a2ccb FM |
28 | |
29 | wxFrame processes the following events: | |
30 | ||
31 | @li @c wxEVT_SIZE: if the frame has exactly one child window, not counting the | |
32 | status and toolbar, this child is resized to take the entire frame client area. | |
33 | If two or more windows are present, they should be laid out explicitly either | |
9d157d59 | 34 | by manually handling @c wxEVT_SIZE or using sizers; |
ea6a2ccb FM |
35 | @li @c wxEVT_MENU_HIGHLIGHT: the default implementation displays the help string |
36 | associated with the selected item in the first pane of the status bar, if there is one. | |
37 | ||
7c913512 | 38 | |
23324ae1 | 39 | @beginStyleTable |
8c6791e4 | 40 | @style{wxDEFAULT_FRAME_STYLE} |
7c913512 | 41 | Defined as wxMINIMIZE_BOX | wxMAXIMIZE_BOX | wxRESIZE_BORDER | |
23324ae1 | 42 | wxSYSTEM_MENU | wxCAPTION | wxCLOSE_BOX | wxCLIP_CHILDREN. |
8c6791e4 | 43 | @style{wxICONIZE} |
23324ae1 | 44 | Display the frame iconized (minimized). Windows only. |
8c6791e4 | 45 | @style{wxCAPTION} |
7832ada0 VZ |
46 | Puts a caption on the frame. Notice that this flag is required by |
47 | wxMINIMIZE_BOX, wxMAXIMIZE_BOX and wxCLOSE_BOX on most systems as | |
48 | the corresponding buttons cannot be shown if the window has no title | |
49 | bar at all. I.e. if wxCAPTION is not specified those styles would be | |
50 | simply ignored. | |
8c6791e4 | 51 | @style{wxMINIMIZE} |
23324ae1 | 52 | Identical to wxICONIZE. Windows only. |
8c6791e4 | 53 | @style{wxMINIMIZE_BOX} |
23324ae1 | 54 | Displays a minimize box on the frame. |
8c6791e4 | 55 | @style{wxMAXIMIZE} |
62fc18ef | 56 | Displays the frame maximized. Windows and GTK+ only. |
8c6791e4 | 57 | @style{wxMAXIMIZE_BOX} |
7832ada0 VZ |
58 | Displays a maximize box on the frame. Notice that under wxGTK |
59 | wxRESIZE_BORDER must be used as well or this style is ignored. | |
8c6791e4 | 60 | @style{wxCLOSE_BOX} |
23324ae1 | 61 | Displays a close box on the frame. |
8c6791e4 | 62 | @style{wxSTAY_ON_TOP} |
23324ae1 | 63 | Stay on top of all other windows, see also wxFRAME_FLOAT_ON_PARENT. |
8c6791e4 | 64 | @style{wxSYSTEM_MENU} |
7832ada0 VZ |
65 | Displays a system menu containing the list of various windows |
66 | commands in the window title bar. Unlike wxMINIMIZE_BOX, | |
67 | wxMAXIMIZE_BOX and wxCLOSE_BOX styles this style can be used without | |
68 | wxCAPTION, at least under Windows, and makes the system menu | |
69 | available without showing it on screen in this case. However it is | |
70 | recommended to only use it together with wxCAPTION for consistent | |
71 | behaviour under all platforms. | |
8c6791e4 | 72 | @style{wxRESIZE_BORDER} |
d13b34d3 | 73 | Displays a resizable border around the window. |
8c6791e4 | 74 | @style{wxFRAME_TOOL_WINDOW} |
7832ada0 | 75 | Causes a frame with a small title bar to be created; the frame does |
23324ae1 | 76 | not appear in the taskbar under Windows or GTK+. |
8c6791e4 | 77 | @style{wxFRAME_NO_TASKBAR} |
23324ae1 FM |
78 | Creates an otherwise normal frame but it does not appear in the |
79 | taskbar under Windows or GTK+ (note that it will minimize to the | |
80 | desktop window under Windows which may seem strange to the users | |
81 | and thus it might be better to use this style only without | |
7832ada0 VZ |
82 | wxMINIMIZE_BOX style). In wxGTK, the flag is respected only if the |
83 | window manager supports _NET_WM_STATE_SKIP_TASKBAR hint. | |
8c6791e4 | 84 | @style{wxFRAME_FLOAT_ON_PARENT} |
ea6a2ccb FM |
85 | The frame will always be on top of its parent (unlike wxSTAY_ON_TOP). |
86 | A frame created with this style must have a non-@NULL parent. | |
87 | @style{wxFRAME_SHAPED} | |
7832ada0 | 88 | Windows with this style are allowed to have their shape changed |
ea6a2ccb FM |
89 | with the SetShape() method. |
90 | @endStyleTable | |
91 | ||
d13b34d3 | 92 | The default frame style is for normal, resizable frames. |
4c51a665 | 93 | To create a frame which cannot be resized by user, you may use the following |
ea6a2ccb FM |
94 | combination of styles: |
95 | ||
96 | @code | |
15840e67 | 97 | wxDEFAULT_FRAME_STYLE & ~(wxRESIZE_BORDER | wxMAXIMIZE_BOX) |
ea6a2ccb FM |
98 | @endcode |
99 | ||
100 | See also the @ref overview_windowstyles. | |
101 | ||
102 | @beginExtraStyleTable | |
8c6791e4 | 103 | @style{wxFRAME_EX_CONTEXTHELP} |
23324ae1 FM |
104 | Under Windows, puts a query button on the caption. When pressed, |
105 | Windows will go into a context-sensitive help mode and wxWidgets | |
3a194bda | 106 | will send a @c wxEVT_HELP event if the user clicked on an application |
23324ae1 FM |
107 | window. Note that this is an extended style and must be set by |
108 | calling SetExtraStyle before Create is called (two-step | |
109 | construction). You cannot use this style together with | |
110 | wxMAXIMIZE_BOX or wxMINIMIZE_BOX, so you should use | |
111 | wxDEFAULT_FRAME_STYLE ~ (wxMINIMIZE_BOX | wxMAXIMIZE_BOX) for the | |
112 | frames having this style (the dialogs don't have a minimize or a | |
113 | maximize box by default) | |
8c6791e4 | 114 | @style{wxFRAME_EX_METAL} |
23324ae1 FM |
115 | On Mac OS X, frames with this style will be shown with a metallic |
116 | look. This is an extra style. | |
ea6a2ccb | 117 | @endExtraStyleTable |
7c913512 | 118 | |
3051a44a | 119 | @beginEventEmissionTable |
9d157d59 | 120 | @event{EVT_CLOSE(func)} |
96b57f0d VZ |
121 | Process a @c wxEVT_CLOSE_WINDOW event when the frame is being |
122 | closed by the user or programmatically (see wxWindow::Close). | |
9d157d59 FM |
123 | The user may generate this event clicking the close button |
124 | (typically the 'X' on the top-right of the title bar) if it's present | |
3051a44a FM |
125 | (see the @c wxCLOSE_BOX style). See wxCloseEvent. |
126 | @event{EVT_ICONIZE(func)} | |
127 | Process a @c wxEVT_ICONIZE event. See wxIconizeEvent. | |
128 | @event{EVT_MENU_OPEN(func)} | |
129 | A menu is about to be opened. See wxMenuEvent. | |
130 | @event{EVT_MENU_CLOSE(func)} | |
131 | A menu has been just closed. See wxMenuEvent. | |
132 | @event{EVT_MENU_HIGHLIGHT(id, func)} | |
133 | The menu item with the specified id has been highlighted: used to show | |
134 | help prompts in the status bar by wxFrame. See wxMenuEvent. | |
135 | @event{EVT_MENU_HIGHLIGHT_ALL(func)} | |
136 | A menu item has been highlighted, i.e. the currently selected menu item has changed. | |
137 | See wxMenuEvent. | |
9d157d59 FM |
138 | @endEventTable |
139 | ||
23324ae1 FM |
140 | @library{wxcore} |
141 | @category{managedwnd} | |
7c913512 | 142 | |
e54c96f1 | 143 | @see wxMDIParentFrame, wxMDIChildFrame, wxMiniFrame, wxDialog |
23324ae1 FM |
144 | */ |
145 | class wxFrame : public wxTopLevelWindow | |
146 | { | |
147 | public: | |
674d80a7 FM |
148 | /** |
149 | Default constructor. | |
150 | */ | |
151 | wxFrame(); | |
152 | ||
23324ae1 FM |
153 | /** |
154 | Constructor, creating the window. | |
3c4f71cc | 155 | |
7c913512 | 156 | @param parent |
4cc4bfaf FM |
157 | The window parent. This may be @NULL. If it is non-@NULL, the frame will |
158 | always be displayed on top of the parent window on Windows. | |
7c913512 | 159 | @param id |
674d80a7 | 160 | The window identifier. It may take a value of -1 to indicate a default value. |
7c913512 | 161 | @param title |
4cc4bfaf | 162 | The caption to be displayed on the frame's title bar. |
7c913512 | 163 | @param pos |
4cc4bfaf | 164 | The window position. The value wxDefaultPosition indicates a default position, |
674d80a7 | 165 | chosen by either the windowing system or wxWidgets, depending on platform. |
7c913512 | 166 | @param size |
4cc4bfaf FM |
167 | The window size. The value wxDefaultSize indicates a default size, chosen by |
168 | either the windowing system or wxWidgets, depending on platform. | |
7c913512 | 169 | @param style |
674d80a7 | 170 | The window style. See wxFrame class description. |
7c913512 | 171 | @param name |
674d80a7 FM |
172 | The name of the window. This parameter is used to associate a name with |
173 | the item, allowing the application user to set Motif resource values for | |
4cc4bfaf | 174 | individual windows. |
3c4f71cc | 175 | |
23324ae1 | 176 | @remarks For Motif, MWM (the Motif Window Manager) should be running for |
674d80a7 | 177 | any window styles to work (otherwise all styles take effect). |
3c4f71cc | 178 | |
4cc4bfaf | 179 | @see Create() |
23324ae1 | 180 | */ |
7c913512 FM |
181 | wxFrame(wxWindow* parent, wxWindowID id, |
182 | const wxString& title, | |
183 | const wxPoint& pos = wxDefaultPosition, | |
184 | const wxSize& size = wxDefaultSize, | |
185 | long style = wxDEFAULT_FRAME_STYLE, | |
408776d0 | 186 | const wxString& name = wxFrameNameStr); |
23324ae1 FM |
187 | |
188 | /** | |
189 | Destructor. Destroys all child windows and menu bar if present. | |
2e4f32d7 FM |
190 | |
191 | See @ref overview_windowdeletion for more info. | |
23324ae1 | 192 | */ |
adaaa686 | 193 | virtual ~wxFrame(); |
23324ae1 FM |
194 | |
195 | /** | |
196 | Centres the frame on the display. | |
3c4f71cc | 197 | |
7c913512 | 198 | @param direction |
4cc4bfaf | 199 | The parameter may be wxHORIZONTAL, wxVERTICAL or wxBOTH. |
23324ae1 FM |
200 | */ |
201 | void Centre(int direction = wxBOTH); | |
202 | ||
203 | /** | |
674d80a7 FM |
204 | Used in two-step frame construction. |
205 | See wxFrame() for further details. | |
23324ae1 | 206 | */ |
43c48e1e | 207 | bool Create(wxWindow* parent, wxWindowID id, const wxString& title, |
23324ae1 FM |
208 | const wxPoint& pos = wxDefaultPosition, |
209 | const wxSize& size = wxDefaultSize, | |
210 | long style = wxDEFAULT_FRAME_STYLE, | |
43c48e1e | 211 | const wxString& name = wxFrameNameStr); |
23324ae1 FM |
212 | |
213 | /** | |
214 | Creates a status bar at the bottom of the frame. | |
3c4f71cc | 215 | |
7c913512 | 216 | @param number |
4cc4bfaf FM |
217 | The number of fields to create. Specify a |
218 | value greater than 1 to create a multi-field status bar. | |
7c913512 | 219 | @param style |
674d80a7 | 220 | The status bar style. See wxStatusBar for a list of valid styles. |
7c913512 | 221 | @param id |
674d80a7 FM |
222 | The status bar window identifier. If -1, an identifier will be chosen |
223 | by wxWidgets. | |
7c913512 | 224 | @param name |
4cc4bfaf | 225 | The status bar window name. |
3c4f71cc | 226 | |
d29a9a8a | 227 | @return A pointer to the status bar if it was created successfully, @NULL |
674d80a7 | 228 | otherwise. |
3c4f71cc | 229 | |
23324ae1 | 230 | @remarks The width of the status bar is the whole width of the frame |
4cc4bfaf FM |
231 | (adjusted automatically when resizing), and the height |
232 | and text size are chosen by the host windowing system. | |
3c4f71cc | 233 | |
4cc4bfaf | 234 | @see SetStatusText(), OnCreateStatusBar(), GetStatusBar() |
23324ae1 | 235 | */ |
c4c178c1 | 236 | virtual wxStatusBar* CreateStatusBar(int number = 1, long style = wxSTB_DEFAULT_STYLE, |
43c48e1e | 237 | wxWindowID id = 0, |
6fc53251 | 238 | const wxString& name = wxStatusBarNameStr); |
23324ae1 FM |
239 | |
240 | /** | |
241 | Creates a toolbar at the top or left of the frame. | |
3c4f71cc | 242 | |
7c913512 | 243 | @param style |
674d80a7 | 244 | The toolbar style. See wxToolBar for a list of valid styles. |
7c913512 | 245 | @param id |
674d80a7 FM |
246 | The toolbar window identifier. If -1, an identifier will be chosen |
247 | by wxWidgets. | |
7c913512 | 248 | @param name |
4cc4bfaf | 249 | The toolbar window name. |
3c4f71cc | 250 | |
d29a9a8a | 251 | @return A pointer to the toolbar if it was created successfully, @NULL |
674d80a7 | 252 | otherwise. |
3c4f71cc | 253 | |
bb69632a FM |
254 | @remarks |
255 | By default, the toolbar is an instance of wxToolBar. | |
256 | To use a different class, override OnCreateToolBar(). | |
257 | When a toolbar has been created with this function, or made | |
258 | known to the frame with wxFrame::SetToolBar(), the frame will | |
259 | manage the toolbar position and adjust the return value from | |
260 | wxWindow::GetClientSize() to reflect the available space for | |
261 | application windows. | |
262 | Under Pocket PC, you should always use this function for creating | |
263 | the toolbar to be managed by the frame, so that wxWidgets can | |
264 | use a combined menubar and toolbar. | |
265 | Where you manage your own toolbars, create a wxToolBar as usual. | |
674d80a7 FM |
266 | |
267 | @see CreateStatusBar(), OnCreateToolBar(), SetToolBar(), GetToolBar() | |
23324ae1 | 268 | */ |
4cc4bfaf | 269 | virtual wxToolBar* CreateToolBar(long style = wxBORDER_NONE | wxTB_HORIZONTAL, |
43c48e1e FM |
270 | wxWindowID id = wxID_ANY, |
271 | const wxString& name = wxToolBarNameStr); | |
23324ae1 FM |
272 | |
273 | /** | |
674d80a7 FM |
274 | Returns the origin of the frame client area (in client coordinates). |
275 | It may be different from (0, 0) if the frame has a toolbar. | |
23324ae1 | 276 | */ |
adaaa686 | 277 | virtual wxPoint GetClientAreaOrigin() const; |
23324ae1 FM |
278 | |
279 | /** | |
280 | Returns a pointer to the menubar currently associated with the frame (if any). | |
3c4f71cc | 281 | |
4cc4bfaf | 282 | @see SetMenuBar(), wxMenuBar, wxMenu |
23324ae1 | 283 | */ |
adaaa686 | 284 | virtual wxMenuBar* GetMenuBar() const; |
23324ae1 FM |
285 | |
286 | /** | |
674d80a7 FM |
287 | Returns a pointer to the status bar currently associated with the frame |
288 | (if any). | |
3c4f71cc | 289 | |
4cc4bfaf | 290 | @see CreateStatusBar(), wxStatusBar |
23324ae1 | 291 | */ |
adaaa686 | 292 | virtual wxStatusBar* GetStatusBar() const; |
23324ae1 FM |
293 | |
294 | /** | |
295 | Returns the status bar pane used to display menu and toolbar help. | |
3c4f71cc | 296 | |
4cc4bfaf | 297 | @see SetStatusBarPane() |
23324ae1 | 298 | */ |
adaaa686 | 299 | int GetStatusBarPane() const; |
23324ae1 FM |
300 | |
301 | /** | |
302 | Returns a pointer to the toolbar currently associated with the frame (if any). | |
3c4f71cc | 303 | |
4cc4bfaf | 304 | @see CreateToolBar(), wxToolBar, SetToolBar() |
23324ae1 | 305 | */ |
adaaa686 | 306 | virtual wxToolBar* GetToolBar() const; |
23324ae1 FM |
307 | |
308 | /** | |
309 | Virtual function called when a status bar is requested by CreateStatusBar(). | |
3c4f71cc | 310 | |
7c913512 | 311 | @param number |
4cc4bfaf | 312 | The number of fields to create. |
7c913512 | 313 | @param style |
4cc4bfaf FM |
314 | The window style. See wxStatusBar for a list |
315 | of valid styles. | |
7c913512 | 316 | @param id |
4cc4bfaf FM |
317 | The window identifier. If -1, an identifier will be chosen by |
318 | wxWidgets. | |
7c913512 | 319 | @param name |
4cc4bfaf | 320 | The window name. |
3c4f71cc | 321 | |
d29a9a8a | 322 | @return A status bar object. |
3c4f71cc | 323 | |
23324ae1 | 324 | @remarks An application can override this function to return a different |
4cc4bfaf FM |
325 | kind of status bar. The default implementation returns |
326 | an instance of wxStatusBar. | |
3c4f71cc | 327 | |
4cc4bfaf | 328 | @see CreateStatusBar(), wxStatusBar. |
23324ae1 FM |
329 | */ |
330 | virtual wxStatusBar* OnCreateStatusBar(int number, long style, | |
331 | wxWindowID id, | |
332 | const wxString& name); | |
333 | ||
334 | /** | |
335 | Virtual function called when a toolbar is requested by CreateToolBar(). | |
3c4f71cc | 336 | |
7c913512 | 337 | @param style |
4cc4bfaf FM |
338 | The toolbar style. See wxToolBar for a list |
339 | of valid styles. | |
7c913512 | 340 | @param id |
4cc4bfaf FM |
341 | The toolbar window identifier. If -1, an identifier will be chosen by |
342 | wxWidgets. | |
7c913512 | 343 | @param name |
4cc4bfaf | 344 | The toolbar window name. |
3c4f71cc | 345 | |
d29a9a8a | 346 | @return A toolbar object. |
3c4f71cc | 347 | |
23324ae1 | 348 | @remarks An application can override this function to return a different |
4cc4bfaf FM |
349 | kind of toolbar. The default implementation returns an |
350 | instance of wxToolBar. | |
3c4f71cc | 351 | |
4cc4bfaf | 352 | @see CreateToolBar(), wxToolBar. |
23324ae1 FM |
353 | */ |
354 | virtual wxToolBar* OnCreateToolBar(long style, wxWindowID id, | |
355 | const wxString& name); | |
356 | ||
357 | /** | |
358 | Simulate a menu command. | |
3c4f71cc | 359 | |
7c913512 | 360 | @param id |
4cc4bfaf | 361 | The identifier for a menu item. |
23324ae1 | 362 | */ |
a44f3b5a | 363 | bool ProcessCommand(int id); |
23324ae1 | 364 | |
23324ae1 FM |
365 | /** |
366 | Tells the frame to show the given menu bar. | |
3c4f71cc | 367 | |
7c913512 | 368 | @param menuBar |
4cc4bfaf | 369 | The menu bar to associate with the frame. |
3c4f71cc | 370 | |
23324ae1 | 371 | @remarks If the frame is destroyed, the menu bar and its menus will be |
4cc4bfaf FM |
372 | destroyed also, so do not delete the menu bar |
373 | explicitly (except by resetting the frame's menu bar to | |
374 | another frame or @NULL). | |
674d80a7 FM |
375 | Under Windows, a size event is generated, so be sure to |
376 | initialize data members properly before calling SetMenuBar(). | |
377 | Note that on some platforms, it is not possible to call this | |
378 | function twice for the same frame object. | |
3c4f71cc | 379 | |
4cc4bfaf | 380 | @see GetMenuBar(), wxMenuBar, wxMenu. |
23324ae1 | 381 | */ |
adaaa686 | 382 | virtual void SetMenuBar(wxMenuBar* menuBar); |
23324ae1 FM |
383 | |
384 | /** | |
385 | Associates a status bar with the frame. | |
3c4f71cc | 386 | |
c4c178c1 FM |
387 | If @a statusBar is @NULL, then the status bar, if present, is detached from |
388 | the frame, but @e not deleted. | |
389 | ||
4cc4bfaf | 390 | @see CreateStatusBar(), wxStatusBar, GetStatusBar() |
23324ae1 | 391 | */ |
adaaa686 | 392 | virtual void SetStatusBar(wxStatusBar* statusBar); |
23324ae1 FM |
393 | |
394 | /** | |
395 | Set the status bar pane used to display menu and toolbar help. | |
396 | Using -1 disables help display. | |
397 | */ | |
398 | void SetStatusBarPane(int n); | |
399 | ||
400 | /** | |
401 | Sets the status bar text and redraws the status bar. | |
3c4f71cc | 402 | |
7c913512 | 403 | @param text |
4cc4bfaf | 404 | The text for the status field. |
7c913512 | 405 | @param number |
4cc4bfaf | 406 | The status field (starting from zero). |
3c4f71cc | 407 | |
23324ae1 | 408 | @remarks Use an empty string to clear the status bar. |
3c4f71cc | 409 | |
4cc4bfaf | 410 | @see CreateStatusBar(), wxStatusBar |
23324ae1 FM |
411 | */ |
412 | virtual void SetStatusText(const wxString& text, int number = 0); | |
413 | ||
414 | /** | |
415 | Sets the widths of the fields in the status bar. | |
3c4f71cc | 416 | |
7c913512 | 417 | @param n |
4cc4bfaf FM |
418 | The number of fields in the status bar. It must be the |
419 | same used in CreateStatusBar. | |
f21dd16b | 420 | @param widths_field |
4cc4bfaf FM |
421 | Must contain an array of n integers, each of which is a status field width |
422 | in pixels. A value of -1 indicates that the field is variable width; at | |
674d80a7 FM |
423 | least one field must be -1. You should delete this array after calling |
424 | SetStatusWidths(). | |
3c4f71cc | 425 | |
23324ae1 | 426 | @remarks The widths of the variable fields are calculated from the total |
4cc4bfaf | 427 | width of all fields, minus the sum of widths of the |
674d80a7 | 428 | non-variable fields, divided by the number of variable fields. |
1058f652 MB |
429 | |
430 | @beginWxPerlOnly | |
431 | In wxPerl this method takes the field widths as parameters. | |
432 | @endWxPerlOnly | |
23324ae1 | 433 | */ |
43c48e1e | 434 | virtual void SetStatusWidths(int n, const int* widths_field); |
23324ae1 FM |
435 | |
436 | /** | |
437 | Associates a toolbar with the frame. | |
438 | */ | |
adaaa686 | 439 | virtual void SetToolBar(wxToolBar* toolBar); |
05b0355a RD |
440 | |
441 | ||
442 | void PushStatusText(const wxString &text, int number = 0); | |
443 | void PopStatusText(int number = 0); | |
444 | ||
23324ae1 | 445 | }; |
e54c96f1 | 446 |