1998-05-20 10:25:30 -04:00
|
|
|
\section{\class{wxApp}}\label{wxapp}
|
|
|
|
|
|
|
|
The {\bf wxApp} class represents the application itself. It is used
|
|
|
|
to:
|
|
|
|
|
|
|
|
\begin{itemize}\itemsep=0pt
|
|
|
|
\item set and get application-wide properties;
|
|
|
|
\item implement the windowing system message or event loop;
|
|
|
|
\item initiate application processing via \helpref{wxApp::OnInit}{wxapponinit};
|
|
|
|
\item allow default processing of events not handled by other
|
|
|
|
objects in the application.
|
|
|
|
\end{itemize}
|
|
|
|
|
|
|
|
You should use the macro IMPLEMENT\_APP(appClass) in your application implementation
|
|
|
|
file to tell wxWindows how to create an instance of your application class.
|
|
|
|
|
|
|
|
Use DECLARE\_APP(appClass) in a header file if you want the wxGetApp function (which returns
|
|
|
|
a reference to your application object) to be visible to other files.
|
|
|
|
|
|
|
|
\wxheading{Derived from}
|
|
|
|
|
|
|
|
\helpref{wxEvtHandler}{wxevthandler}\\
|
|
|
|
\helpref{wxObject}{wxobject}
|
|
|
|
|
1999-02-15 15:41:29 -05:00
|
|
|
\wxheading{Include files}
|
|
|
|
|
|
|
|
<wx/app.h>
|
|
|
|
|
1998-05-20 10:25:30 -04:00
|
|
|
\wxheading{See also}
|
|
|
|
|
|
|
|
\helpref{wxApp overview}{wxappoverview}
|
|
|
|
|
|
|
|
\latexignore{\rtfignore{\wxheading{Members}}}
|
|
|
|
|
|
|
|
\membersection{wxApp::wxApp}
|
|
|
|
|
1999-01-16 17:17:13 -05:00
|
|
|
\func{void}{wxApp}{\void}
|
1998-05-20 10:25:30 -04:00
|
|
|
|
|
|
|
Constructor. Called implicitly with a definition of a wxApp object.
|
|
|
|
|
|
|
|
\membersection{wxApp::\destruct{wxApp}}
|
|
|
|
|
|
|
|
\func{void}{\destruct{wxApp}}{\void}
|
|
|
|
|
|
|
|
Destructor. Will be called implicitly on program exit if the wxApp
|
|
|
|
object is created on the stack.
|
|
|
|
|
|
|
|
\membersection{wxApp::argc}\label{wxappargc}
|
|
|
|
|
|
|
|
\member{int}{argc}
|
|
|
|
|
|
|
|
Number of command line arguments (after environment-specific processing).
|
|
|
|
|
|
|
|
\membersection{wxApp::argv}\label{wxappargv}
|
|
|
|
|
|
|
|
\member{char **}{argv}
|
|
|
|
|
|
|
|
Command line arguments (after environment-specific processing).
|
|
|
|
|
|
|
|
\membersection{wxApp::CreateLogTarget}\label{wxappcreatelogtarget}
|
|
|
|
|
|
|
|
\func{virtual wxLog*}{CreateLogTarget}{\void}
|
|
|
|
|
|
|
|
Creates a wxLog class for the application to use for logging errors. The default
|
|
|
|
implementation returns a new wxLogGui class.
|
|
|
|
|
|
|
|
\wxheading{See also}
|
|
|
|
|
|
|
|
\helpref{wxLog}{wxlog}
|
|
|
|
|
|
|
|
\membersection{wxApp::Dispatch}\label{wxappdispatch}
|
|
|
|
|
|
|
|
\func{void}{Dispatch}{\void}
|
|
|
|
|
|
|
|
Dispatches the next event in the windowing system event queue.
|
|
|
|
|
|
|
|
This can be used for programming event loops, e.g.
|
|
|
|
|
|
|
|
\begin{verbatim}
|
|
|
|
while (app.Pending())
|
|
|
|
Dispatch();
|
|
|
|
\end{verbatim}
|
|
|
|
|
|
|
|
\wxheading{See also}
|
|
|
|
|
|
|
|
\helpref{wxApp::Pending}{wxapppending}
|
|
|
|
|
|
|
|
\membersection{wxApp::GetAppName}\label{wxappgetappname}
|
|
|
|
|
|
|
|
\constfunc{wxString}{GetAppName}{\void}
|
|
|
|
|
|
|
|
Returns the application name.
|
|
|
|
|
|
|
|
\wxheading{Remarks}
|
|
|
|
|
|
|
|
wxWindows sets this to a reasonable default before
|
|
|
|
calling \helpref{wxApp::OnInit}{wxapponinit}, but the application can reset it at will.
|
|
|
|
|
|
|
|
\membersection{wxApp::GetAuto3D}\label{wxappgetauto3d}
|
|
|
|
|
|
|
|
\constfunc{bool}{GetAuto3D}{\void}
|
|
|
|
|
|
|
|
Returns TRUE if 3D control mode is on, FALSE otherwise.
|
|
|
|
|
|
|
|
\wxheading{See also}
|
|
|
|
|
|
|
|
\helpref{wxApp::SetAuto3D}{wxappsetauto3d}
|
|
|
|
|
|
|
|
\membersection{wxApp::GetClassName}\label{wxappgetclassname}
|
|
|
|
|
|
|
|
\constfunc{wxString}{GetClassName}{\void}
|
|
|
|
|
|
|
|
Gets the class name of the application. The class name may be used in a platform specific
|
|
|
|
manner to refer to the application.
|
|
|
|
|
|
|
|
\wxheading{See also}
|
|
|
|
|
|
|
|
\helpref{wxApp::SetClassName}{wxappsetclassname}
|
|
|
|
|
1999-12-29 04:48:10 -05:00
|
|
|
\membersection{wxApp::GetExitOnFrameDelete}\label{wxappgetexitonframedelete}
|
1998-05-20 10:25:30 -04:00
|
|
|
|
1999-12-29 04:48:10 -05:00
|
|
|
\constfunc{bool}{GetExitFrameOnDelete}{\void}
|
1998-05-20 10:25:30 -04:00
|
|
|
|
|
|
|
Returns TRUE if the application will exit when the top-level window is deleted, FALSE
|
|
|
|
otherwise.
|
|
|
|
|
|
|
|
\wxheading{See also}
|
|
|
|
|
1999-12-29 04:48:10 -05:00
|
|
|
\helpref{wxApp::SetExitOnFrameDelete}{wxappsetexitonframedelete}
|
1998-05-20 10:25:30 -04:00
|
|
|
|
|
|
|
\membersection{wxApp::GetTopWindow}\label{wxappgettopwindow}
|
|
|
|
|
2001-02-20 08:39:50 -05:00
|
|
|
\constfunc{virtual wxWindow *}{GetTopWindow}{\void}
|
1998-05-20 10:25:30 -04:00
|
|
|
|
|
|
|
Returns a pointer to the top window.
|
|
|
|
|
1999-02-28 15:59:08 -05:00
|
|
|
\wxheading{Remarks}
|
|
|
|
|
|
|
|
If the top window hasn't been set using \helpref{wxApp::SetTopWindow}{wxappsettopwindow}, this
|
|
|
|
function will find the first top-level window (frame or dialog) and return that.
|
|
|
|
|
1998-05-20 10:25:30 -04:00
|
|
|
\wxheading{See also}
|
|
|
|
|
2000-01-31 12:37:37 -05:00
|
|
|
\helpref{SetTopWindow}{wxappsettopwindow}
|
|
|
|
|
|
|
|
\membersection{wxApp::GetUseBestVisual}\label{wxappgetusebestvisual}
|
|
|
|
|
|
|
|
\constfunc{bool}{GetUseBestVisual}{\void}
|
|
|
|
|
2000-02-01 11:37:28 -05:00
|
|
|
Returns TRUE if the application will use the best visual on systems that support
|
2000-01-31 12:37:37 -05:00
|
|
|
different visuals, FALSE otherwise.
|
|
|
|
|
|
|
|
\wxheading{See also}
|
|
|
|
|
|
|
|
\helpref{SetUseBestVisual}{wxappsetusebestvisual}
|
1998-05-20 10:25:30 -04:00
|
|
|
|
2000-02-23 11:54:18 -05:00
|
|
|
\membersection{wxApp::GetVendorName}\label{wxappgetvendorname}
|
2000-02-16 16:41:22 -05:00
|
|
|
|
|
|
|
\constfunc{wxString}{GetVendorName}{\void}
|
|
|
|
|
|
|
|
Returns the application's vendor name.
|
|
|
|
|
1998-05-20 10:25:30 -04:00
|
|
|
\membersection{wxApp::ExitMainLoop}\label{wxappexitmainloop}
|
|
|
|
|
|
|
|
\func{void}{ExitMainLoop}{\void}
|
|
|
|
|
|
|
|
Call this to explicitly exit the main message (event) loop.
|
|
|
|
You should normally exit the main loop (and the application) by deleting
|
|
|
|
the top window.
|
|
|
|
|
|
|
|
\membersection{wxApp::Initialized}\label{wxappinitialized}
|
|
|
|
|
|
|
|
\func{bool}{Initialized}{\void}
|
|
|
|
|
|
|
|
Returns TRUE if the application has been initialized (i.e. if\rtfsp
|
|
|
|
\helpref{wxApp::OnInit}{wxapponinit} has returned successfully). This can be useful for error
|
|
|
|
message routines to determine which method of output is best for the
|
|
|
|
current state of the program (some windowing systems may not like
|
|
|
|
dialogs to pop up before the main loop has been entered).
|
|
|
|
|
|
|
|
\membersection{wxApp::MainLoop}\label{wxappmainloop}
|
|
|
|
|
|
|
|
\func{int}{MainLoop}{\void}
|
|
|
|
|
|
|
|
Called by wxWindows on creation of the application. Override this if you wish
|
|
|
|
to provide your own (environment-dependent) main loop.
|
|
|
|
|
|
|
|
\wxheading{Return value}
|
|
|
|
|
|
|
|
Returns 0 under X, and the wParam of the WM\_QUIT message under Windows.
|
|
|
|
|
2001-07-11 11:19:32 -04:00
|
|
|
%% VZ: OnXXX() functions should *not* be documented
|
|
|
|
%%
|
|
|
|
%%\membersection{wxApp::OnActivate}\label{wxapponactivate}
|
|
|
|
%%
|
|
|
|
%%\func{void}{OnActivate}{\param{wxActivateEvent\& }{event}}
|
|
|
|
%%
|
|
|
|
%%Provide this member function to know whether the application is being
|
|
|
|
%%activated or deactivated (Windows only).
|
|
|
|
%%
|
|
|
|
%%\wxheading{See also}
|
|
|
|
%%
|
|
|
|
%%\helpref{wxWindow::OnActivate}{wxwindowonactivate}, \helpref{wxActivateEvent}{wxactivateevent}
|
|
|
|
%%
|
|
|
|
%%\membersection{wxApp::OnCharHook}\label{wxapponcharhook}
|
|
|
|
%%
|
|
|
|
%%\func{void}{OnCharHook}{\param{wxKeyEvent\&}{ event}}
|
|
|
|
%%
|
|
|
|
%%This event handler function is called (under Windows only) to allow the window to intercept keyboard events
|
|
|
|
%%before they are processed by child windows.
|
|
|
|
%%
|
|
|
|
%%\wxheading{Parameters}
|
|
|
|
%%
|
|
|
|
%%\docparam{event}{The keypress event.}
|
|
|
|
%%
|
|
|
|
%%\wxheading{Remarks}
|
|
|
|
%%
|
|
|
|
%%Use the wxEVT\_CHAR\_HOOK macro in your event table.
|
|
|
|
%%
|
|
|
|
%%If you use this member, you can selectively consume keypress events by calling\rtfsp
|
|
|
|
%%\helpref{wxEvent::Skip}{wxeventskip} for characters the application is not interested in.
|
|
|
|
%%
|
|
|
|
%%\wxheading{See also}
|
|
|
|
%%
|
|
|
|
%%\helpref{wxKeyEvent}{wxkeyevent}, \helpref{wxWindow::OnChar}{wxwindowonchar},\rtfsp
|
|
|
|
%%\helpref{wxWindow::OnCharHook}{wxwindowoncharhook}, \helpref{wxDialog::OnCharHook}{wxdialogoncharhook}
|
|
|
|
|
|
|
|
\membersection{wxApp::OnAssert}\label{wxapponassert}
|
|
|
|
|
|
|
|
\func{void}{OnAssert}{\param{const wxChar }{*file}, \param{int }{line}, \param{const wxChar }{*msg}}
|
|
|
|
|
|
|
|
This function is called when an assert failure occurs, i.e. the condition
|
|
|
|
specified in \helpref{wxASSERT}{wxassert} macro evaluated to {\tt FALSE}.
|
2001-07-18 16:47:23 -04:00
|
|
|
It is only called in debug mode (when {\tt \_\_WXDEBUG\_\_} is defined) as
|
2001-07-11 11:19:32 -04:00
|
|
|
asserts are not left in the release code at all.
|
|
|
|
|
|
|
|
The base class version show the default assert failure dialog box proposing to
|
|
|
|
the user to stop the program, continue or ignore all subsequent asserts.
|
1998-05-20 10:25:30 -04:00
|
|
|
|
2001-07-11 11:19:32 -04:00
|
|
|
\wxheading{Parameters}
|
1998-05-20 10:25:30 -04:00
|
|
|
|
2001-07-11 11:19:32 -04:00
|
|
|
\docparam{file}{the name of the source file where the assert occured}
|
1998-05-20 10:25:30 -04:00
|
|
|
|
2001-07-11 11:19:32 -04:00
|
|
|
\docparam{line}{the line number in this file where the assert occured}
|
1998-05-20 10:25:30 -04:00
|
|
|
|
2001-07-11 11:19:32 -04:00
|
|
|
\docparam{msg}{the message specified as argument to
|
|
|
|
\helpref{wxASSERT\_MSG}{wxassertmsg} or \helpref{wxFAIL\_MSG}{wxfailmsg}, will
|
|
|
|
be {\tt NULL} if just \helpref{wxASSERT}{wxassert} or \helpref{wxFAIL}{wxfail}
|
|
|
|
was used}
|
1998-05-20 10:25:30 -04:00
|
|
|
|
|
|
|
\membersection{wxApp::OnExit}\label{wxapponexit}
|
|
|
|
|
|
|
|
\func{int}{OnExit}{\void}
|
|
|
|
|
|
|
|
Provide this member function for any processing which needs to be done as
|
|
|
|
the application is about to exit.
|
|
|
|
|
2001-07-10 13:28:19 -04:00
|
|
|
\membersection{wxApp::OnCmdLineError}\label{wxapponcmdlineerror}
|
2000-03-17 11:55:34 -05:00
|
|
|
|
2001-07-10 13:28:19 -04:00
|
|
|
\func{bool}{OnCmdLineError}{\param{wxCmdLineParser\& }{parser}}
|
2000-03-17 11:55:34 -05:00
|
|
|
|
2001-07-10 13:28:19 -04:00
|
|
|
Called when command line parsing fails (i.e. an incorrect command line option
|
|
|
|
was specified by the user). The default behaviour is to show the program usage
|
|
|
|
text and abort the program.
|
2000-03-17 11:55:34 -05:00
|
|
|
|
2001-07-10 13:28:19 -04:00
|
|
|
Return {\tt TRUE} to continue normal execution or {\tt FALSE} to return
|
|
|
|
{\tt FALSE} from \helpref{OnInit}{wxapponinit} thus terminating the program.
|
2000-03-17 11:55:34 -05:00
|
|
|
|
|
|
|
\wxheading{See also}
|
|
|
|
|
2001-07-10 13:28:19 -04:00
|
|
|
\helpref{OnInitCmdLine}{wxapponinitcmdline}
|
2000-03-17 11:55:34 -05:00
|
|
|
|
2001-07-10 13:28:19 -04:00
|
|
|
\membersection{wxApp::OnCmdLineHelp}\label{wxapponcmdlinehelp}
|
1998-05-20 10:25:30 -04:00
|
|
|
|
2001-07-10 13:28:19 -04:00
|
|
|
\func{bool}{OnCmdLineHelp}{\param{wxCmdLineParser\& }{parser}}
|
1998-05-20 10:25:30 -04:00
|
|
|
|
2001-07-10 13:28:19 -04:00
|
|
|
Called when the help option ({\tt --help}) was specified on the command line.
|
|
|
|
The default behaviour is to show the program usage text and abort the program.
|
1998-05-20 10:25:30 -04:00
|
|
|
|
2001-07-10 13:28:19 -04:00
|
|
|
Return {\tt TRUE} to continue normal execution or {\tt FALSE} to return
|
|
|
|
{\tt FALSE} from \helpref{OnInit}{wxapponinit} thus terminating the program.
|
1998-05-20 10:25:30 -04:00
|
|
|
|
|
|
|
\wxheading{See also}
|
|
|
|
|
2001-07-10 13:28:19 -04:00
|
|
|
\helpref{OnInitCmdLine}{wxapponinitcmdline}
|
1998-05-20 10:25:30 -04:00
|
|
|
|
2001-07-10 13:28:19 -04:00
|
|
|
\membersection{wxApp::OnCmdLineParsed}\label{wxapponcmdlineparsed}
|
1998-10-12 15:45:24 -04:00
|
|
|
|
2001-07-10 13:28:19 -04:00
|
|
|
\func{bool}{OnCmdLineParsed}{\param{wxCmdLineParser\& }{parser}}
|
1998-10-12 15:45:24 -04:00
|
|
|
|
2001-07-10 13:28:19 -04:00
|
|
|
Called after the command line had been successfully parsed. You may override
|
|
|
|
this method to test for the values of the various parameters which could be
|
|
|
|
set from the command line.
|
1998-10-12 15:45:24 -04:00
|
|
|
|
2001-07-10 13:28:19 -04:00
|
|
|
Don't forget to call the base class version unless you want to suppress
|
|
|
|
processing of the standard command line options.
|
1998-10-12 15:45:24 -04:00
|
|
|
|
2001-07-10 13:28:19 -04:00
|
|
|
Return {\tt TRUE} to continue normal execution or {\tt FALSE} to return
|
|
|
|
{\tt FALSE} from \helpref{OnInit}{wxapponinit} thus terminating the program.
|
1998-10-12 15:45:24 -04:00
|
|
|
|
2001-07-10 13:28:19 -04:00
|
|
|
\wxheading{See also}
|
|
|
|
|
|
|
|
\helpref{OnInitCmdLine}{wxapponinitcmdline}
|
|
|
|
|
|
|
|
\membersection{wxApp::OnFatalException}\label{wxapponfatalexception}
|
|
|
|
|
|
|
|
\func{void}{OnFatalException}{\void}
|
1998-10-12 15:45:24 -04:00
|
|
|
|
2001-07-10 13:28:19 -04:00
|
|
|
This function may be called if something fatal happens: an unhandled
|
|
|
|
exception under Win32 or a a fatal signal under Unix, for example. However,
|
|
|
|
this will not happen by default: you have to explicitly call
|
|
|
|
\helpref{wxHandleFatalExceptions}{wxhandlefatalexceptions} to enable this.
|
1998-10-12 15:45:24 -04:00
|
|
|
|
2001-07-10 13:28:19 -04:00
|
|
|
Generally speaking, this function should only show a message to the user and
|
|
|
|
return. You may attempt to save unsaved data but this is not guaranteed to
|
|
|
|
work and, in fact, probably won't.
|
1998-10-12 15:45:24 -04:00
|
|
|
|
|
|
|
\wxheading{See also}
|
|
|
|
|
2001-07-10 13:28:19 -04:00
|
|
|
\helpref{wxHandleFatalExcetions}{wxhandlefatalexceptions}
|
|
|
|
|
|
|
|
%% VZ: the wxApp event handler are private and should not be documented here!
|
|
|
|
%%
|
|
|
|
%%\membersection{wxApp::OnIdle}\label{wxapponidle}
|
|
|
|
%%
|
|
|
|
%%\func{void}{OnIdle}{\param{wxIdleEvent\& }{event}}
|
|
|
|
%%
|
|
|
|
%%Override this member function for any processing which needs to be done
|
|
|
|
%%when the application is idle. You should call wxApp::OnIdle from your own function,
|
|
|
|
%%since this forwards OnIdle events to windows and also performs garbage collection for
|
|
|
|
%%windows whose destruction has been delayed.
|
|
|
|
%%
|
|
|
|
%%wxWindows' strategy for OnIdle processing is as follows. After pending user interface events for an
|
|
|
|
%%application have all been processed, wxWindows sends an OnIdle event to the application object. wxApp::OnIdle itself
|
|
|
|
%%sends an OnIdle event to each application window, allowing windows to do idle processing such as updating
|
|
|
|
%%their appearance. If either wxApp::OnIdle or a window OnIdle function requested more time, by
|
|
|
|
%%caling \helpref{wxIdleEvent::RequestMore}{wxidleeventrequestmore}, wxWindows will send another OnIdle
|
|
|
|
%%event to the application object. This will occur in a loop until either a user event is found to be
|
|
|
|
%%pending, or OnIdle requests no more time. Then all pending user events are processed until the system
|
|
|
|
%%goes idle again, when OnIdle is called, and so on.
|
|
|
|
%%
|
|
|
|
%%\wxheading{See also}
|
|
|
|
%%
|
|
|
|
%%\helpref{wxWindow::OnIdle}{wxwindowonidle}, \helpref{wxIdleEvent}{wxidleevent},\rtfsp
|
|
|
|
%%\helpref{wxWindow::SendIdleEvents}{wxappsendidleevents}
|
|
|
|
%%
|
|
|
|
%%\membersection{wxApp::OnEndSession}\label{wxapponendsession}
|
|
|
|
%%
|
|
|
|
%%\func{void}{OnEndSession}{\param{wxCloseEvent\& }{event}}
|
|
|
|
%%
|
|
|
|
%%This is an event handler function called when the operating system or GUI session is
|
|
|
|
%%about to close down. The application has a chance to silently save information,
|
|
|
|
%%and can optionally close itself.
|
|
|
|
%%
|
|
|
|
%%Use the EVT\_END\_SESSION event table macro to handle query end session events.
|
|
|
|
%%
|
|
|
|
%%The default handler calls \helpref{wxWindow::Close}{wxwindowclose} with a TRUE argument
|
|
|
|
%%(forcing the application to close itself silently).
|
|
|
|
%%
|
|
|
|
%%\wxheading{Remarks}
|
|
|
|
%%
|
|
|
|
%%Under X, OnEndSession is called in response to the `die' event.
|
|
|
|
%%
|
|
|
|
%%Under Windows, OnEndSession is called in response to the WM\_ENDSESSION message.
|
|
|
|
%%
|
|
|
|
%%\wxheading{See also}
|
|
|
|
%%
|
|
|
|
%%\helpref{wxWindow::Close}{wxwindowclose},\rtfsp
|
|
|
|
%%\helpref{wxWindow::OnCloseWindow}{wxwindowonclosewindow},\rtfsp
|
|
|
|
%%\helpref{wxCloseEvent}{wxcloseevent},\rtfsp
|
|
|
|
%%\helpref{wxApp::OnQueryEndSession}{wxapponqueryendsession}
|
1998-10-12 15:45:24 -04:00
|
|
|
|
1998-05-20 10:25:30 -04:00
|
|
|
\membersection{wxApp::OnInit}\label{wxapponinit}
|
|
|
|
|
|
|
|
\func{bool}{OnInit}{\void}
|
|
|
|
|
|
|
|
This must be provided by the application, and will usually create the
|
2001-07-10 13:28:19 -04:00
|
|
|
application's main window, optionally calling
|
|
|
|
\helpref{wxApp::SetTopWindow}{wxappsettopwindow}.
|
|
|
|
|
|
|
|
Notice that if you want to to use the command line processing provided by
|
|
|
|
wxWindows you have to call the base class version in the derived class
|
|
|
|
OnInit().
|
1998-05-20 10:25:30 -04:00
|
|
|
|
|
|
|
Return TRUE to continue processing, FALSE to exit the application.
|
|
|
|
|
2001-07-10 13:28:19 -04:00
|
|
|
\membersection{wxApp::OnInitCmdLine}\label{wxapponinitcmdline}
|
|
|
|
|
|
|
|
\func{void}{OnInitCmdLine}{\param{wxCmdLineParser\& }{parser}}
|
|
|
|
|
|
|
|
Called from \helpref{OnInit}{wxapponinit} and may be used to initialize the
|
|
|
|
parser with the command line options for this application. The base class
|
|
|
|
versions adds support for a few standard options only.
|
|
|
|
|
1998-10-12 15:45:24 -04:00
|
|
|
\membersection{wxApp::OnQueryEndSession}\label{wxapponqueryendsession}
|
1998-05-20 10:25:30 -04:00
|
|
|
|
1998-10-12 15:45:24 -04:00
|
|
|
\func{void}{OnQueryEndSession}{\param{wxCloseEvent\& }{event}}
|
1998-05-20 10:25:30 -04:00
|
|
|
|
1998-10-12 15:45:24 -04:00
|
|
|
This is an event handler function called when the operating system or GUI session is
|
|
|
|
about to close down. Typically, an application will try to save unsaved documents
|
|
|
|
at this point.
|
|
|
|
|
|
|
|
If \helpref{wxCloseEvent::CanVeto}{wxcloseeventcanveto} returns TRUE, the application
|
|
|
|
is allowed to veto the shutdown by calling \helpref{wxCloseEvent::Veto}{wxcloseeventveto}.
|
|
|
|
The application might veto the shutdown after prompting for documents to be saved, and the
|
|
|
|
user has cancelled the save.
|
|
|
|
|
|
|
|
Use the EVT\_QUERY\_END\_SESSION event table macro to handle query end session events.
|
|
|
|
|
|
|
|
You should check whether the application is forcing the deletion of the window
|
|
|
|
using \helpref{wxCloseEvent::GetForce}{wxcloseeventgetforce}. If this is TRUE,
|
|
|
|
destroy the window using \helpref{wxWindow::Destroy}{wxwindowdestroy}.
|
|
|
|
If not, it is up to you whether you respond by destroying the window.
|
|
|
|
|
|
|
|
The default handler calls \helpref{wxWindow::Close}{wxwindowclose} on the top-level window,
|
|
|
|
and vetoes the shutdown if Close returns FALSE. This will be sufficient for many applications.
|
|
|
|
|
|
|
|
\wxheading{Remarks}
|
|
|
|
|
2000-02-02 14:30:09 -05:00
|
|
|
Under X, OnQueryEndSession is called in response to the `save session' event.
|
1998-10-12 15:45:24 -04:00
|
|
|
|
|
|
|
Under Windows, OnQueryEndSession is called in response to the WM\_QUERYENDSESSION message.
|
1998-05-20 10:25:30 -04:00
|
|
|
|
|
|
|
\wxheading{See also}
|
|
|
|
|
1998-10-12 15:45:24 -04:00
|
|
|
\helpref{wxWindow::Close}{wxwindowclose},\rtfsp
|
|
|
|
\helpref{wxWindow::OnCloseWindow}{wxwindowonclosewindow},\rtfsp
|
2001-08-29 15:39:14 -04:00
|
|
|
\helpref{wxCloseEvent}{wxcloseevent}
|
|
|
|
%% GD: OnXXX functions are not documented
|
|
|
|
%%\helpref{wxApp::OnEndSession}{wxapponendsession}
|
1998-10-12 15:45:24 -04:00
|
|
|
|
1998-05-20 10:25:30 -04:00
|
|
|
\membersection{wxApp::ProcessMessage}\label{wxappprocessmessage}
|
|
|
|
|
|
|
|
\func{bool}{ProcessMessage}{\param{MSG *}{msg}}
|
|
|
|
|
|
|
|
Windows-only function for processing a message. This function
|
|
|
|
is called from the main message loop, checking for windows that
|
|
|
|
may wish to process it. The function returns TRUE if the message
|
|
|
|
was processed, FALSE otherwise. If you use wxWindows with another class
|
|
|
|
library with its own message loop, you should make sure that this
|
|
|
|
function is called to allow wxWindows to receive messages. For example,
|
|
|
|
to allow co-existance with the Microsoft Foundation Classes, override
|
|
|
|
the PreTranslateMessage function:
|
|
|
|
|
|
|
|
\begin{verbatim}
|
|
|
|
// Provide wxWindows message loop compatibility
|
|
|
|
BOOL CTheApp::PreTranslateMessage(MSG *msg)
|
|
|
|
{
|
|
|
|
if (wxTheApp && wxTheApp->ProcessMessage(msg))
|
|
|
|
return TRUE;
|
|
|
|
else
|
|
|
|
return CWinApp::PreTranslateMessage(msg);
|
|
|
|
}
|
|
|
|
\end{verbatim}
|
|
|
|
|
1998-10-12 15:45:24 -04:00
|
|
|
\membersection{wxApp::Pending}\label{wxapppending}
|
|
|
|
|
|
|
|
\func{bool}{Pending}{\void}
|
|
|
|
|
1999-12-29 04:48:10 -05:00
|
|
|
Returns TRUE if unprocessed events are in the window system event queue.
|
1998-10-12 15:45:24 -04:00
|
|
|
|
|
|
|
\wxheading{See also}
|
|
|
|
|
|
|
|
\helpref{wxApp::Dispatch}{wxappdispatch}
|
|
|
|
|
1998-05-20 10:25:30 -04:00
|
|
|
\membersection{wxApp::SendIdleEvents}\label{wxappsendidleevents}
|
|
|
|
|
|
|
|
\func{bool}{SendIdleEvents}{\void}
|
|
|
|
|
|
|
|
Sends idle events to all top-level windows.
|
|
|
|
|
|
|
|
\func{bool}{SendIdleEvents}{\param{wxWindow*}{ win}}
|
|
|
|
|
|
|
|
Sends idle events to a window and its children.
|
|
|
|
|
|
|
|
\wxheading{Remarks}
|
|
|
|
|
|
|
|
These functions poll the top-level windows, and their children, for idle event processing.
|
|
|
|
If TRUE is returned, more OnIdle processing is requested by one or more window.
|
|
|
|
|
|
|
|
\wxheading{See also}
|
|
|
|
|
2001-08-29 15:39:14 -04:00
|
|
|
%% GD: OnXXX functions are not documented
|
|
|
|
%%\helpref{wxApp::OnIdle}{wxapponidle}
|
|
|
|
\helpref{wxWindow::OnIdle}{wxwindowonidle},\rtfsp
|
|
|
|
\helpref{wxIdleEvent}{wxidleevent}
|
1998-05-20 10:25:30 -04:00
|
|
|
|
|
|
|
\membersection{wxApp::SetAppName}\label{wxappsetappname}
|
|
|
|
|
|
|
|
\func{void}{SetAppName}{\param{const wxString\& }{name}}
|
|
|
|
|
|
|
|
Sets the name of the application. The name may be used in dialogs
|
|
|
|
(for example by the document/view framework). A default name is set by
|
|
|
|
wxWindows.
|
|
|
|
|
|
|
|
\wxheading{See also}
|
|
|
|
|
|
|
|
\helpref{wxApp::GetAppName}{wxappgetappname}
|
|
|
|
|
|
|
|
\membersection{wxApp::SetAuto3D}\label{wxappsetauto3d}
|
|
|
|
|
|
|
|
\func{void}{SetAuto3D}{\param{const bool}{ auto3D}}
|
|
|
|
|
|
|
|
Switches automatic 3D controls on or off.
|
|
|
|
|
|
|
|
\wxheading{Parameters}
|
|
|
|
|
|
|
|
\docparam{auto3D}{If TRUE, all controls will be created with 3D appearances unless
|
|
|
|
overridden for a control or dialog. The default is TRUE}
|
|
|
|
|
|
|
|
\wxheading{Remarks}
|
|
|
|
|
|
|
|
This has an effect on Windows only.
|
|
|
|
|
|
|
|
\wxheading{See also}
|
|
|
|
|
|
|
|
\helpref{wxApp::GetAuto3D}{wxappgetauto3d}
|
|
|
|
|
|
|
|
\membersection{wxApp::SetClassName}\label{wxappsetclassname}
|
|
|
|
|
|
|
|
\func{void}{SetClassName}{\param{const wxString\& }{name}}
|
|
|
|
|
|
|
|
Sets the class name of the application. This may be used in a platform specific
|
|
|
|
manner to refer to the application.
|
|
|
|
|
|
|
|
\wxheading{See also}
|
|
|
|
|
|
|
|
\helpref{wxApp::GetClassName}{wxappgetclassname}
|
|
|
|
|
1999-12-29 04:48:10 -05:00
|
|
|
\membersection{wxApp::SetExitOnFrameDelete}\label{wxappsetexitonframedelete}
|
1998-05-20 10:25:30 -04:00
|
|
|
|
1999-12-29 04:48:10 -05:00
|
|
|
\func{void}{SetExitOnFrameDelete}{\param{bool}{ flag}}
|
1998-05-20 10:25:30 -04:00
|
|
|
|
|
|
|
Allows the programmer to specify whether the application will exit when the
|
|
|
|
top-level frame is deleted.
|
|
|
|
|
|
|
|
\wxheading{Parameters}
|
|
|
|
|
|
|
|
\docparam{flag}{If TRUE (the default), the application will exit when the top-level frame is
|
|
|
|
deleted. If FALSE, the application will continue to run.}
|
|
|
|
|
|
|
|
\membersection{wxApp::SetTopWindow}\label{wxappsettopwindow}
|
|
|
|
|
|
|
|
\func{void}{SetTopWindow}{\param{wxWindow* }{window}}
|
|
|
|
|
1999-02-28 15:59:08 -05:00
|
|
|
Sets the `top' window. You can call this from within \helpref{wxApp::OnInit}{wxapponinit} to
|
|
|
|
let wxWindows know which is the main window. You don't have to set the top window;
|
2000-07-15 15:51:35 -04:00
|
|
|
it is only a convenience so that (for example) certain dialogs without parents can use a
|
1999-02-28 15:59:08 -05:00
|
|
|
specific window as the top window. If no top window is specified by the application,
|
|
|
|
wxWindows just uses the first frame or dialog in its top-level window list, when it
|
|
|
|
needs to use the top window.
|
1998-05-20 10:25:30 -04:00
|
|
|
|
|
|
|
\wxheading{Parameters}
|
|
|
|
|
|
|
|
\docparam{window}{The new top window.}
|
|
|
|
|
|
|
|
\wxheading{See also}
|
|
|
|
|
|
|
|
\helpref{wxApp::GetTopWindow}{wxappgettopwindow}, \helpref{wxApp::OnInit}{wxapponinit}
|
|
|
|
|
2000-02-16 16:41:22 -05:00
|
|
|
|
|
|
|
\membersection{wxApp::SetVendorName}\label{wxappsetvendorname}
|
|
|
|
|
|
|
|
\func{void}{SetVendorName}{\param{const wxString\& }{name}}
|
|
|
|
|
|
|
|
Sets the name of application's vendor. The name will be used
|
|
|
|
in registry access. A default name is set by
|
|
|
|
wxWindows.
|
|
|
|
|
|
|
|
\wxheading{See also}
|
|
|
|
|
|
|
|
\helpref{wxApp::GetVendorName}{wxappgetvendorname}
|
|
|
|
|
1999-07-05 07:22:45 -04:00
|
|
|
\membersection{wxApp::GetStdIcon}\label{wxappgetstdicon}
|
|
|
|
|
|
|
|
\func{virtual wxIcon}{GetStdIcon}{\param{int }{which}} const
|
|
|
|
|
|
|
|
Returns the icons used by wxWindows internally, e.g. the ones used for
|
|
|
|
message boxes. This function is used internally and
|
|
|
|
can be overridden by the user to change the default icons.
|
|
|
|
|
|
|
|
\wxheading{Parameters}
|
|
|
|
|
2000-03-14 19:21:49 -05:00
|
|
|
\docparam{which}{One of the wxICON\_XXX specifies which icon to return.}
|
|
|
|
|
|
|
|
See \helpref{wxMessageBox}{wxmessagebox} for a list of icon identifiers.
|
1999-07-05 07:22:45 -04:00
|
|
|
|
2000-01-31 12:37:37 -05:00
|
|
|
\membersection{wxApp::SetUseBestVisual}\label{wxappsetusebestvisual}
|
|
|
|
|
|
|
|
\func{void}{SetUseBestVisual}{\param{bool}{ flag}}
|
|
|
|
|
|
|
|
Allows the programmer to specify whether the application will use the best visual
|
2000-02-01 11:37:28 -05:00
|
|
|
on systems that support several visual on the same display. This is typically the
|
|
|
|
case under Solaris and IRIX, where the default visual is only 8-bit whereas certain
|
|
|
|
appications are supposed to run in TrueColour mode.
|
2000-01-31 12:37:37 -05:00
|
|
|
|
2000-03-14 19:21:49 -05:00
|
|
|
Note that this function has to be called in the constructor of the {\tt wxApp}
|
2000-01-31 12:37:37 -05:00
|
|
|
instance and won't have any effect when called later on.
|
|
|
|
|
|
|
|
This function currently only has effect under GTK.
|
|
|
|
|
|
|
|
\wxheading{Parameters}
|
|
|
|
|
|
|
|
\docparam{flag}{If TRUE, the app will use the best visual.}
|
2000-02-23 11:54:18 -05:00
|
|
|
|
2001-11-19 11:05:55 -05:00
|
|
|
\membersection{wxApp::Yield}\label{wxappyield}
|
2001-10-19 14:29:32 -04:00
|
|
|
|
|
|
|
\func{bool}{Yield}{\param{bool}{ onlyIfNeeded = FALSE}}
|
|
|
|
|
|
|
|
Yields control to pending messages in the windowing system. This can be useful, for example, when a
|
|
|
|
time-consuming process writes to a text window. Without an occasional
|
|
|
|
yield, the text window will not be updated properly, and on systems with
|
|
|
|
cooperative multitasking, such as Windows 3.1 other processes will not respond.
|
|
|
|
|
|
|
|
Caution should be exercised, however, since yielding may allow the
|
|
|
|
user to perform actions which are not compatible with the current task.
|
|
|
|
Disabling menu items or whole menus during processing can avoid unwanted
|
|
|
|
reentrance of code: see \helpref{::wxSafeYield}{wxsafeyield} for a better
|
|
|
|
function.
|
|
|
|
|
|
|
|
Note that Yield() will not flush the message logs. This is intentional as
|
|
|
|
calling Yield() is usually done to quickly update the screen and popping up a
|
|
|
|
message box dialog may be undesirable. If you do wish to flush the log
|
|
|
|
messages immediately (otherwise it will be done during the next idle loop
|
|
|
|
iteration), call \helpref{wxLog::FlushActive}{wxlogflushactive}.
|
|
|
|
|
|
|
|
Calling Yield() recursively is normally an error and an assert failure is
|
|
|
|
raised in debug build if such situation is detected. However if the the
|
|
|
|
{\it onlyIfNeeded} parameter is {\tt TRUE}, the method will just silently
|
|
|
|
return {\tt FALSE} instead.
|
|
|
|
|