]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/latex/wx/function.tex
have it work the old way with PopupMenu(), and have it restore the old menu on destru...
[wxWidgets.git] / docs / latex / wx / function.tex
index 07004569b9be79d320ee72667443f9d230402e05..d1874e25c3923fef46d64a6a6191d99332bc182b 100644 (file)
@@ -6,7 +6,7 @@ The functions and macros defined in wxWidgets are described here: you can
 either look up a function using the alphabetical listing of them or find it in
 the corresponding topic.
 
-\section{Alphabetical functions and macros list}
+\section{Alphabetical functions and macros list}\label{functionsalphabetically}
 
 \helpref{CLASSINFO}{classinfo}\\
 \helpref{copystring}{copystring}\\
@@ -38,6 +38,7 @@ the corresponding topic.
 \helpref{wxCHECK\_MSG}{wxcheckmsg}\\
 \helpref{wxCHECK\_RET}{wxcheckret}\\
 \helpref{wxCHECK\_VERSION}{wxcheckversion}\\
+\helpref{wxCHECK\_VERSION\_FULL}{wxcheckversionfull}\\
 \helpref{wxCHECK\_W32API\_VERSION}{wxcheckw32apiversion}\\
 \helpref{wxClientDisplayRect}{wxclientdisplayrect}\\
 \helpref{wxClipboardOpen}{functionwxclipboardopen}\\
@@ -100,6 +101,8 @@ the corresponding topic.
 \helpref{wxGetCwd}{wxgetcwd}\\
 \helpref{wxGetDiskSpace}{wxgetdiskspace}\\
 \helpref{wxGetDisplayName}{wxgetdisplayname}\\
+\helpref{wxGetDisplaySize}{wxdisplaysize}\\
+\helpref{wxGetDisplaySizeMM}{wxdisplaysizemm}\\ 
 \helpref{wxGetElapsedTime}{wxgetelapsedtime}\\
 \helpref{wxGetEmailAddress}{wxgetemailaddress}\\
 \helpref{wxGetEnv}{wxgetenv}\\
@@ -174,6 +177,8 @@ the corresponding topic.
 \helpref{wxMakeMetafilePlaceable}{wxmakemetafileplaceable}\\
 \helpref{wxMatchWild}{wxmatchwild}\\
 \helpref{wxMessageBox}{wxmessagebox}\\
+\helpref{wxMilliSleep}{wxmillisleep}\\
+\helpref{wxMicroSleep}{wxmicrosleep}\\
 \helpref{wxMkdir}{wxmkdir}\\
 \helpref{wxMutexGuiEnter}{wxmutexguienter}\\
 \helpref{wxMutexGuiLeave}{wxmutexguileave}\\
@@ -237,6 +242,7 @@ the corresponding topic.
 \helpref{wxWriteResource}{wxwriteresource}\\
 \helpref{wxYield}{wxyield}\\
 \helpref{wx\_const\_cast}{wxconstcastraw}\\
+\helpref{wx\_reinterpret\_cast}{wxreinterpretcastraw}\\
 \helpref{wx\_static\_cast}{wxstaticcastraw}\\
 \helpref{\_}{underscore}\\
 \helpref{\_T}{underscoret}
@@ -251,6 +257,8 @@ The following constants are defined in wxWidgets:
 \item {\tt wxMAJOR\_VERSION} is the major version of wxWidgets
 \item {\tt wxMINOR\_VERSION} is the minor version of wxWidgets
 \item {\tt wxRELEASE\_NUMBER} is the release number
+\item {\tt wxSUBRELEASE\_NUMBER} is the subrelease number which is $0$ for all
+official releases
 \end{itemize}
 
 For example, the values or these constants for wxWidgets 2.1.15 are 2, 1 and
@@ -261,11 +269,23 @@ the full wxWidgets version and {\tt wxVERSION\_NUMBER} is a combination of the
 three version numbers above: for 2.1.15, it is 2115 and it is 2200 for
 wxWidgets 2.2.
 
+The subrelease number is only used for the sources in between official releases
+and so normally is not useful.
+
 \wxheading{Include files}
 
 <wx/version.h> or <wx/defs.h>
 
 
+\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\_VERSION}\label{wxcheckversion}
 
 \func{bool}{wxCHECK\_VERSION}{\param{}{major, minor, release}}
@@ -289,13 +309,12 @@ the following can be done:
 \end{verbatim}
 
 
-\membersection{wxCHECK\_GCC\_VERSION}\label{wxcheckgccversion}
+\membersection{wxCHECK\_VERSION\_FULL}\label{wxcheckversionfull}
 
-\func{bool}{wxCHECK\_GCC\_VERSION}{\param{}{major, minor, release}}
+\func{bool}{wxCHECK\_VERSION\_FULL}{\param{}{major, minor, release, subrel}}
 
-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$.
+Same as \helpref{wxCHECK\_VERSION}{wxcheckversion} but also checks that 
+\texttt{wxSUBRELEASE\_NUMBER} is at least \arg{subrel}.
 
 
 \membersection{wxCHECK\_W32API\_VERSION}\label{wxcheckw32apiversion}
@@ -931,6 +950,10 @@ that matches the path {\it spec}, or the empty string. Use \helpref{wxFindNextFi
 get the next matching file. Neither will report the current directory "." or the
 parent directory "..".
 
+\wxheading{Warning}
+
+As of wx 2.5.2, these functions are not thread-safe! (use static variables)
+
 {\it spec} may contain wildcards.
 
 {\it flags} may be wxDIR for restricting the query to directories, wxFILE for files or zero for either.
@@ -1395,7 +1418,7 @@ if successful, {\tt false} otherwise.
 
 
 
-\section{String functions}
+\section{String functions}\label{stringfunctions}
 
 
 \membersection{::copystring}\label{copystring}
@@ -1712,7 +1735,7 @@ if ( !dir.empty() )
 
 \func{wxString}{wxFileSelector}{\param{const wxString\& }{message}, \param{const wxString\& }{default\_path = ""},\\
  \param{const wxString\& }{default\_filename = ""}, \param{const wxString\& }{default\_extension = ""},\\
- \param{const wxString\& }{wildcard = ``*.*''}, \param{int }{flags = 0}, \param{wxWindow *}{parent = ""},\\
+ \param{const wxString\& }{wildcard = "*.*"}, \param{int }{flags = 0}, \param{wxWindow *}{parent = NULL},\\
  \param{int}{ x = -1}, \param{int}{ y = -1}}
 
 Pops up a file selector box. In Windows, this is the common file selector
@@ -2097,7 +2120,7 @@ message will be split into separate lines, to cater for large messages.
  \param{bool }{showAtStartup = true}}
 
 This function shows a "startup tip" to the user. The return value is the
-state of the ``Show tips at startup'' checkbox.
+state of the `Show tips at startup' checkbox.
 
 \docparam{parent}{The parent window for the modal dialog}
 
@@ -2119,7 +2142,7 @@ checkbox which is shown in the tips dialog.}
 
 
 
-\section{Math functions}
+\section{Math functions}\label{mathfunctions}
 
 \wxheading{Include files}
 
@@ -3403,7 +3426,21 @@ arguments is the same as for the standard cast.
 
 \wxheading{See also}
 
-\helpref{wx\_static\_cast}{wxstaticcastraw}\\
+\helpref{wx\_reinterpret\_cast}{wxreinterpretcastraw},\\
+\helpref{wx\_static\_cast}{wxstaticcastraw}
+
+
+\membersection{wx\_reinterpret\_cast}\label{wxreinterpretcastraw}
+
+\func{T}{wx\_reinterpret\_cast}{T, x}
+
+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\_static\_cast}{wxstaticcastraw}
 
 
 \membersection{wx\_static\_cast}\label{wxstaticcastraw}
@@ -3418,7 +3455,8 @@ star is not appended to it.
 
 \wxheading{See also}
 
-\helpref{wx\_const\_cast}{wxconstcastraw}\\
+\helpref{wx\_const\_cast}{wxconstcastraw},\\
+\helpref{wx\_reinterpret\_cast}{wxreinterpretcastraw}
 
 
 
@@ -3633,7 +3671,14 @@ used by wxWidgets are:
 \item wxTRACE\_OleCalls: trace OLE method calls (Win32 only)
 \end{itemize}
 
-The third version of the function only logs the message if all the bit
+{\bf Caveats:} since both the mask and the format string are strings,
+this might lead to function signature confusion in some cases:
+if you intend to call the format string only version of wxLogTrace,
+then add a \%s format string parameter and then supply a second string parameter for that \%s, the string mask version of wxLogTrace will erroneously get called instead, since you are supplying two string parameters to the function.
+In this case you'll unfortunately have to avoid having two leading
+string parameters, e.g. by adding a bogus integer (with its \%d format string). 
+
+The third version of the function only logs the message if all the bits
 corresponding to the {\it mask} are set in the wxLog trace mask which can be
 set by \helpref{SetTraceMask}{wxlogsettracemask}. This version is less
 flexible than the previous one because it doesn't allow defining the user
@@ -3843,6 +3888,33 @@ Returns the number of seconds since GMT 00:00:00 Jan 1st 1970.
 <wx/timer.h>
 
 
+\membersection{::wxMicroSleep}\label{wxmicrosleep}
+
+\func{void}{wxMicroSleep}{\param{unsigned long}{ microseconds}}
+
+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 
+\helpref{wxMilliSleep}{wxmillisleep}(\arg{microseconds}$/1000$).
+
+\wxheading{Include files}
+
+<wx/utils.h>
+
+
+\membersection{::wxMilliSleep}\label{wxmillisleep}
+
+\func{void}{wxMilliSleep}{\param{unsigned long}{ milliseconds}}
+
+Sleeps for the specified number of milliseconds. Notice that usage of this
+function is encouraged instead of calling usleep(3) directly because the
+standard usleep() function is not MT safe.
+
+\wxheading{Include files}
+
+<wx/utils.h>
+
+
 \membersection{::wxNow}\label{wxnow}
 
 \func{wxString}{wxNow}{\void}
@@ -3882,13 +3954,10 @@ See also \helpref{wxTimer}{wxtimer}.
 
 \func{void}{wxUsleep}{\param{unsigned long}{ milliseconds}}
 
-Sleeps for the specified number of milliseconds. Notice that usage of this
-function is encouraged instead of calling usleep(3) directly because the
-standard usleep() function is not MT safe.
-
-\wxheading{Include files}
-
-<wx/utils.h>
+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} 
+depending on the resolution you need.
 
 
 
@@ -3990,8 +4059,8 @@ either change the line in which either of them appears on or use the
 \helpref{wxCOMPILE\_TIME\_ASSERT2}{wxcompiletimeassert2} macro.
 
 Also note that Microsoft Visual C++ has a bug which results in compiler errors
-if you use this macro with ``Program Database For Edit And Continue''
-(\texttt{/ZI}) option, so you shouldn't use it (``Program Database''
+if you use this macro with `Program Database For Edit And Continue'
+(\texttt{/ZI}) option, so you shouldn't use it (`Program Database'
 (\texttt{/Zi}) is ok though) for the code making use of this macro.
 
 \wxheading{See also}