\helpref{wxBITMAP}{wxbitmapmacro}\\
\helpref{wxBeginBusyCursor}{wxbeginbusycursor}\\
\helpref{wxBell}{wxbell}\\
+\helpref{wxCHECK}{wxcheck}\\
\helpref{wxCHECK2\_MSG}{wxcheck2msg}\\
\helpref{wxCHECK2}{wxcheck2}\\
+\helpref{wxCHECK\_GCC\_VERSION}{wxcheckgccversion}\\
\helpref{wxCHECK\_MSG}{wxcheckmsg}\\
\helpref{wxCHECK\_RET}{wxcheckret}\\
\helpref{wxCHECK\_VERSION}{wxcheckversion}\\
-\helpref{wxCHECK}{wxcheck}\\
+\helpref{wxCHECK\_W32API\_VERSION}{wxcheckw32apiversion}\\
\helpref{wxClientDisplayRect}{wxclientdisplayrect}\\
\helpref{wxClipboardOpen}{functionwxclipboardopen}\\
\helpref{wxCloseClipboard}{wxcloseclipboard}\\
\helpref{wxError}{wxerror}\\
\helpref{wxExecute}{wxexecute}\\
\helpref{wxExit}{wxexit}\\
+\helpref{wxEXPLICIT}{wxexplicit}\\
\helpref{wxFAIL\_MSG}{wxfailmsg}\\
\helpref{wxFAIL}{wxfail}\\
\helpref{wxFatalError}{wxfatalerror}\\
\helpref{wxGetPrinterPreviewCommand}{wxgetprinterpreviewcommand}\\
\helpref{wxGetPrinterScaling}{wxgetprinterscaling}\\
\helpref{wxGetPrinterTranslation}{wxgetprintertranslation}\\
+\helpref{wxGetProcessId}{wxgetprocessid}\\
\helpref{wxGetResource}{wxgetresource}\\
\helpref{wxGetSingleChoiceData}{wxgetsinglechoicedata}\\
\helpref{wxGetSingleChoiceIndex}{wxgetsinglechoiceindex}\\
\helpref{wxLogTrace}{wxlogtrace}\\
\helpref{wxLogVerbose}{wxlogverbose}\\
\helpref{wxLogWarning}{wxlogwarning}\\
+\helpref{wxLL}{wxll}\\
+\helpref{wxLongLongFmtSpec}{wxlonglongfmtspec}\\
\helpref{wxMakeMetafilePlaceable}{wxmakemetafileplaceable}\\
\helpref{wxMatchWild}{wxmatchwild}\\
\helpref{wxMessageBox}{wxmessagebox}\\
}
\end{verbatim}
+\membersection{wxCHECK\_GCC\_VERSION}\label{wxcheckgccversion}
+
+\func{bool}{wxCHECK\_GCC\_VERSION}{\param{}{major, minor, release}}
+
+Returns $1$ if the compiler being used to compile the code is GNU C++
+compiler (g++) version major.minor.release or greater. Otherwise, and also if
+the compiler is not GNU C++ at all, returns $0$.
+
+\membersection{wxCHECK\_W32API\_VERSION}\label{wxcheckw32apiversion}
+
+\func{bool}{wxCHECK\_GCC\_VERSION}{\param{}{major, minor, release}}
+
+Returns $1$ if the version of w32api headers used is major.minor.release or
+greater. Otherwise, and also if we are not compiling with mingw32/cygwin under
+Win32 at all, returns $0$.
+
\section{Application initialization and termination}\label{appinifunctions}
The functions in this section are used on application startup/shutdown and also
\membersection{::wxSafeYield}\label{wxsafeyield}
-\func{bool}{wxSafeYield}{\param{wxWindow*}{ win = NULL}}
+\func{bool}{wxSafeYield}{\param{wxWindow*}{ win = NULL}, \param{bool}{
+ onlyIfNeeded = FALSE}}
This function is similar to wxYield, except that it disables the user input to
all program windows before calling wxYield and re-enables it again
Calls \helpref{wxApp::Yield}{wxappyield}.
-This function is kept only for backwards compatibility, please use
-\helpref{wxApp::Yield}{wxappyield}method instead in any new code.
+This function is kept only for backwards compatibility. Please use
+the \helpref{wxApp::Yield}{wxappyield} method instead in any new code.
\wxheading{Include files}
For asynchronous execution, however, the return value is the process id and
zero value indicates that the command could not be executed. As an added
-complication, the return value of $-1$ in this case indicattes that we didn't
+complication, the return value of $-1$ in this case indicates that we didn't
launch a new process, but connected to the running one (this can only happen in
case of using DDE under Windows for command execution). In particular, in this,
and only this, case the calling code will not get the notification about
process termination.
-If callback isn't NULL and if execution is asynchronous,
+If callback isn't NULL and if execution is asynchronous,
\helpref{wxProcess::OnTerminate}{wxprocessonterminate} will be called when
the process finishes. Specifying this parameter also allows you to redirect the
-standard input and/or output of the process being launched by calling
+standard input and/or output of the process being launched by calling
\helpref{Redirect}{wxprocessredirect}. If the child process IO is redirected,
under Windows the process window is not shown by default (this avoids having to
flush an unnecessary console for the processes which don't create any windows
array, any additional ones are the command parameters and the array must be
terminated with a NULL pointer.}
-\docparam{flags}{Combination of bit masks {\tt wxEXEC\_ASYNC},
+\docparam{flags}{Combination of bit masks {\tt wxEXEC\_ASYNC},
{\tt wxEXEC\_SYNC} and {\tt wxEXEC\_NOHIDE}}
\docparam{callback}{An optional pointer to \helpref{wxProcess}{wxprocess}}
\func{int}{wxKill}{\param{long}{ pid}, \param{int}{ sig = wxSIGTERM}, \param{wxKillError }{*rc = NULL}}
Equivalent to the Unix kill function: send the given signal {\it sig} to the
-process with PID {\it pid}. The valud signal values are
+process with PID {\it pid}. The valid signal values are
\begin{verbatim}
enum wxSignal
<wx/utils.h>
+\membersection{::wxGetProcessId}\label{wxgetprocessid}
+
+\func{unsigned long}{wxGetProcessId}{\void}
+
+Returns the number uniquely identifying the current process in the system.
+
+If an error occurs, $0$ is returned.
+
+\wxheading{Include files}
+
+<wx/utils.h>
+
\membersection{::wxShell}\label{wxshell}
\func{bool}{wxShell}{\param{const wxString\& }{command = NULL}}
\func{bool}{wxShutdown}{\param{wxShutdownFlags}{flags}}
-This function shuts down or reboots the computer depending on the value of the
+This function shuts down or reboots the computer depending on the value of the
{\it flags}. Please notice that doing this requires the corresponding access
rights (superuser under Unix, {\tt SE\_SHUTDOWN} privelege under Windows NT)
and that this function is only implemented under Unix and Win32.
\func{char *}{wxFileNameFromPath}{\param{char *}{path}}
-{\bf NB:} This function is obsolete, please use
+{\bf NB:} This function is obsolete, please use
\helpref{wxFileName::SplitPath}{wxfilenamesplitpath} instead.
Returns the filename for a full path. The second form returns a pointer to
Copies {\it file1} to {\it file2}, returning TRUE if successful. If
{\it overwrite} parameter is TRUE (default), the destination file is overwritten
-if it exists, but if {\it overwrite} is FALSE, the functions failes in this
+if it exists, but if {\it overwrite} is FALSE, the functions fails in this
case.
\membersection{::wxGetCwd}\label{wxgetcwd}
\func{void}{wxSplitPath}{\param{const char *}{ fullname}, \param{wxString *}{ path}, \param{wxString *}{ name}, \param{wxString *}{ ext}}
-{\bf NB:} This function is obsolete, please use
+{\bf NB:} This function is obsolete, please use
\helpref{wxFileName::SplitPath}{wxfilenamesplitpath} instead.
This function splits a full file name into components: the path (including possible disk/drive
\func{const wxChar *}{wxGetUserHome}{\param{const wxString\& }{user = ""}}
Returns the home directory for the given user. If the username is empty
-(default value), this function behaves like
+(default value), this function behaves like
\helpref{wxGetHomeDir}{wxgethomedir}.
\wxheading{Include files}
Cancel). For example:
\begin{verbatim}
-const wxString& s = wxFileSelector("Choose a file to open");
-if (s)
+wxString filename = wxFileSelector("Choose a file to open");
+if ( !filename.empty() )
{
- ...
+ // work with the file
+ ...
}
+//else: cancelled by user
\end{verbatim}
\wxheading{Include files}
\param{wxTipProvider *}{tipProvider},
\param{bool }{showAtStartup = TRUE}}
-This function shows a "startup tip" to the user.
+This function shows a "startup tip" to the user. The return value is the
+state of the ``Show tips at startup'' checkbox.
\docparam{parent}{The parent window for the modal dialog}
\section{Miscellaneous functions}\label{miscellany}
+\membersection{wxEXPLICIT}\label{wxexplicit}
+
+{\tt wxEXPLICIT} is a macro which expands to the C++ {\tt explicit} keyword if
+the compiler supports it or nothing otherwise. Thus, it can be used even in the
+code which might have to be compiled with an old compiler without support for
+this language feature but still take advantage of it when it is available.
+
+\membersection{wxLL}\label{wxll}
+
+\func{wxLongLong\_t}{wxLL}{\param{}{number}}
+
+This macro is defined for the platforms with a native 64 bit integer type and
+allows to define 64 bit compile time constants:
+
+\begin{verbatim}
+ #ifdef wxLongLong_t
+ wxLongLong_t ll = wxLL(0x1234567890abcdef);
+ #endif
+\end{verbatim}
+
+\wxheading{Include files}
+
+<wx/longlong.h>
+
+\membersection{wxLongLongFmtSpec}\label{wxlonglongfmtspec}
+
+This macro is defined to contain the {\tt printf()} format specifier using
+which 64 bit integer numbers (i.e. those of type {\tt wxLongLong\_t}) can be
+printed. Example of using it:
+
+\begin{verbatim}
+ #ifdef wxLongLong_t
+ wxLongLong_t ll = wxLL(0x1234567890abcdef);
+ printf("Long long = %" wxLongLongFmtSpec "x\n", ll);
+ #endif
+\end{verbatim}
+
+\wxheading{See also}
+
+\helpref{wxLL}{wxll}
+
+\wxheading{Include files}
+
+<wx/longlong.h>
+
\membersection{::wxNewId}\label{wxnewid}
\func{long}{wxNewId}{\void}
\func{wxWindow *}{wxFindWindowByLabel}{\param{const wxString\& }{label}, \param{wxWindow *}{parent=NULL}}
-{\bf NB:} This function is obsolete, please use
+{\bf NB:} This function is obsolete, please use
\helpref{wxWindow::FindWindowByLabel}{wxwindowfindwindowbylabel} instead.
Find a window by its label. Depending on the type of window, the label may be a window title
\func{wxWindow *}{wxFindWindowByName}{\param{const wxString\& }{name}, \param{wxWindow *}{parent=NULL}}
-{\bf NB:} This function is obsolete, please use
+{\bf NB:} This function is obsolete, please use
\helpref{wxWindow::FindWindowByName}{wxwindowfindwindowbyname} instead.
Find a window by its name (as given in a window constructor or {\bf Create} function call).
\func{void}{wxStripMenuCodes}{\param{char *}{in}, \param{char *}{out}}
-{\bf NB:} This function is obsolete, please use
+{\bf NB:} This function is obsolete, please use
\helpref{wxMenuItem::GetLabelFromText}{wxmenuitemgetlabelfromtext} instead.
Strips any menu codes from {\it in} and places the result
wxWindows uses its own RTTI ("run-time type identification") system which
predates the current standard C++ RTTI and so is kept for backwards
-compatribility reasons but also because it allows some things which the
+compatibility reasons but also because it allows some things which the
standard RTTI doesn't directly support (such as creating a class from its
name).
DECLARE_DYNAMIC_CLASS(wxFrame)
private:
- const wxString\& frameTitle;
+ const wxString& frameTitle;
public:
...
};
\func{void}{wxError}{\param{const wxString\& }{msg}, \param{const wxString\& }{title = "wxWindows Internal Error"}}
-{\bf NB:} This function is now obsolete, please use \helpref{wxLogError}{wxlogerror}
+{\bf NB:} This function is now obsolete, please use \helpref{wxLogError}{wxlogerror}
instead.
Displays {\it msg} and continues. This writes to standard error under
\func{void}{wxFatalError}{\param{const wxString\& }{msg}, \param{const wxString\& }{title = "wxWindows Fatal Error"}}
-{\bf NB:} This function is now obsolete, please use
+{\bf NB:} This function is now obsolete, please use
\helpref{wxLogFatalError}{wxlogfatalerror} instead.
Displays {\it msg} and exits. This writes to standard error under Unix,
This function shows a message to the user in a safe way and should be safe to
call even before the application has been initialized or if it is currently in
some other strange state (for example, about to crash). Under Windows this
-function shows a message box using a native dialog instead of
+function shows a message box using a native dialog instead of
\helpref{wxMessageBox}{wxmessagebox} (which might be unsafe to call), elsewhere
it simply prints the message to the standard output using the title as prefix.
\membersection{::wxOnAssert}\label{wxonassert}
-\func{void}{wxOnAssert}{\param{const char *}{fileName}, \param{int}{ lineNumber}, \param{const char *}{msg = NULL}}
+\func{void}{wxOnAssert}{\param{const char *}{fileName}, \param{int}{ lineNumber}, \param{const char *}{cond}, \param{const char *}{msg = NULL}}
This function is called whenever one of debugging macros fails (i.e. condition
is false in an assertion). It is only defined in the debug mode, in release
To override the default behaviour in the debug builds which is to show the user
a dialog asking whether he wants to abort the program, continue or continue
-ignoring any subsequent assert failures, you may override
+ignoring any subsequent assert failures, you may override
\helpref{wxApp::OnAssert}{wxapponassert} which is called by this function if
the global application object exists.
\func{}{wxASSERT\_MIN\_BITSIZE}{\param{}{type}, \param{}{size}}
-This macro results in a
+This macro results in a
\helpref{compile time assertion failure}{wxcompiletimeassert} if the size
of the given type {\it type} is less than {\it size} bits.
the {\it msg} identifier - please note that it must be a valid C++ identifier
and not a string unlike in the other cases.
-This macro is mostly useful for testing the expressions involving the
+This macro is mostly useful for testing the expressions involving the
{\tt sizeof} operator as they can't be tested by the preprocessor but it is
sometimes desirable to test them at the compile time.
Note that this macro internally declares a struct whose name it tries to make
unique by using the {\tt \_\_LINE\_\_} in it but it may still not work if you
use it on the same line in two different source files. In this case you may
-either change the line in which either of them appears on or use the
+either change the line in which either of them appears on or use the
\helpref{wxCOMPILE\_TIME\_ASSERT2}{wxcompiletimeassert2} macro.
\wxheading{See also}
\func{}{wxCOMPILE\_TIME\_ASSERT}{\param{}{condition}, \param{}{msg}, \param{}{name}}
-This macro is identical to \helpref{wxCOMPILE\_TIME\_ASSERT2}{wxcompiletimeassert2}
+This macro is identical to \helpref{wxCOMPILE\_TIME\_ASSERT2}{wxcompiletimeassert2}
except that it allows you to specify a unique {\it name} for the struct
internally defined by this macro to avoid getting the compilation errors
described \helpref{above}{wxcompiletimeassert}.