]>
Commit | Line | Data |
---|---|---|
a660d684 KB |
1 | \section{\class{wxApp}}\label{wxapp} |
2 | ||
3 | The {\bf wxApp} class represents the application itself. It is used | |
4 | to: | |
5 | ||
6 | \begin{itemize}\itemsep=0pt | |
7 | \item set and get application-wide properties; | |
8 | \item implement the windowing system message or event loop; | |
9 | \item initiate application processing via \helpref{wxApp::OnInit}{wxapponinit}; | |
10 | \item allow default processing of events not handled by other | |
11 | objects in the application. | |
12 | \end{itemize} | |
13 | ||
14 | You should use the macro IMPLEMENT\_APP(appClass) in your application implementation | |
15 | file to tell wxWindows how to create an instance of your application class. | |
16 | ||
17 | Use DECLARE\_APP(appClass) in a header file if you want the wxGetApp function (which returns | |
18 | a reference to your application object) to be visible to other files. | |
19 | ||
20 | \wxheading{Derived from} | |
21 | ||
22 | \helpref{wxEvtHandler}{wxevthandler}\\ | |
23 | \helpref{wxObject}{wxobject} | |
24 | ||
954b8ae6 JS |
25 | \wxheading{Include files} |
26 | ||
27 | <wx/app.h> | |
28 | ||
a660d684 KB |
29 | \wxheading{See also} |
30 | ||
31 | \helpref{wxApp overview}{wxappoverview} | |
32 | ||
33 | \latexignore{\rtfignore{\wxheading{Members}}} | |
34 | ||
35 | \membersection{wxApp::wxApp} | |
36 | ||
2fd284a4 | 37 | \func{void}{wxApp}{\void} |
a660d684 KB |
38 | |
39 | Constructor. Called implicitly with a definition of a wxApp object. | |
40 | ||
a660d684 KB |
41 | \membersection{wxApp::\destruct{wxApp}} |
42 | ||
43 | \func{void}{\destruct{wxApp}}{\void} | |
44 | ||
45 | Destructor. Will be called implicitly on program exit if the wxApp | |
46 | object is created on the stack. | |
47 | ||
48 | \membersection{wxApp::argc}\label{wxappargc} | |
49 | ||
50 | \member{int}{argc} | |
51 | ||
52 | Number of command line arguments (after environment-specific processing). | |
53 | ||
54 | \membersection{wxApp::argv}\label{wxappargv} | |
55 | ||
56 | \member{char **}{argv} | |
57 | ||
58 | Command line arguments (after environment-specific processing). | |
59 | ||
60 | \membersection{wxApp::CreateLogTarget}\label{wxappcreatelogtarget} | |
61 | ||
62 | \func{virtual wxLog*}{CreateLogTarget}{\void} | |
63 | ||
64 | Creates a wxLog class for the application to use for logging errors. The default | |
65 | implementation returns a new wxLogGui class. | |
66 | ||
67 | \wxheading{See also} | |
68 | ||
69 | \helpref{wxLog}{wxlog} | |
70 | ||
71 | \membersection{wxApp::Dispatch}\label{wxappdispatch} | |
72 | ||
73 | \func{void}{Dispatch}{\void} | |
74 | ||
75 | Dispatches the next event in the windowing system event queue. | |
76 | ||
77 | This can be used for programming event loops, e.g. | |
78 | ||
79 | \begin{verbatim} | |
80 | while (app.Pending()) | |
81 | Dispatch(); | |
82 | \end{verbatim} | |
83 | ||
84 | \wxheading{See also} | |
85 | ||
86 | \helpref{wxApp::Pending}{wxapppending} | |
87 | ||
9154d8cf VZ |
88 | \membersection{wxApp::FilterEvent}\label{wxappfilterevent} |
89 | ||
90 | \func{int}{FilterEvent}{\param{wxEvent\& }{event}} | |
91 | ||
92 | This function is called before processing any event and allows the application | |
93 | to preempt the processing of some events. If this method returns $-1$ the event | |
94 | is processed normally, otherwise either {\tt TRUE} or {\tt FALSE} should be | |
95 | returned and the event processing stops immediately considering that the event | |
96 | had been already processed (for the former return value) or that it is not | |
97 | going to be processed at all (for the latter one). | |
98 | ||
a660d684 KB |
99 | \membersection{wxApp::GetAppName}\label{wxappgetappname} |
100 | ||
101 | \constfunc{wxString}{GetAppName}{\void} | |
102 | ||
103 | Returns the application name. | |
104 | ||
105 | \wxheading{Remarks} | |
106 | ||
107 | wxWindows sets this to a reasonable default before | |
108 | calling \helpref{wxApp::OnInit}{wxapponinit}, but the application can reset it at will. | |
109 | ||
110 | \membersection{wxApp::GetAuto3D}\label{wxappgetauto3d} | |
111 | ||
112 | \constfunc{bool}{GetAuto3D}{\void} | |
113 | ||
114 | Returns TRUE if 3D control mode is on, FALSE otherwise. | |
115 | ||
116 | \wxheading{See also} | |
117 | ||
118 | \helpref{wxApp::SetAuto3D}{wxappsetauto3d} | |
119 | ||
120 | \membersection{wxApp::GetClassName}\label{wxappgetclassname} | |
121 | ||
122 | \constfunc{wxString}{GetClassName}{\void} | |
123 | ||
124 | Gets the class name of the application. The class name may be used in a platform specific | |
125 | manner to refer to the application. | |
126 | ||
127 | \wxheading{See also} | |
128 | ||
129 | \helpref{wxApp::SetClassName}{wxappsetclassname} | |
130 | ||
f59d80ca | 131 | \membersection{wxApp::GetExitOnFrameDelete}\label{wxappgetexitonframedelete} |
a660d684 | 132 | |
f59d80ca | 133 | \constfunc{bool}{GetExitFrameOnDelete}{\void} |
a660d684 KB |
134 | |
135 | Returns TRUE if the application will exit when the top-level window is deleted, FALSE | |
136 | otherwise. | |
137 | ||
138 | \wxheading{See also} | |
139 | ||
f59d80ca | 140 | \helpref{wxApp::SetExitOnFrameDelete}{wxappsetexitonframedelete} |
a660d684 | 141 | |
a660d684 KB |
142 | \membersection{wxApp::GetTopWindow}\label{wxappgettopwindow} |
143 | ||
83a5b533 | 144 | \constfunc{virtual wxWindow *}{GetTopWindow}{\void} |
a660d684 KB |
145 | |
146 | Returns a pointer to the top window. | |
147 | ||
2a47d3c1 JS |
148 | \wxheading{Remarks} |
149 | ||
150 | If the top window hasn't been set using \helpref{wxApp::SetTopWindow}{wxappsettopwindow}, this | |
151 | function will find the first top-level window (frame or dialog) and return that. | |
152 | ||
a660d684 KB |
153 | \wxheading{See also} |
154 | ||
8480b297 RR |
155 | \helpref{SetTopWindow}{wxappsettopwindow} |
156 | ||
157 | \membersection{wxApp::GetUseBestVisual}\label{wxappgetusebestvisual} | |
158 | ||
159 | \constfunc{bool}{GetUseBestVisual}{\void} | |
160 | ||
103aab26 | 161 | Returns TRUE if the application will use the best visual on systems that support |
8480b297 RR |
162 | different visuals, FALSE otherwise. |
163 | ||
164 | \wxheading{See also} | |
165 | ||
166 | \helpref{SetUseBestVisual}{wxappsetusebestvisual} | |
a660d684 | 167 | |
e06b9569 | 168 | \membersection{wxApp::GetVendorName}\label{wxappgetvendorname} |
2aa59ef4 VS |
169 | |
170 | \constfunc{wxString}{GetVendorName}{\void} | |
171 | ||
172 | Returns the application's vendor name. | |
173 | ||
a660d684 KB |
174 | \membersection{wxApp::ExitMainLoop}\label{wxappexitmainloop} |
175 | ||
176 | \func{void}{ExitMainLoop}{\void} | |
177 | ||
178 | Call this to explicitly exit the main message (event) loop. | |
179 | You should normally exit the main loop (and the application) by deleting | |
180 | the top window. | |
181 | ||
182 | \membersection{wxApp::Initialized}\label{wxappinitialized} | |
183 | ||
184 | \func{bool}{Initialized}{\void} | |
185 | ||
186 | Returns TRUE if the application has been initialized (i.e. if\rtfsp | |
187 | \helpref{wxApp::OnInit}{wxapponinit} has returned successfully). This can be useful for error | |
188 | message routines to determine which method of output is best for the | |
189 | current state of the program (some windowing systems may not like | |
190 | dialogs to pop up before the main loop has been entered). | |
191 | ||
192 | \membersection{wxApp::MainLoop}\label{wxappmainloop} | |
193 | ||
194 | \func{int}{MainLoop}{\void} | |
195 | ||
196 | Called by wxWindows on creation of the application. Override this if you wish | |
197 | to provide your own (environment-dependent) main loop. | |
198 | ||
199 | \wxheading{Return value} | |
200 | ||
201 | Returns 0 under X, and the wParam of the WM\_QUIT message under Windows. | |
202 | ||
a5f1fd3e VZ |
203 | %% VZ: OnXXX() functions should *not* be documented |
204 | %% | |
205 | %%\membersection{wxApp::OnActivate}\label{wxapponactivate} | |
206 | %% | |
207 | %%\func{void}{OnActivate}{\param{wxActivateEvent\& }{event}} | |
208 | %% | |
209 | %%Provide this member function to know whether the application is being | |
210 | %%activated or deactivated (Windows only). | |
211 | %% | |
212 | %%\wxheading{See also} | |
213 | %% | |
214 | %%\helpref{wxWindow::OnActivate}{wxwindowonactivate}, \helpref{wxActivateEvent}{wxactivateevent} | |
215 | %% | |
216 | %%\membersection{wxApp::OnCharHook}\label{wxapponcharhook} | |
217 | %% | |
218 | %%\func{void}{OnCharHook}{\param{wxKeyEvent\&}{ event}} | |
219 | %% | |
220 | %%This event handler function is called (under Windows only) to allow the window to intercept keyboard events | |
221 | %%before they are processed by child windows. | |
222 | %% | |
223 | %%\wxheading{Parameters} | |
224 | %% | |
225 | %%\docparam{event}{The keypress event.} | |
226 | %% | |
227 | %%\wxheading{Remarks} | |
228 | %% | |
229 | %%Use the wxEVT\_CHAR\_HOOK macro in your event table. | |
230 | %% | |
231 | %%If you use this member, you can selectively consume keypress events by calling\rtfsp | |
232 | %%\helpref{wxEvent::Skip}{wxeventskip} for characters the application is not interested in. | |
233 | %% | |
234 | %%\wxheading{See also} | |
235 | %% | |
236 | %%\helpref{wxKeyEvent}{wxkeyevent}, \helpref{wxWindow::OnChar}{wxwindowonchar},\rtfsp | |
237 | %%\helpref{wxWindow::OnCharHook}{wxwindowoncharhook}, \helpref{wxDialog::OnCharHook}{wxdialogoncharhook} | |
238 | ||
239 | \membersection{wxApp::OnAssert}\label{wxapponassert} | |
240 | ||
241 | \func{void}{OnAssert}{\param{const wxChar }{*file}, \param{int }{line}, \param{const wxChar }{*msg}} | |
242 | ||
243 | This function is called when an assert failure occurs, i.e. the condition | |
244 | specified in \helpref{wxASSERT}{wxassert} macro evaluated to {\tt FALSE}. | |
1156efc1 | 245 | It is only called in debug mode (when {\tt \_\_WXDEBUG\_\_} is defined) as |
a5f1fd3e VZ |
246 | asserts are not left in the release code at all. |
247 | ||
248 | The base class version show the default assert failure dialog box proposing to | |
249 | the user to stop the program, continue or ignore all subsequent asserts. | |
a660d684 | 250 | |
a5f1fd3e | 251 | \wxheading{Parameters} |
a660d684 | 252 | |
a5f1fd3e | 253 | \docparam{file}{the name of the source file where the assert occured} |
a660d684 | 254 | |
a5f1fd3e | 255 | \docparam{line}{the line number in this file where the assert occured} |
a660d684 | 256 | |
a5f1fd3e VZ |
257 | \docparam{msg}{the message specified as argument to |
258 | \helpref{wxASSERT\_MSG}{wxassertmsg} or \helpref{wxFAIL\_MSG}{wxfailmsg}, will | |
259 | be {\tt NULL} if just \helpref{wxASSERT}{wxassert} or \helpref{wxFAIL}{wxfail} | |
260 | was used} | |
a660d684 KB |
261 | |
262 | \membersection{wxApp::OnExit}\label{wxapponexit} | |
263 | ||
264 | \func{int}{OnExit}{\void} | |
265 | ||
266 | Provide this member function for any processing which needs to be done as | |
267 | the application is about to exit. | |
268 | ||
bf188f1a | 269 | \membersection{wxApp::OnCmdLineError}\label{wxapponcmdlineerror} |
a37a5a73 | 270 | |
bf188f1a | 271 | \func{bool}{OnCmdLineError}{\param{wxCmdLineParser\& }{parser}} |
a37a5a73 | 272 | |
bf188f1a VZ |
273 | Called when command line parsing fails (i.e. an incorrect command line option |
274 | was specified by the user). The default behaviour is to show the program usage | |
275 | text and abort the program. | |
a37a5a73 | 276 | |
bf188f1a VZ |
277 | Return {\tt TRUE} to continue normal execution or {\tt FALSE} to return |
278 | {\tt FALSE} from \helpref{OnInit}{wxapponinit} thus terminating the program. | |
a37a5a73 VZ |
279 | |
280 | \wxheading{See also} | |
281 | ||
bf188f1a | 282 | \helpref{OnInitCmdLine}{wxapponinitcmdline} |
a37a5a73 | 283 | |
bf188f1a | 284 | \membersection{wxApp::OnCmdLineHelp}\label{wxapponcmdlinehelp} |
a660d684 | 285 | |
bf188f1a | 286 | \func{bool}{OnCmdLineHelp}{\param{wxCmdLineParser\& }{parser}} |
a660d684 | 287 | |
bf188f1a VZ |
288 | Called when the help option ({\tt --help}) was specified on the command line. |
289 | The default behaviour is to show the program usage text and abort the program. | |
a660d684 | 290 | |
bf188f1a VZ |
291 | Return {\tt TRUE} to continue normal execution or {\tt FALSE} to return |
292 | {\tt FALSE} from \helpref{OnInit}{wxapponinit} thus terminating the program. | |
a660d684 KB |
293 | |
294 | \wxheading{See also} | |
295 | ||
bf188f1a | 296 | \helpref{OnInitCmdLine}{wxapponinitcmdline} |
a660d684 | 297 | |
bf188f1a | 298 | \membersection{wxApp::OnCmdLineParsed}\label{wxapponcmdlineparsed} |
387a3b02 | 299 | |
bf188f1a | 300 | \func{bool}{OnCmdLineParsed}{\param{wxCmdLineParser\& }{parser}} |
387a3b02 | 301 | |
bf188f1a VZ |
302 | Called after the command line had been successfully parsed. You may override |
303 | this method to test for the values of the various parameters which could be | |
304 | set from the command line. | |
387a3b02 | 305 | |
bf188f1a VZ |
306 | Don't forget to call the base class version unless you want to suppress |
307 | processing of the standard command line options. | |
387a3b02 | 308 | |
bf188f1a VZ |
309 | Return {\tt TRUE} to continue normal execution or {\tt FALSE} to return |
310 | {\tt FALSE} from \helpref{OnInit}{wxapponinit} thus terminating the program. | |
387a3b02 | 311 | |
bf188f1a VZ |
312 | \wxheading{See also} |
313 | ||
314 | \helpref{OnInitCmdLine}{wxapponinitcmdline} | |
315 | ||
316 | \membersection{wxApp::OnFatalException}\label{wxapponfatalexception} | |
317 | ||
318 | \func{void}{OnFatalException}{\void} | |
387a3b02 | 319 | |
bf188f1a VZ |
320 | This function may be called if something fatal happens: an unhandled |
321 | exception under Win32 or a a fatal signal under Unix, for example. However, | |
322 | this will not happen by default: you have to explicitly call | |
323 | \helpref{wxHandleFatalExceptions}{wxhandlefatalexceptions} to enable this. | |
387a3b02 | 324 | |
bf188f1a VZ |
325 | Generally speaking, this function should only show a message to the user and |
326 | return. You may attempt to save unsaved data but this is not guaranteed to | |
327 | work and, in fact, probably won't. | |
387a3b02 JS |
328 | |
329 | \wxheading{See also} | |
330 | ||
bf188f1a VZ |
331 | \helpref{wxHandleFatalExcetions}{wxhandlefatalexceptions} |
332 | ||
333 | %% VZ: the wxApp event handler are private and should not be documented here! | |
334 | %% | |
335 | %%\membersection{wxApp::OnIdle}\label{wxapponidle} | |
336 | %% | |
337 | %%\func{void}{OnIdle}{\param{wxIdleEvent\& }{event}} | |
338 | %% | |
339 | %%Override this member function for any processing which needs to be done | |
340 | %%when the application is idle. You should call wxApp::OnIdle from your own function, | |
341 | %%since this forwards OnIdle events to windows and also performs garbage collection for | |
342 | %%windows whose destruction has been delayed. | |
343 | %% | |
344 | %%wxWindows' strategy for OnIdle processing is as follows. After pending user interface events for an | |
345 | %%application have all been processed, wxWindows sends an OnIdle event to the application object. wxApp::OnIdle itself | |
346 | %%sends an OnIdle event to each application window, allowing windows to do idle processing such as updating | |
347 | %%their appearance. If either wxApp::OnIdle or a window OnIdle function requested more time, by | |
348 | %%caling \helpref{wxIdleEvent::RequestMore}{wxidleeventrequestmore}, wxWindows will send another OnIdle | |
349 | %%event to the application object. This will occur in a loop until either a user event is found to be | |
350 | %%pending, or OnIdle requests no more time. Then all pending user events are processed until the system | |
351 | %%goes idle again, when OnIdle is called, and so on. | |
352 | %% | |
353 | %%\wxheading{See also} | |
354 | %% | |
355 | %%\helpref{wxWindow::OnIdle}{wxwindowonidle}, \helpref{wxIdleEvent}{wxidleevent},\rtfsp | |
356 | %%\helpref{wxWindow::SendIdleEvents}{wxappsendidleevents} | |
357 | %% | |
358 | %%\membersection{wxApp::OnEndSession}\label{wxapponendsession} | |
359 | %% | |
360 | %%\func{void}{OnEndSession}{\param{wxCloseEvent\& }{event}} | |
361 | %% | |
362 | %%This is an event handler function called when the operating system or GUI session is | |
363 | %%about to close down. The application has a chance to silently save information, | |
364 | %%and can optionally close itself. | |
365 | %% | |
366 | %%Use the EVT\_END\_SESSION event table macro to handle query end session events. | |
367 | %% | |
368 | %%The default handler calls \helpref{wxWindow::Close}{wxwindowclose} with a TRUE argument | |
369 | %%(forcing the application to close itself silently). | |
370 | %% | |
371 | %%\wxheading{Remarks} | |
372 | %% | |
373 | %%Under X, OnEndSession is called in response to the `die' event. | |
374 | %% | |
375 | %%Under Windows, OnEndSession is called in response to the WM\_ENDSESSION message. | |
376 | %% | |
377 | %%\wxheading{See also} | |
378 | %% | |
379 | %%\helpref{wxWindow::Close}{wxwindowclose},\rtfsp | |
380 | %%\helpref{wxWindow::OnCloseWindow}{wxwindowonclosewindow},\rtfsp | |
381 | %%\helpref{wxCloseEvent}{wxcloseevent},\rtfsp | |
382 | %%\helpref{wxApp::OnQueryEndSession}{wxapponqueryendsession} | |
387a3b02 | 383 | |
a660d684 KB |
384 | \membersection{wxApp::OnInit}\label{wxapponinit} |
385 | ||
386 | \func{bool}{OnInit}{\void} | |
387 | ||
388 | This must be provided by the application, and will usually create the | |
bf188f1a VZ |
389 | application's main window, optionally calling |
390 | \helpref{wxApp::SetTopWindow}{wxappsettopwindow}. | |
391 | ||
392 | Notice that if you want to to use the command line processing provided by | |
393 | wxWindows you have to call the base class version in the derived class | |
394 | OnInit(). | |
a660d684 KB |
395 | |
396 | Return TRUE to continue processing, FALSE to exit the application. | |
397 | ||
bf188f1a VZ |
398 | \membersection{wxApp::OnInitCmdLine}\label{wxapponinitcmdline} |
399 | ||
400 | \func{void}{OnInitCmdLine}{\param{wxCmdLineParser\& }{parser}} | |
401 | ||
402 | Called from \helpref{OnInit}{wxapponinit} and may be used to initialize the | |
403 | parser with the command line options for this application. The base class | |
404 | versions adds support for a few standard options only. | |
405 | ||
387a3b02 | 406 | \membersection{wxApp::OnQueryEndSession}\label{wxapponqueryendsession} |
a660d684 | 407 | |
387a3b02 | 408 | \func{void}{OnQueryEndSession}{\param{wxCloseEvent\& }{event}} |
a660d684 | 409 | |
387a3b02 JS |
410 | This is an event handler function called when the operating system or GUI session is |
411 | about to close down. Typically, an application will try to save unsaved documents | |
412 | at this point. | |
413 | ||
414 | If \helpref{wxCloseEvent::CanVeto}{wxcloseeventcanveto} returns TRUE, the application | |
415 | is allowed to veto the shutdown by calling \helpref{wxCloseEvent::Veto}{wxcloseeventveto}. | |
416 | The application might veto the shutdown after prompting for documents to be saved, and the | |
417 | user has cancelled the save. | |
418 | ||
419 | Use the EVT\_QUERY\_END\_SESSION event table macro to handle query end session events. | |
420 | ||
421 | You should check whether the application is forcing the deletion of the window | |
422 | using \helpref{wxCloseEvent::GetForce}{wxcloseeventgetforce}. If this is TRUE, | |
423 | destroy the window using \helpref{wxWindow::Destroy}{wxwindowdestroy}. | |
424 | If not, it is up to you whether you respond by destroying the window. | |
425 | ||
426 | The default handler calls \helpref{wxWindow::Close}{wxwindowclose} on the top-level window, | |
427 | and vetoes the shutdown if Close returns FALSE. This will be sufficient for many applications. | |
428 | ||
429 | \wxheading{Remarks} | |
430 | ||
8771a323 | 431 | Under X, OnQueryEndSession is called in response to the `save session' event. |
387a3b02 JS |
432 | |
433 | Under Windows, OnQueryEndSession is called in response to the WM\_QUERYENDSESSION message. | |
a660d684 KB |
434 | |
435 | \wxheading{See also} | |
436 | ||
387a3b02 | 437 | \helpref{wxWindow::Close}{wxwindowclose},\rtfsp |
4d5a0f67 GD |
438 | \helpref{wxCloseEvent}{wxcloseevent} |
439 | %% GD: OnXXX functions are not documented | |
440 | %%\helpref{wxApp::OnEndSession}{wxapponendsession} | |
387a3b02 | 441 | |
a660d684 KB |
442 | \membersection{wxApp::ProcessMessage}\label{wxappprocessmessage} |
443 | ||
da25d3ab | 444 | \func{bool}{ProcessMessage}{\param{WXMSG *}{msg}} |
a660d684 KB |
445 | |
446 | Windows-only function for processing a message. This function | |
447 | is called from the main message loop, checking for windows that | |
448 | may wish to process it. The function returns TRUE if the message | |
449 | was processed, FALSE otherwise. If you use wxWindows with another class | |
450 | library with its own message loop, you should make sure that this | |
451 | function is called to allow wxWindows to receive messages. For example, | |
452 | to allow co-existance with the Microsoft Foundation Classes, override | |
453 | the PreTranslateMessage function: | |
454 | ||
455 | \begin{verbatim} | |
456 | // Provide wxWindows message loop compatibility | |
457 | BOOL CTheApp::PreTranslateMessage(MSG *msg) | |
458 | { | |
da25d3ab | 459 | if (wxTheApp && wxTheApp->ProcessMessage((WXMSW *)msg)) |
a660d684 KB |
460 | return TRUE; |
461 | else | |
462 | return CWinApp::PreTranslateMessage(msg); | |
463 | } | |
464 | \end{verbatim} | |
465 | ||
387a3b02 JS |
466 | \membersection{wxApp::Pending}\label{wxapppending} |
467 | ||
468 | \func{bool}{Pending}{\void} | |
469 | ||
f59d80ca | 470 | Returns TRUE if unprocessed events are in the window system event queue. |
387a3b02 JS |
471 | |
472 | \wxheading{See also} | |
473 | ||
474 | \helpref{wxApp::Dispatch}{wxappdispatch} | |
475 | ||
a660d684 KB |
476 | \membersection{wxApp::SendIdleEvents}\label{wxappsendidleevents} |
477 | ||
478 | \func{bool}{SendIdleEvents}{\void} | |
479 | ||
480 | Sends idle events to all top-level windows. | |
481 | ||
482 | \func{bool}{SendIdleEvents}{\param{wxWindow*}{ win}} | |
483 | ||
484 | Sends idle events to a window and its children. | |
485 | ||
486 | \wxheading{Remarks} | |
487 | ||
488 | These functions poll the top-level windows, and their children, for idle event processing. | |
489 | If TRUE is returned, more OnIdle processing is requested by one or more window. | |
490 | ||
491 | \wxheading{See also} | |
492 | ||
4d5a0f67 GD |
493 | %% GD: OnXXX functions are not documented |
494 | %%\helpref{wxApp::OnIdle}{wxapponidle} | |
4d5a0f67 | 495 | \helpref{wxIdleEvent}{wxidleevent} |
a660d684 KB |
496 | |
497 | \membersection{wxApp::SetAppName}\label{wxappsetappname} | |
498 | ||
499 | \func{void}{SetAppName}{\param{const wxString\& }{name}} | |
500 | ||
501 | Sets the name of the application. The name may be used in dialogs | |
502 | (for example by the document/view framework). A default name is set by | |
503 | wxWindows. | |
504 | ||
505 | \wxheading{See also} | |
506 | ||
507 | \helpref{wxApp::GetAppName}{wxappgetappname} | |
508 | ||
509 | \membersection{wxApp::SetAuto3D}\label{wxappsetauto3d} | |
510 | ||
511 | \func{void}{SetAuto3D}{\param{const bool}{ auto3D}} | |
512 | ||
513 | Switches automatic 3D controls on or off. | |
514 | ||
515 | \wxheading{Parameters} | |
516 | ||
517 | \docparam{auto3D}{If TRUE, all controls will be created with 3D appearances unless | |
518 | overridden for a control or dialog. The default is TRUE} | |
519 | ||
520 | \wxheading{Remarks} | |
521 | ||
522 | This has an effect on Windows only. | |
523 | ||
524 | \wxheading{See also} | |
525 | ||
526 | \helpref{wxApp::GetAuto3D}{wxappgetauto3d} | |
527 | ||
528 | \membersection{wxApp::SetClassName}\label{wxappsetclassname} | |
529 | ||
530 | \func{void}{SetClassName}{\param{const wxString\& }{name}} | |
531 | ||
532 | Sets the class name of the application. This may be used in a platform specific | |
533 | manner to refer to the application. | |
534 | ||
535 | \wxheading{See also} | |
536 | ||
537 | \helpref{wxApp::GetClassName}{wxappgetclassname} | |
538 | ||
f59d80ca | 539 | \membersection{wxApp::SetExitOnFrameDelete}\label{wxappsetexitonframedelete} |
a660d684 | 540 | |
f59d80ca | 541 | \func{void}{SetExitOnFrameDelete}{\param{bool}{ flag}} |
a660d684 KB |
542 | |
543 | Allows the programmer to specify whether the application will exit when the | |
544 | top-level frame is deleted. | |
545 | ||
546 | \wxheading{Parameters} | |
547 | ||
548 | \docparam{flag}{If TRUE (the default), the application will exit when the top-level frame is | |
549 | deleted. If FALSE, the application will continue to run.} | |
550 | ||
a660d684 KB |
551 | \membersection{wxApp::SetTopWindow}\label{wxappsettopwindow} |
552 | ||
553 | \func{void}{SetTopWindow}{\param{wxWindow* }{window}} | |
554 | ||
2a47d3c1 JS |
555 | Sets the `top' window. You can call this from within \helpref{wxApp::OnInit}{wxapponinit} to |
556 | let wxWindows know which is the main window. You don't have to set the top window; | |
f6bcfd97 | 557 | it is only a convenience so that (for example) certain dialogs without parents can use a |
2a47d3c1 JS |
558 | specific window as the top window. If no top window is specified by the application, |
559 | wxWindows just uses the first frame or dialog in its top-level window list, when it | |
560 | needs to use the top window. | |
a660d684 KB |
561 | |
562 | \wxheading{Parameters} | |
563 | ||
564 | \docparam{window}{The new top window.} | |
565 | ||
566 | \wxheading{See also} | |
567 | ||
568 | \helpref{wxApp::GetTopWindow}{wxappgettopwindow}, \helpref{wxApp::OnInit}{wxapponinit} | |
569 | ||
2aa59ef4 VS |
570 | |
571 | \membersection{wxApp::SetVendorName}\label{wxappsetvendorname} | |
572 | ||
573 | \func{void}{SetVendorName}{\param{const wxString\& }{name}} | |
574 | ||
575 | Sets the name of application's vendor. The name will be used | |
576 | in registry access. A default name is set by | |
577 | wxWindows. | |
578 | ||
579 | \wxheading{See also} | |
580 | ||
581 | \helpref{wxApp::GetVendorName}{wxappgetvendorname} | |
582 | ||
8480b297 RR |
583 | \membersection{wxApp::SetUseBestVisual}\label{wxappsetusebestvisual} |
584 | ||
585 | \func{void}{SetUseBestVisual}{\param{bool}{ flag}} | |
586 | ||
587 | Allows the programmer to specify whether the application will use the best visual | |
103aab26 RR |
588 | on systems that support several visual on the same display. This is typically the |
589 | case under Solaris and IRIX, where the default visual is only 8-bit whereas certain | |
590 | appications are supposed to run in TrueColour mode. | |
8480b297 | 591 | |
fa482912 | 592 | Note that this function has to be called in the constructor of the {\tt wxApp} |
8480b297 RR |
593 | instance and won't have any effect when called later on. |
594 | ||
595 | This function currently only has effect under GTK. | |
596 | ||
597 | \wxheading{Parameters} | |
598 | ||
599 | \docparam{flag}{If TRUE, the app will use the best visual.} | |
e06b9569 | 600 | |
5638d705 | 601 | \membersection{wxApp::Yield}\label{wxappyield} |
8461e4c2 VZ |
602 | |
603 | \func{bool}{Yield}{\param{bool}{ onlyIfNeeded = FALSE}} | |
604 | ||
605 | Yields control to pending messages in the windowing system. This can be useful, for example, when a | |
606 | time-consuming process writes to a text window. Without an occasional | |
607 | yield, the text window will not be updated properly, and on systems with | |
608 | cooperative multitasking, such as Windows 3.1 other processes will not respond. | |
609 | ||
610 | Caution should be exercised, however, since yielding may allow the | |
611 | user to perform actions which are not compatible with the current task. | |
612 | Disabling menu items or whole menus during processing can avoid unwanted | |
613 | reentrance of code: see \helpref{::wxSafeYield}{wxsafeyield} for a better | |
614 | function. | |
615 | ||
616 | Note that Yield() will not flush the message logs. This is intentional as | |
617 | calling Yield() is usually done to quickly update the screen and popping up a | |
618 | message box dialog may be undesirable. If you do wish to flush the log | |
619 | messages immediately (otherwise it will be done during the next idle loop | |
620 | iteration), call \helpref{wxLog::FlushActive}{wxlogflushactive}. | |
621 | ||
622 | Calling Yield() recursively is normally an error and an assert failure is | |
623 | raised in debug build if such situation is detected. However if the the | |
624 | {\it onlyIfNeeded} parameter is {\tt TRUE}, the method will just silently | |
625 | return {\tt FALSE} instead. | |
626 |