]> git.saurik.com Git - wxWidgets.git/blobdiff - docs/latex/wx/cppconst.tex
Applied patch [ 1042241 ] Fixes print setup problem (MSW UNICODE build)
[wxWidgets.git] / docs / latex / wx / cppconst.tex
index 7af20d09aa332faca9ac69775fafd594e7ade85e..4339dd3e9e6080d6f8744be28828d99d6ab956d3 100644 (file)
@@ -1,20 +1,24 @@
-\section{Preprocesser symbols defined by wxWindows}\label{cppconst}
+\section{Preprocesser symbols defined by wxWidgets}\label{cppconst}
 
 
-Here is the list of preprocessor symbols used in the wxWindows source grouped
+Here is the list of preprocessor symbols used in the wxWidgets source grouped
 by category (and sorted by alphabetical order inside each category).
 
 by category (and sorted by alphabetical order inside each category).
 
-\subsection{GUI system}
+\subsection{GUI system}\label{guisystemconst}
 
 \begin{twocollist}\itemsep=0pt
 \twocolitem{\_\_WINDOWS\_\_}{any Windows, yom may also use \_\_WXMSW\_\_}
 
 \begin{twocollist}\itemsep=0pt
 \twocolitem{\_\_WINDOWS\_\_}{any Windows, yom may also use \_\_WXMSW\_\_}
-\twocolitem{\_\_WIN16\_\_}{Win16 API}
+\twocolitem{\_\_WIN16\_\_}{Win16 API (not supported since wxWidgets 2.6)}
 \twocolitem{\_\_WIN32\_\_}{Win32 API}
 \twocolitem{\_\_WIN95\_\_}{Windows 95 or NT 4.0 and above system (not NT 3.5x)}
 \twocolitem{\_\_WIN32\_\_}{Win32 API}
 \twocolitem{\_\_WIN95\_\_}{Windows 95 or NT 4.0 and above system (not NT 3.5x)}
-\twocolitem{\_\_WXGTK\_\_}{GTK}
-\twocolitem{\_\_WXGTK12\_\_}{GTK 1.2 or higher}
-\twocolitem{\_\_WXGTK20\_\_}{GTK 2.0 or higher}
+\twocolitem{\_\_WXBASE\_\_}{Only wxBase, no GUI features}
+\twocolitem{\_\_WXWINCE\_\_}{Windows CE}
+\twocolitem{\_\_WXGTK\_\_}{GTK+}
+\twocolitem{\_\_WXGTK12\_\_}{GTK+ 1.2 or higher}
+\twocolitem{\_\_WXGTK20\_\_}{GTK+ 2.0 or higher}
 \twocolitem{\_\_WXMOTIF\_\_}{Motif}
 \twocolitem{\_\_WXMOTIF\_\_}{Motif}
-\twocolitem{\_\_WXMAC\_\_}{Mac OS whether Classic (Mac OS 8/9 TARGET\_CARBON == 0) or Carbon (including Mac OS X TARGET\_CARBON == 1)}
+\twocolitem{\_\_WXMOTIF20\_\_}{Motif 2.0 or higher}
+\twocolitem{\_\_WXMAC\_\_}{Mac OS whether Classic (Mac OS 8/9 TARGET\_CARBON
+== 0) or Carbon (including Mac OS X TARGET\_CARBON == 1)}
 \twocolitem{\_\_WXMGL\_\_}{SciTech Soft MGL (\_\_WXUNIVERSAL\_\_ will be also
 defined)}
 \twocolitem{\_\_WXMSW\_\_}{Any Windows}
 \twocolitem{\_\_WXMGL\_\_}{SciTech Soft MGL (\_\_WXUNIVERSAL\_\_ will be also
 defined)}
 \twocolitem{\_\_WXMSW\_\_}{Any Windows}
@@ -22,19 +26,18 @@ defined)}
 \twocolitem{\_\_WXPM\_\_}{OS/2 native Presentation Manager}
 \twocolitem{\_\_WXSTUBS\_\_}{Stubbed version ('template' wxWin implementation)}
 \twocolitem{\_\_WXXT\_\_}{Xt; mutually exclusive with WX\_MOTIF, not
 \twocolitem{\_\_WXPM\_\_}{OS/2 native Presentation Manager}
 \twocolitem{\_\_WXSTUBS\_\_}{Stubbed version ('template' wxWin implementation)}
 \twocolitem{\_\_WXXT\_\_}{Xt; mutually exclusive with WX\_MOTIF, not
-implemented in wxWindows 2.x}
+implemented in wxWidgets 2.x}
 \twocolitem{\_\_WXX11\_\_}{wxX11 (\_\_WXUNIVERSAL\_\_ will be also defined)}
 \twocolitem{\_\_WXX11\_\_}{wxX11 (\_\_WXUNIVERSAL\_\_ will be also defined)}
-\twocolitem{\_\_WXWINE\_\_}{WINE (i.e. Win32 on Unix)}
+\twocolitem{\_\_WXWINE\_\_}{WINE (i.e. WIN32 on Unix)}
 \twocolitem{\_\_WXUNIVERSAL\_\_}{wxUniversal port, always defined in addition
 to one of the symbols above so this should be tested first.}
 \twocolitem{\_\_X\_\_}{any X11-based GUI toolkit except GTK+}
 \end{twocollist}
 
 \twocolitem{\_\_WXUNIVERSAL\_\_}{wxUniversal port, always defined in addition
 to one of the symbols above so this should be tested first.}
 \twocolitem{\_\_X\_\_}{any X11-based GUI toolkit except GTK+}
 \end{twocollist}
 
-In fact, they should better all start with \_\_WX instead of \_\_ only. The
-only GUIs implemented for 2.0 are \_\_WXGTK\_\_, \_\_WXMSW\_\_ and
-\_\_WXMOTIF\_\_ yet. Any new ones, please start the define with \_\_WX.
+In fact, they should better all start with \_\_WX instead of \_\_ only,
+so please start any new defines with \_\_WX.
 
 
-\subsection{Operating systems}
+\subsection{Operating systems}\label{osconst}
 
 \begin{twocollist}\itemsep=0pt
 \twocolitem{\_\_APPLE\_\_}{any Mac OS version}
 
 \begin{twocollist}\itemsep=0pt
 \twocolitem{\_\_APPLE\_\_}{any Mac OS version}
@@ -46,6 +49,7 @@ only GUIs implemented for 2.0 are \_\_WXGTK\_\_, \_\_WXMSW\_\_ and
 \twocolitem{\_\_DOS\_GENERAL\_\_}{DOS (used with wxMGL only)}
 \twocolitem{\_\_FREEBSD\_\_}{FreeBSD}
 \twocolitem{\_\_HPUX\_\_}{HP-UX (Unix)}
 \twocolitem{\_\_DOS\_GENERAL\_\_}{DOS (used with wxMGL only)}
 \twocolitem{\_\_FREEBSD\_\_}{FreeBSD}
 \twocolitem{\_\_HPUX\_\_}{HP-UX (Unix)}
+\twocolitem{\_\_GNU\_\_}{GNU Hurd}
 \twocolitem{\_\_LINUX\_\_}{Linux}
 \twocolitem{\_\_MACH\_\_}{Mach-O Architecture (Mac OS X only builds)}
 \twocolitem{\_\_OSF\_\_}{OSF/1}
 \twocolitem{\_\_LINUX\_\_}{Linux}
 \twocolitem{\_\_MACH\_\_}{Mach-O Architecture (Mac OS X only builds)}
 \twocolitem{\_\_OSF\_\_}{OSF/1}
@@ -62,7 +66,7 @@ only GUIs implemented for 2.0 are \_\_WXGTK\_\_, \_\_WXMSW\_\_ and
 \twocolitem{\_\_WINDOWS\_\_}{any Windows}
 \end{twocollist}
 
 \twocolitem{\_\_WINDOWS\_\_}{any Windows}
 \end{twocollist}
 
-\subsection{Hardware architectures}
+\subsection{Hardware architectures (CPU)}\label{cpuconst}
 
 Note that not all of these symbols are always defined, it depends on the
 compiler used.
 
 Note that not all of these symbols are always defined, it depends on the
 compiler used.
@@ -73,16 +77,31 @@ compiler used.
 \twocolitem{\_\_POWERPC\_\_}{Motorola Power PC}
 \end{twocollist}
 
 \twocolitem{\_\_POWERPC\_\_}{Motorola Power PC}
 \end{twocollist}
 
-\subsection{Compilers}
+\subsection{Hardware type}\label{hardwareconst}
+
+Combination of these symbols with GUI symbols describes real hardware
+(like \_\_PDA\_\_ $&&$ \_\_WXWINCE\_\_ $==$ PocketPC devices).
+
+\begin{twocollist}\itemsep=0pt
+\twocolitem{\_\_SMARTPHONE\_\_}{Mobile devices with dialog capability through 
+phone buttons and small display}
+\twocolitem{\_\_PDA\_\_}{Personal digital assistant usually with touch screen and
+middle sized screen}
+\twocolitem{\_\_HANDHELD\_\_}{Small enough but powerful computer}
+\end{twocollist}
+
+\subsection{Compilers}\label{compilerconst}
 
 \begin{twocollist}\itemsep=0pt
 \twocolitem{\_\_BORLANDC\_\_}{Borland C++. The value of the macro corresponds
 to the compiler version: $500$ is $5.0$.}
 \twocolitem{\_\_DJGPP\_\_}{DJGPP}
 
 \begin{twocollist}\itemsep=0pt
 \twocolitem{\_\_BORLANDC\_\_}{Borland C++. The value of the macro corresponds
 to the compiler version: $500$ is $5.0$.}
 \twocolitem{\_\_DJGPP\_\_}{DJGPP}
+\twocolitem{\_\_DIGITALMARS\_\_}{Digital Mars}
 \twocolitem{\_\_GNUG\_\_}{Gnu C++ on any platform, see also 
 \helpref{wxCHECK\_GCC\_VERSION}{wxcheckgccversion}}
 \twocolitem{\_\_GNUWIN32\_\_}{Gnu-Win32 compiler, see also 
 \helpref{wxCHECK\_W32API\_VERSION}{wxcheckw32apiversion}}
 \twocolitem{\_\_GNUG\_\_}{Gnu C++ on any platform, see also 
 \helpref{wxCHECK\_GCC\_VERSION}{wxcheckgccversion}}
 \twocolitem{\_\_GNUWIN32\_\_}{Gnu-Win32 compiler, see also 
 \helpref{wxCHECK\_W32API\_VERSION}{wxcheckw32apiversion}}
+\twocolitem{\_\_MINGW32\_\_}{MinGW}
 \twocolitem{\_\_MWERKS\_\_}{CodeWarrior MetroWerks compiler}
 \twocolitem{\_\_SUNCC\_\_}{Sun CC}
 \twocolitem{\_\_SYMANTECC\_\_}{Symantec C++}
 \twocolitem{\_\_MWERKS\_\_}{CodeWarrior MetroWerks compiler}
 \twocolitem{\_\_SUNCC\_\_}{Sun CC}
 \twocolitem{\_\_SYMANTECC\_\_}{Symantec C++}
@@ -93,14 +112,23 @@ version), $1100$ for $5.0$, $1200$ for $6.0$ and so on}
 \twocolitem{\_\_XLC\_\_}{AIX compiler}
 \twocolitem{\_\_WATCOMC\_\_}{Watcom C++. The value of this macro corresponds to
 the compiler version, $1100$ is $11.0$ and $1200$ is OpenWatcom.}
 \twocolitem{\_\_XLC\_\_}{AIX compiler}
 \twocolitem{\_\_WATCOMC\_\_}{Watcom C++. The value of this macro corresponds to
 the compiler version, $1100$ is $11.0$ and $1200$ is OpenWatcom.}
+\twocolitem{\_WIN32\_WCE}{Windows CE version}
 \end{twocollist}
 
 \end{twocollist}
 
-\subsection{Miscellaneous}
+\subsection{Miscellaneous}\label{miscellaneousconst}
 
 \begin{twocollist}\itemsep=0pt
 
 \begin{twocollist}\itemsep=0pt
+\twocolitem{\_\_WXWINDOWS\_\_}{always defined in wxWidgets applications, see
+also \helpref{wxCHECK\_VERSION}{wxcheckversion}}
 \twocolitem{\_\_WXDEBUG\_\_}{defined in debug mode, undefined in release mode}
 \twocolitem{wxUSE\_XXX}{if defined as $1$, feature XXX is active
 \twocolitem{\_\_WXDEBUG\_\_}{defined in debug mode, undefined in release mode}
 \twocolitem{wxUSE\_XXX}{if defined as $1$, feature XXX is active
-(the symbols of this form are always defined, use #if and not #ifdef to test
+(the symbols of this form are always defined, use \#if and not \#ifdef to test
  for them)}
  for them)}
+\twocolitem{wxUSE\_GUI}{this particular feature test macro is defined to $1$
+when compiling or using the library with the GUI features activated, if it is
+defined as $0$, only wxBase is available.}
+\twocolitem{wxUSE\_BASE}{only used by wxWidgets internally (defined as $1$ when
+building wxBase code, either as a standalone library or as part of the
+monolithic wxWidgets library, defined as $0$ when building GUI library only)}
 \end{twocollist}
 
 \end{twocollist}