\helpref{wxFinite}{wxfinite}\\
\helpref{wxGetActiveWindow}{wxgetactivewindow}\\
\helpref{wxGetApp}{wxgetapp}\\
+\helpref{wxGetBatteryState}{wxgetbatterystate}\\
\helpref{wxGetClipboardData}{wxgetclipboarddata}\\
\helpref{wxGetClipboardFormatName}{wxgetclipboardformatname}\\
\helpref{wxGetColourFromUser}{wxgetcolourfromuser}\\
\helpref{wxGetElapsedTime}{wxgetelapsedtime}\\
\helpref{wxGetEmailAddress}{wxgetemailaddress}\\
\helpref{wxGetEnv}{wxgetenv}\\
+\helpref{wxGetFileKind}{wxgetfilekind}\\
\helpref{wxGetFontFromUser}{wxgetfontfromuser}\\
\helpref{wxGetFreeMemory}{wxgetfreememory}\\
\helpref{wxGetFullHostName}{wxgetfullhostname}\\
\helpref{wxGetOsDescription}{wxgetosdescription}\\
\helpref{wxGetOsVersion}{wxgetosversion}\\
\helpref{wxGetPasswordFromUser}{wxgetpasswordfromuser}\\
+\helpref{wxGetPowerType}{wxgetpowertype}\\
\helpref{wxGetPrinterCommand}{wxgetprintercommand}\\
\helpref{wxGetPrinterFile}{wxgetprinterfile}\\
\helpref{wxGetPrinterMode}{wxgetprintermode}\\
\helpref{wxWriteResource}{wxwriteresource}\\
\helpref{wxYield}{wxyield}\\
\helpref{wx\_const\_cast}{wxconstcastraw}\\
+\helpref{wx\_dynamic\_cast}{wxdynamiccastraw}\\
\helpref{wx\_reinterpret\_cast}{wxreinterpretcastraw}\\
\helpref{wx\_static\_cast}{wxstaticcastraw}\\
\helpref{\_}{underscore}\\
\func{bool}{wxCHECK\_VERSION\_FULL}{\param{}{major, minor, release, subrel}}
-Same as \helpref{wxCHECK\_VERSION}{wxcheckversion} but also checks that
+Same as \helpref{wxCHECK\_VERSION}{wxcheckversion} but also checks that
\texttt{wxSUBRELEASE\_NUMBER} is at least \arg{subrel}.
\func{long}{wxExecute}{\param{const wxString\& }{command}, \param{wxArrayString\& }{output}, \param{wxArrayString\& }{errors}, \param{int }{flags = 0}}
-\perlnote{In wxPerl this function is called \texttt{Wx::ExecuteStdoutStderr}
+\perlnote{In wxPerl this function is called \texttt{Wx::ExecuteStdoutStderr}
and it only takes the {\tt command} argument,
and returns a 3-element list {\tt ( status, output, errors )}, where
{\tt output} and {\tt errors} are array references.}
started their own session).
Finally, you may use the third overloaded version of this function to execute
-a process (always synchronously, the contents of \arg{flags} is or'd with
-\textt{wxEXEC\_SYNC}) and capture its output in the array \arg{output}. The
+a process (always synchronously, the contents of \arg{flags} is or'd with
+\texttt{wxEXEC\_SYNC}) and capture its output in the array \arg{output}. The
fourth version adds the possibility to additionally capture the messages from
standard error output in the \arg{errors} array.
\end{verbatim}
{\tt wxSIGNONE}, {\tt wxSIGKILL} and {\tt wxSIGTERM} have the same meaning
-under both Unix and Windows but all the other signals are equivalent to
+under both Unix and Windows but all the other signals are equivalent to
{\tt wxSIGTERM} under Windows.
Returns 0 on success, -1 on failure. If {\it rc} parameter is not NULL, it will
The {\it flags} parameter can be wxKILL\_NOCHILDREN (the default),
or wxKILL\_CHILDREN, in which case the child processes of this
process will be killed too. Note that under Unix, for wxKILL\_CHILDREN
-to work you should have created the process by passing wxEXEC\_MAKE_GROUP\_LEADER
+to work you should have created the process by passing wxEXEC\_MAKE\_GROUP\_LEADER
to wxExecute.
\wxheading{See also}
\func{}{wxCRIT\_SECT\_DECLARE}{\param{}{cs}}
-This macro declares a (static) critical section object named {\it cs} if
+This macro declares a (static) critical section object named {\it cs} if
{\tt wxUSE\_THREADS} is $1$ and does nothing if it is $0$.
\func{}{wxCRIT\_SECT\_DECLARE}{\param{}{cs}}
-This macro declares a critical section object named {\it cs} if
+This macro declares a critical section object named {\it cs} if
{\tt wxUSE\_THREADS} is $1$ and does nothing if it is $0$. As it doesn't
-include the {\tt static} keyword (unlike
+include the {\tt static} keyword (unlike
\helpref{wxCRIT\_SECT\_DECLARE}{wxcritsectdeclare}), it can be used to declare
a class or struct member which explains its name.
\func{}{wxCRIT\_SECT\_LOCKER}{\param{}{name}, \param{}{cs}}
-This macro creates a \helpref{critical section lock}{wxcriticalsectionlocker}
-object named {\it name} and associated with the critical section {\it cs} if
+This macro creates a \helpref{critical section lock}{wxcriticalsectionlocker}
+object named {\it name} and associated with the critical section {\it cs} if
{\tt wxUSE\_THREADS} is $1$ and does nothing if it is $0$.
\func{}{wxCRITICAL\_SECTION}{\param{}{name}}
-This macro combines \helpref{wxCRIT\_SECT\_DECLARE}{wxcritsectdeclare} and
+This macro combines \helpref{wxCRIT\_SECT\_DECLARE}{wxcritsectdeclare} and
\helpref{wxCRIT\_SECT\_LOCKER}{wxcritsectlocker}: it creates a static critical
section object and also the lock object associated with it. Because of this, it
can be only used inside a function, not at global scope. For example:
(note that we suppose that the function is called the first time from the main
thread so that the critical section object is initialized correctly by the time
-other threads start calling it, if this is not the case this approach can
+other threads start calling it, if this is not the case this approach can
{\bf not} be used and the critical section must be made a global instead).
\func{}{wxENTER\_CRIT\_SECT}{\param{wxCriticalSection\& }{cs}}
-This macro is equivalent to \helpref{cs.Enter()}{wxcriticalsectionenter} if
+This macro is equivalent to \helpref{cs.Enter()}{wxcriticalsectionenter} if
{\tt wxUSE\_THREADS} is $1$ and does nothing if it is $0$.
\func{}{wxLEAVE\_CRIT\_SECT}{\param{wxCriticalSection\& }{cs}}
-This macro is equivalent to \helpref{cs.Leave()}{wxcriticalsectionleave} if
+This macro is equivalent to \helpref{cs.Leave()}{wxcriticalsectionleave} if
{\tt wxUSE\_THREADS} is $1$ and does nothing if it is $0$.
\begin{verbatim}
wxString f = wxFindFirstFile("/home/project/*.*");
- while ( !f.IsEmpty() )
+ while ( !f.empty() )
{
...
f = wxFindNextFile();
This function first appeared in wxWidgets 2.3.2.
+\membersection{::wxGetFileKind}\label{wxgetfilekind}
+
+\func{wxFileKind}{wxGetFileKind}{\param{int }{fd}}
+
+\func{wxFileKind}{wxGetFileKind}{\param{FILE *}{fp}}
+
+Returns the type of an open file. Possible return values are:
+
+\begin{verbatim}
+enum wxFileKind
+{
+ wxFILE_KIND_UNKNOWN,
+ wxFILE_KIND_DISK, // a file supporting seeking to arbitrary offsets
+ wxFILE_KIND_TERMINAL, // a tty
+ wxFILE_KIND_PIPE // a pipe
+};
+
+\end{verbatim}
+
+\wxheading{Include files}
+
+<wx/filefn.h>
+
+
\membersection{::wxGetOSDirectory}\label{wxgetosdirectory}
\func{wxString}{wxGetOSDirectory}{\void}
current computer and/or user characteristics.
+\membersection{::wxGetEmailAddress}\label{wxgetemailaddress}
+
+\func{wxString}{wxGetEmailAddress}{\void}
+
+\func{bool}{wxGetEmailAddress}{\param{char * }{buf}, \param{int }{sz}}
+
+Copies the user's email address into the supplied buffer, by
+concatenating the values returned by \helpref{wxGetFullHostName}{wxgetfullhostname}\rtfsp
+and \helpref{wxGetUserId}{wxgetuserid}.
+
+Returns true if successful, false otherwise.
+
+\wxheading{Include files}
+
+<wx/utils.h>
+
+
\membersection{::wxGetFreeMemory}\label{wxgetfreememory}
-\func{long}{wxGetFreeMemory}{\void}
+\func{wxMemorySize}{wxGetFreeMemory}{\void}
Returns the amount of free memory in bytes under environments which
-support it, and -1 if not supported. Currently, it is supported only
-under Windows, Linux and Solaris.
+support it, and -1 if not supported or failed to perform measurement.
\wxheading{Include files}
<wx/utils.h>
-\membersection{::wxGetEmailAddress}\label{wxgetemailaddress}
-
-\func{bool}{wxGetEmailAddress}{\param{const wxString\& }{buf}, \param{int }{sz}}
-
-Copies the user's email address into the supplied buffer, by
-concatenating the values returned by \helpref{wxGetFullHostName}{wxgetfullhostname}\rtfsp
-and \helpref{wxGetUserId}{wxgetuserid}.
-
-Returns true if successful, false otherwise.
-
-\wxheading{Include files}
-
-<wx/utils.h>
-
-
\membersection{::wxGetHomeDir}\label{wxgethomedir}
\func{wxString}{wxGetHomeDir}{\void}
<wx/utils.h>
-\membersection{::wxGetUserId}\label{wxgetuserid}
-
-\func{wxString}{wxGetUserId}{\void}
-
-\func{bool}{wxGetUserId}{\param{char * }{buf}, \param{int }{sz}}
-
-This function returns the "user id" also known as "login name" under Unix i.e.
-something like "jsmith". It uniquely identifies the current user (on this system).
-
-Under Windows or NT, this function first looks in the environment
-variables USER and LOGNAME; if neither of these is found, the entry {\bf UserId}\rtfsp
-in the {\bf wxWidgets} section of the WIN.INI file is tried.
-
-The first variant of this function returns the login name if successful or an
-empty string otherwise. The second (deprecated) function returns true
-if successful, false otherwise.
-
-\wxheading{See also}
-
-\helpref{wxGetUserName}{wxgetusername}
-
-\wxheading{Include files}
-
-<wx/utils.h>
-
-
\membersection{::wxGetOsDescription}\label{wxgetosdescription}
\func{wxString}{wxGetOsDescription}{\void}
\begin{twocollist}\itemsep=0pt
\twocolitemruled{Platform}{Return types}
-\twocolitem{Mac OS}{Return value is wxMAC when compiled with CodeWarrior under Mac OS 8.x/9.x and Mac OS X, wxMAC\_DARWIN when compiled with the Apple Developer Tools under Mac OS X.
+\twocolitem{Mac OS}{Return value is wxMAC when compiled with CodeWarrior under Mac OS 8.x/9.x and Mac OS X, wxMAC\_DARWIN when compiled with the Apple Developer Tools under Mac OS X.
Both {\it major} and {\it minor} have to be looked at as hexadecimal numbers. So System 10.2.4 returns 0x10, resp 16 for {\it major} and 0x24, resp 36 for {\it minor}. }
\twocolitem{GTK}{Return value is wxGTK, For GTK 1.0, {\it major} is 1, {\it minor} is 0. }
<wx/utils.h>
+\membersection{::wxGetUserId}\label{wxgetuserid}
+
+\func{wxString}{wxGetUserId}{\void}
+
+\func{bool}{wxGetUserId}{\param{char * }{buf}, \param{int }{sz}}
+
+This function returns the "user id" also known as "login name" under Unix i.e.
+something like "jsmith". It uniquely identifies the current user (on this system).
+
+Under Windows or NT, this function first looks in the environment
+variables USER and LOGNAME; if neither of these is found, the entry {\bf UserId}\rtfsp
+in the {\bf wxWidgets} section of the WIN.INI file is tried.
+
+The first variant of this function returns the login name if successful or an
+empty string otherwise. The second (deprecated) function returns true
+if successful, false otherwise.
+
+\wxheading{See also}
+
+\helpref{wxGetUserName}{wxgetusername}
+
+\wxheading{Include files}
+
+<wx/utils.h>
+
+
\membersection{::wxGetUserName}\label{wxgetusername}
\func{wxString}{wxGetUserName}{\void}
wxT() is a macro which can be used with character and string literals (in other
words, {\tt 'x'} or {\tt "foo"}) to automatically convert them to Unicode in
-Unicode build configuration. Please see the
+Unicode build configuration. Please see the
\helpref{Unicode overview}{unicode} for more information.
This macro is simply returns the value passed to it without changes in ASCII
\func{const wxChar *}{wxTRANSLATE}{\param{const char *}{s}}
This macro doesn't do anything in the program code -- it simply expands to the
-value of its argument (except in Unicode build where it is equivalent to
+value of its argument (except in Unicode build where it is equivalent to
\helpref{wxT}{wxt} which makes it unnecessary to use both wxTRANSLATE and wxT
with the same string which would be really unreadable).
However it does have a purpose and it is to mark the literal strings for the
extraction into the message catalog created by {\tt xgettext} program. Usually
this is achieved using \helpref{\_()}{underscore} but that macro not only marks
-the string for extraction but also expands into a
+the string for extraction but also expands into a
\helpref{wxGetTranslation}{wxgettranslation} function call which means that it
cannot be used in some situations, notably for static array
initialization.
Here is an example which should make it more clear: suppose that you have a
static array of strings containing the weekday names and which have to be
-translated (note that it is a bad example, really, as
+translated (note that it is a bad example, really, as
\helpref{wxDateTime}{wxdatetime} already can be used to get the localized week
day names already). If you write
\func{const wxChar *}{\_}{\param{const char *}{s}}
-This macro expands into a call to \helpref{wxGetTranslation}{wxgettranslation}
+This macro expands into a call to \helpref{wxGetTranslation}{wxgettranslation}
function, so it marks the message for the extraction by {\tt xgettext} just as
\helpref{wxTRANSLATE}{wxtranslate} does, but also returns the translation of
the string for the current locale during execution.
\func{int}{wxFinite}{\param{double }{x}}
-Returns a non-zero value if {\it x} is neither infinite or NaN (not a number),
+Returns a non-zero value if {\it x} is neither infinite or NaN (not a number),
returns 0 otherwise.
\func{}{wxDYNLIB\_FUNCTION}{\param{}{type}, \param{}{name}, \param{}{dynlib}}
-When loading a function from a DLL you always have to cast the returned
+When loading a function from a DLL you always have to cast the returned
{\tt void *} pointer to the correct type and, even more annoyingly, you have to
repeat this type twice if you want to declare and define a function pointer all
in one line
This macro makes this slightly less painful by allowing you to specify the
type only once, as the first parameter, and creating a variable of this type
named after the function but with {\tt pfn} prefix and initialized with the
-function \arg{name} from the \helpref{wxDynamicLibrary}{wxdynamiclibrary}
+function \arg{name} from the \helpref{wxDynamicLibrary}{wxdynamiclibrary}
\arg{dynlib}.
\wxheading{Parameters}
<wx/windows.h>
+\membersection{::wxGetBatteryState}\label{wxgetbatterystate}
+
+\func{wxBatteryState}{wxGetBatteryState}{\void}
+
+Returns battery state as one of \texttt{wxBATTERY\_NORMAL\_STATE},
+\texttt{wxBATTERY\_LOW\_STATE}, \texttt{wxBATTERY\_CRITICAL\_STATE},
+\texttt{wxBATTERY\_SHUTDOWN\_STATE} or \texttt{wxBATTERY\_UNKNOWN\_STATE}.
+\texttt{wxBATTERY\_UNKNOWN\_STATE} is also the default on platforms where
+this feature is not implemented.
+
+\wxheading{Include files}
+
+<wx/utils.h>
+
+
\membersection{::wxGetDisplayName}\label{wxgetdisplayname}
\func{wxString}{wxGetDisplayName}{\void}
<wx/utils.h>
+\membersection{::wxGetPowerType}\label{wxgetpowertype}
+
+\func{wxPowerType}{wxGetPowerType}{\void}
+
+Returns the type of power source as one of \texttt{wxPOWER\_SOCKET},
+\texttt{wxPOWER\_BATTERY} or \texttt{wxPOWER\_UNKNOWN}.
+\texttt{wxPOWER\_UNKNOWN} is also the default on platforms where this
+feature is not implemented.
+
+\wxheading{Include files}
+
+<wx/utils.h>
+
+
\membersection{::wxGetMousePosition}\label{wxgetmouseposition}
\func{wxPoint}{wxGetMousePosition}{\void}
<wx/utils.h>
+\membersection{::wxGetStockLabel}\label{wxgetstocklabel}
+
+\func{wxString}{wxGetStockLabel}{\param{wxWindowID }{id}, \param{bool }{withCodes = true}, \param{wxString }{accelerator = wxEmptyString}}
+
+Returns label that should be used for given {\it id} element.
+
+\wxheading{Parameters}
+
+\docparam{id}{given id of the \helpref{wxMenuItem}{wxmenuitem}, \helpref{wxButton}{wxbutton}, \helpref{wxToolBar}{wxtoolbar} tool, etc.}
+
+\docparam{withCodes}{if false then strip accelerator code from the label;
+usefull for getting labels without accelerator char code like for toolbar tooltip or
+under platforms without traditional keyboard like smartphones}
+
+\docparam{accelerator}{optional accelerator string automatically added to label; useful
+for building labels for \helpref{wxMenuItem}{wxmenuitem}}
+
+\wxheading{Include files}
+
+<wx/stockitem.h>
+
+
\membersection{::wxGetTopLevelParent}\label{wxgettoplevelparent}
\func{wxWindow *}{wxGetTopLevelParent}{\param{wxWindow }{*win}}
preserve the value of a \texttt{va\_list} object if you need to use it after
passing it to another function because it can be modified by the latter.
-As with \texttt{va\_start}, each call to \texttt{wxVaCopy} must have a matching
+As with \texttt{va\_start}, each call to \texttt{wxVaCopy} must have a matching
\texttt{va\_end}.
\func{}{DECLARE\_APP}{className}
-This is used in headers to create a forward declaration of the
-\helpref{wxGetApp}{wxgetapp} function implemented by
-\helpref{IMPLEMENT\_APP}{implementapp}. It creates the declaration
+This is used in headers to create a forward declaration of the
+\helpref{wxGetApp}{wxgetapp} function implemented by
+\helpref{IMPLEMENT\_APP}{implementapp}. It creates the declaration
{\tt className\& wxGetApp(void)}.
Example:
\helpref{RTTI overview}{runtimeclassoverview}\\
\helpref{wxDynamicCastThis}{wxdynamiccastthis}\\
\helpref{wxConstCast}{wxconstcast}\\
-\helpref{wxStatiicCast}{wxstaticcast}
+\helpref{wxStaticCast}{wxstaticcast}\\
+\helpref{wx\_dynamic\_cast}{wxdynamiccastraw}
\membersection{wxDynamicCastThis}\label{wxdynamiccastthis}
\func{T}{wx\_const\_cast}{T, x}
-Same as \texttt{const\_cast<T>(x)} if the compiler supports const cast or
+Same as \texttt{const\_cast<T>(x)} if the compiler supports const cast or
\texttt{(T)x} for old compilers. Unlike \helpref{wxConstCast}{wxconstcast},
the cast it to the type \arg{T} and not to \texttt{T *} and also the order of
arguments is the same as for the standard cast.
\wxheading{See also}
+\helpref{wx\_dynamic\_cast}{wxdynamiccastraw},\\
+\helpref{wx\_reinterpret\_cast}{wxreinterpretcastraw},\\
+\helpref{wx\_static\_cast}{wxstaticcastraw}
+
+
+\membersection{wx\_dynamic\_cast}\label{wxdynamiccastraw}
+
+\func{T}{wx\_dynamic\_cast}{T, x}
+
+Same as \texttt{dynamic\_cast<T>(x)} if the compiler supports dynamic cast or
+\texttt{(T)x} for old compilers. Unlike \helpref{wxDynamicCast}{wxdynamiccast},
+the cast it to the type \arg{T} and not to \texttt{T *} and also the order of
+arguments is the same as for the standard cast.
+
+\wxheading{See also}
+
+\helpref{wx\_const\_cast}{wxconstcastraw},\\
\helpref{wx\_reinterpret\_cast}{wxreinterpretcastraw},\\
\helpref{wx\_static\_cast}{wxstaticcastraw}
\func{T}{wx\_reinterpret\_cast}{T, x}
-Same as \texttt{reinterpret\_cast<T>(x)} if the compiler supports reinterpret cast or
+Same as \texttt{reinterpret\_cast<T>(x)} if the compiler supports reinterpret cast or
\texttt{(T)x} for old compilers.
\wxheading{See also}
\helpref{wx\_const\_cast}{wxconstcastraw},\\
+\helpref{wx\_dynamic\_cast}{wxdynamiccastraw},\\
\helpref{wx\_static\_cast}{wxstaticcastraw}
\func{T}{wx\_static\_cast}{T, x}
-Same as \texttt{static\_cast<T>(x)} if the compiler supports static cast or
+Same as \texttt{static\_cast<T>(x)} if the compiler supports static cast or
\texttt{(T)x} for old compilers. Unlike \helpref{wxStaticCast}{wxstaticcast},
there are no checks being done and the meaning of the macro arguments is exactly
the same as for the standard static cast, i.e. \arg{T} is the full type name and
\wxheading{See also}
\helpref{wx\_const\_cast}{wxconstcastraw},\\
+\helpref{wx\_dynamic\_cast}{wxdynamiccastraw},\\
\helpref{wx\_reinterpret\_cast}{wxreinterpretcastraw}
\func{void}{wxVLogMessage}{\param{const char *}{formatString}, \param{va\_list }{argPtr}}
For all normal, informational messages. They also appear in a message box by
-default (but it can be changed). Notice that the standard behaviour is to not
-show informational messages if there are any errors later - the logic being
-that the later error messages make the informational messages preceding them
-meaningless.
-
+default (but it can be changed).
\membersection{::wxLogVerbose}\label{wxlogverbose}
Sleeps for the specified number of microseconds. The microsecond resolution may
not, in fact, be available on all platforms (currently only Unix platforms with
-nanosleep(2) may provide it) in which case this is the same as
+nanosleep(2) may provide it) in which case this is the same as
\helpref{wxMilliSleep}{wxmillisleep}(\arg{microseconds}$/1000$).
\wxheading{Include files}
\func{void}{wxUsleep}{\param{unsigned long}{ milliseconds}}
This function is deprecated because its name is misleading: notice that the
-argument is in milliseconds, not microseconds. Please use either
-\helpref{wxMilliSleep}{wxmillisleep} or \helpref{wxMicroSleep}{wxmicrosleep}
+argument is in milliseconds, not microseconds. Please use either
+\helpref{wxMilliSleep}{wxmillisleep} or \helpref{wxMicroSleep}{wxmicrosleep}
depending on the resolution you need.
\func{bool}{wxIsDebuggerRunning}{\void}
-Returns {\tt true} if the program is running under debugger, {\tt false}
-otherwise.
+Returns \true if the program is running under debugger, \false otherwise.
-Please note that this function is currently only implemented for Mac builds
-using CodeWarrior and always returns {\tt false} elsewhere.
+Please note that this function is currently only implemented for Win32 and Mac
+builds using CodeWarrior and always returns \false elsewhere.