2006-08-13 17:00:32 -04:00
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Name: platinfo.tex
%% Purpose: wxPlatformInfo
%% Author: Francesco Montorsi
%% Modified by:
%% Created: 31-7-2006
%% RCS-ID: $Id$
%% Copyright: (c) wxWidgets Team
%% License: wxWindows license
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section { \class { wxPlatformInfo} } \label { wxplatforminfo}
This class holds informations about the operating system and the toolkit that the application
is running under and some basic architecture info of the machine where it's running.
\wxheading { Derived from}
\helpref { wxObject} { wxobject}
\wxheading { Include files}
<include/wx/platinfo.h>
\wxheading { See also}
\helpref { wxGetOSVersion} { wxgetosversion} , \helpref { wxIsPlatformLittleEndian} { wxisplatformlittleendian} ,
\helpref { wxIsPlatform64Bit} { wxisplatform64bit} , \helpref { wxAppTraits} { wxapptraits}
\wxheading { Data structures}
The following are the operating systems which are recognized by wxWidgets
and whose version can be detected at run-time. The values of the constants
are chosen so that they can be combined as flags; this allows to check
for operating system { \it families} like e.g. wxOS\_ MAC and wxOS\_ UNIX.
\begin { verbatim}
enum wxOperatingSystemId
{
wxOS_ UNKNOWN = 0, // returned on error
wxOS_ MAC_ OS = 1 << 0, // Apple Mac OS 8/9/X with Mac paths
wxOS_ MAC_ OSX_ DARWIN = 1 << 1, // Apple Mac OS X with Unix paths
wxOS_ MAC = wxOS_ MAC_ OS|wxOS_ MAC_ OSX_ DARWIN,
wxOS_ WINDOWS_ 9X = 1 << 2, // Windows 9x family (95/98/ME)
wxOS_ WINDOWS_ NT = 1 << 3, // Windows NT family (NT/2000/XP)
wxOS_ WINDOWS_ MICRO = 1 << 4, // MicroWindows
wxOS_ WINDOWS_ CE = 1 << 5, // Windows CE (Window Mobile)
wxOS_ WINDOWS = wxOS_ WINDOWS_ 9X |
wxOS_ WINDOWS_ NT |
wxOS_ WINDOWS_ MICRO |
wxOS_ WINDOWS_ CE,
wxOS_ UNIX_ LINUX = 1 << 6, // Linux
wxOS_ UNIX_ FREEBSD = 1 << 7, // FreeBSD
wxOS_ UNIX_ OPENBSD = 1 << 8, // OpenBSD
wxOS_ UNIX_ NETBSD = 1 << 9, // NetBSD
wxOS_ UNIX_ SOLARIS = 1 << 10, // SunOS
wxOS_ UNIX_ AIX = 1 << 11, // AIX
wxOS_ UNIX_ HPUX = 1 << 12, // HP/UX
wxOS_ UNIX = wxOS_ UNIX_ LINUX |
wxOS_ UNIX_ FREEBSD |
wxOS_ UNIX_ OPENBSD |
wxOS_ UNIX_ NETBSD |
wxOS_ UNIX_ SOLARIS |
wxOS_ UNIX_ AIX |
wxOS_ UNIX_ HPUX,
wxOS_ DOS = 1 << 15, // Microsoft DOS
wxOS_ OS2 = 1 << 16 // OS/2
} ;
\end { verbatim}
The list of wxWidgets ports. Some of them can be used with more than
a single (native) toolkit; e.g. wxWinCE port sources can be used with
smartphones, pocket PCs and handheld devices SDKs.
\begin { verbatim}
enum wxPortId
{
wxPORT_ UNKNOWN = 0, // returned on error
wxPORT_ BASE = 1 << 0, // wxBase, no native toolkit used
wxPORT_ MSW = 1 << 1, // wxMSW, native toolkit is Windows API
wxPORT_ MOTIF = 1 << 2, // wxMotif, using [Open]Motif or Lesstif
wxPORT_ GTK = 1 << 3, // wxGTK, using GTK+ 1.x, 2.x, GPE or Maemo
wxPORT_ MGL = 1 << 4, // wxMGL, using wxUniversal
wxPORT_ X11 = 1 << 5, // wxX11, using wxUniversal
wxPORT_ OS2 = 1 << 6, // wxOS2, using OS/2 Presentation Manager
wxPORT_ MAC = 1 << 7, // wxMac, using Carbon or Classic Mac API
wxPORT_ COCOA = 1 << 8, // wxCocoa, using Cocoa NextStep/Mac API
wxPORT_ WINCE = 1 << 9, // wxWinCE, toolkit is WinCE SDK API
wxPORT_ PALMOS = 1 << 10 // wxPalmOS, toolkit is PalmOS API
} ;
\end { verbatim}
The architecture of the operating system (regardless of the build environment
of wxWidgets library - see \helpref { wxIsPlatform64bit} { wxisplatform64bit} documentation
for more info).
\begin { verbatim}
enum wxArchitecture
{
wxARCH_ INVALID = -1, // returned on error
wxARCH_ 32, // 32 bit
wxARCH_ 64,
wxARCH_ MAX
}
\end { verbatim}
The endian-ness of the machine.
\begin { verbatim}
enum wxEndianness
{
wxENDIAN_ INVALID = -1, // returned on error
wxENDIAN_ BIG, // 4321
wxENDIAN_ LITTLE, // 1234
wxENDIAN_ PDP, // 3412
wxENDIAN_ MAX
}
\end { verbatim}
\latexignore { \rtfignore { \wxheading { Members} } }
\membersection { wxPlatformInfo::wxPlatformInfo} \label { wxplatforminfowxplatforminfo}
\func { } { wxPlatformInfo} { }
Initializes the instance with the values corresponding to the currently running platform.
\func { } { wxPlatformInfo} { \param { wxPortId } { pid = wxPORT\_ UNKNOWN} , \param { int } { tkMajor = -1} , \param { int } { tkMinor = -1} , \param { wxOperatingSystemId } { id = wxOS\_ UNKNOWN} , \param { int } { osMajor = -1} , \param { int } { osMinor = -1} , \param { wxArchitecture } { arch = wxARCH\_ INVALID} , \param { wxEndianness } { endian = wxENDIAN\_ INVALID} }
Initializes the object using given values.
2006-09-15 20:38:36 -04:00
\membersection { wxPlatformInfo::CheckOSVersion} \label { wxplatforminfocheckosversion}
2006-09-21 16:57:19 -04:00
\constfunc { bool} { CheckOSVersion} { \param { int } { major} , \param { int } { minor} }
2006-09-15 20:38:36 -04:00
Returns \true if the OS version is at least \texttt { major.minor} .
\wxheading { See also}
\helpref { GetOSMajorVersion} { wxplatforminfogetosmajorversion} ,
\helpref { GetOSMinorVersion} { wxplatforminfogetosminorversion} ,
\helpref { CheckToolkitVersion} { wxplatforminfochecktoolkitversion}
\membersection { wxPlatformInfo::CheckToolkitVersion} \label { wxplatforminfochecktoolkitversion}
2006-09-21 16:57:19 -04:00
\constfunc { bool} { CheckToolkitVersion} { \param { int } { major} , \param { int } { minor} }
2006-09-15 20:38:36 -04:00
Returns \true if the toolkit version is at least \texttt { major.minor} .
\wxheading { See also}
\helpref { GetToolkitMajorVersion} { wxplatforminfogettoolkitmajorversion} ,
\helpref { GetToolkitMinorVersion} { wxplatforminfogettoolkitminorversion} ,
\helpref { CheckOSVersion} { wxplatforminfocheckosversion}
2006-08-13 17:00:32 -04:00
\membersection { wxPlatformInfo::GetArch} \label { wxplatforminfogetarch}
\func { static wxArchitecture} { GetArch} { \param { const wxString\& } { arch} }
Converts the given string to a wxArchitecture enum value or to
2006-08-16 12:17:59 -04:00
wxARCH\_ INVALID if the given string is not a valid architecture string
2006-08-13 17:00:32 -04:00
(i.e. does not contain nor { \tt 32} nor { \tt 64} strings).
\membersection { wxPlatformInfo::GetArchName} \label { wxplatforminfogetarchname}
\func { static wxString} { GetArchName} { \param { wxArchitecture } { arch} }
Returns the name for the given wxArchitecture enumeration value.
\constfunc { wxString} { GetArchName} { \void }
Returns the name for the architecture of this wxPlatformInfo instance.
\membersection { wxPlatformInfo::GetArchitecture} \label { wxplatforminfogetarchitecture}
\constfunc { wxArchitecture} { GetArchitecture} { \void }
Returns the architecture ID of this wxPlatformInfo instance.
\membersection { wxPlatformInfo::GetEndianness} \label { wxplatforminfogetendianness}
\func { static wxEndianness} { GetEndianness} { \param { const wxString\& } { end} }
Converts the given string to a wxEndianness enum value or to
2006-08-16 12:17:59 -04:00
wxENDIAN\_ INVALID if the given string is not a valid endianness string
2006-08-13 17:00:32 -04:00
(i.e. does not contain nor { \tt little} nor { \tt big} strings).
\constfunc { wxEndianness} { GetEndianness} { \void }
Returns the endianness ID of this wxPlatformInfo instance.
\membersection { wxPlatformInfo::GetEndiannessName} \label { wxplatforminfogetendiannessname}
\func { static wxString} { GetEndiannessName} { \param { wxEndianness } { end} }
Returns name for the given wxEndianness enumeration value.
\constfunc { wxString} { GetEndiannessName} { \void }
Returns the name for the endianness of this wxPlatformInfo instance.
\membersection { wxPlatformInfo::GetOSMajorVersion} \label { wxplatforminfogetosmajorversion}
\constfunc { int} { GetOSMajorVersion} { \void }
Returns the major version of the OS associated with this wxPlatformInfo instance.
2006-09-15 20:38:36 -04:00
\wxheading { See also}
\helpref { CheckOSVersion} { wxplatforminfocheckosversion}
2006-08-13 17:00:32 -04:00
\membersection { wxPlatformInfo::GetOSMinorVersion} \label { wxplatforminfogetosminorversion}
\constfunc { int} { GetOSMinorVersion} { \void }
Returns the minor version of the OS associated with this wxPlatformInfo instance.
2006-09-15 20:38:36 -04:00
\helpref { CheckOSVersion} { wxplatforminfocheckosversion}
2006-08-13 17:00:32 -04:00
\membersection { wxPlatformInfo::GetOperatingSystemFamilyName} \label { wxplatforminfogetoperatingsystemfamilyname}
\func { static wxString} { GetOperatingSystemFamilyName} { \param { wxOperatingSystemId } { os} }
Returns the operating system family name for the given wxOperatingSystemId enumeration value:
2006-08-16 12:17:59 -04:00
{ \tt Unix} for wxOS\_ UNIX, { \tt Macintosh} for wxOS\_ MAC, { \tt Windows} for wxOS\_ WINDOWS,
{ \tt DOS} for wxOS\_ DOS, { \tt OS/2} for wxOS\_ OS2.
2006-08-13 17:00:32 -04:00
\constfunc { wxString} { GetOperatingSystemFamilyName} { \void }
Returns the operating system family name of the OS associated with this wxPlatformInfo instance.
\membersection { wxPlatformInfo::GetOperatingSystemId} \label { wxplatforminfogetoperatingsystemid}
\func { static wxOperatingSystemId} { GetOperatingSystemId} { \param { const wxString\& } { name} }
Converts the given string to a wxOperatingSystemId enum value or to
2006-08-16 12:17:59 -04:00
wxOS\_ UNKNOWN if the given string is not a valid operating system name.
2006-08-13 17:00:32 -04:00
\constfunc { wxOperatingSystemId} { GetOperatingSystemId} { \void }
Returns the operating system ID of this wxPlatformInfo instance.
\membersection { wxPlatformInfo::GetOperatingSystemIdName} \label { wxplatforminfogetoperatingsystemidname}
\func { static wxString} { GetOperatingSystemIdName} { \param { wxOperatingSystemId } { os} }
Returns the name for the given operating system ID value. This can be a long name
(e.g. { \tt Microsoft Windows NT} ); use \helpref { GetOperatingSystemFamilyName} { wxplatforminfogetoperatingsystemfamilyname} to
retrieve a short, generic name.
\constfunc { wxString} { GetOperatingSystemIdName} { \void }
Returns the operating system name of the OS associated with this wxPlatformInfo instance.
\membersection { wxPlatformInfo::GetPortId} \label { wxplatforminfogetportid}
\func { static wxPortId} { GetPortId} { \param { const wxString\& } { portname} }
2006-08-16 12:17:59 -04:00
Converts the given string to a wxWidgets port ID value or to wxPORT\_ UNKNOWN if
2006-08-13 17:00:32 -04:00
the given string does not match any of the wxWidgets canonical name ports ("wxGTK", "wxMSW", etc)
nor any of the short wxWidgets name ports ("gtk", "msw", etc).
\constfunc { wxPortId} { GetPortId} { \void }
Returns the wxWidgets port ID associated with this wxPlatformInfo instance.
\membersection { wxPlatformInfo::GetPortIdName} \label { wxplatforminfogetportidname}
2006-08-16 13:18:34 -04:00
\func { static wxString} { GetPortIdName} { \param { wxPortId } { port} , \param { bool } { usingUniversal} }
2006-08-13 17:00:32 -04:00
2006-08-16 13:18:34 -04:00
Returns the name of the given wxWidgets port ID value. The \arg { usingUniversal}
argument specifies whether the port is in its native or wxUniversal variant.
The returned string always starts with the "wx" prefix and is a mixed-case
string.
2006-08-13 17:00:32 -04:00
\constfunc { wxString} { GetPortIdName} { \void }
Returns the name of the wxWidgets port ID associated with this wxPlatformInfo instance.
\membersection { wxPlatformInfo::GetPortIdShortName} \label { wxplatforminfogetportidshortname}
2006-08-16 13:18:34 -04:00
\func { static wxString} { GetPortIdShortName} { \param { wxPortId } { port} , \param { bool } { usingUniversal} }
Returns the short name of the given wxWidgets port ID value. The
\arg { usingUniversal} argument specifies whether the port is in its native or
wxUniversal variant.
2006-08-13 17:00:32 -04:00
2006-08-16 13:18:34 -04:00
The returned string does not start with the "wx" prefix and is always lower
case.
2006-08-13 17:00:32 -04:00
\constfunc { wxString} { GetPortIdShortName} { \void }
Returns the short name of the wxWidgets port ID associated with this wxPlatformInfo instance.
\membersection { wxPlatformInfo::GetToolkitMajorVersion} \label { wxplatforminfogettoolkitmajorversion}
\constfunc { int} { GetToolkitMajorVersion} { \void }
Returns the major version of the toolkit associated with this wxPlatformInfo instance.
2006-08-16 12:17:59 -04:00
Note that if { GetPortId} { wxplatforminfogetportid} returns wxPORT\_ BASE, then this value is zero (unless externally modified with SetToolkitVersion); that is, no native toolkit is in use.
2006-08-13 17:00:32 -04:00
2006-09-15 20:38:36 -04:00
\wxheading { See also}
\helpref { CheckToolkitVersion} { wxplatforminfochecktoolkitversion}
2006-08-13 17:00:32 -04:00
\membersection { wxPlatformInfo::GetToolkitMinorVersion} \label { wxplatforminfogettoolkitminorversion}
\constfunc { int} { GetToolkitMinorVersion} { \void }
Returns the minor version of the toolkit associated with this wxPlatformInfo instance.
2006-08-16 12:17:59 -04:00
Note that if { GetPortId} { wxplatforminfogetportid} returns wxPORT\_ BASE, then this value is zero (unless externally modified with SetToolkitVersion); that is, no native toolkit is in use.
2006-08-13 17:00:32 -04:00
2006-09-15 20:38:36 -04:00
\wxheading { See also}
\helpref { CheckToolkitVersion} { wxplatforminfochecktoolkitversion}
2006-08-13 17:00:32 -04:00
\membersection { wxPlatformInfo::IsOk} \label { wxplatforminfoisok}
\constfunc { bool} { IsOk} { \void }
Returns \true if this instance is fully initialized with valid values.
\membersection { wxPlatformInfo::IsUsingUniversalWidgets} \label { wxplatforminfoisusinguniversalwidgets}
2006-08-16 13:18:34 -04:00
\constfunc { bool} { IsUsingUniversalWidgets} { \void }
2006-08-13 17:00:32 -04:00
2006-08-16 13:18:34 -04:00
Returns \true if this wxPlatformInfo describes wxUniversal build.
2006-08-13 17:00:32 -04:00
\membersection { wxPlatformInfo::SetArchitecture} \label { wxplatforminfosetarchitecture}
\func { void} { SetArchitecture} { \param { wxArchitecture } { n} }
Sets the architecture enum value associated with this wxPlatformInfo instance.
\membersection { wxPlatformInfo::SetEndianness} \label { wxplatforminfosetendianness}
\func { void} { SetEndianness} { \param { wxEndianness } { n} }
Sets the endianness enum value associated with this wxPlatformInfo instance.
\membersection { wxPlatformInfo::SetOSVersion} \label { wxplatforminfosetosversion}
\func { void} { SetOSVersion} { \param { int } { major} , \param { int } { minor} }
Sets the version of the operating system associated with this wxPlatformInfo instance.
\membersection { wxPlatformInfo::SetOperatingSystemId} \label { wxplatforminfosetoperatingsystemid}
\func { void} { SetOperatingSystemId} { \param { wxOperatingSystemId } { n} }
Sets the operating system associated with this wxPlatformInfo instance.
\membersection { wxPlatformInfo::SetPortId} \label { wxplatforminfosetportid}
\func { void} { SetPortId} { \param { wxPortId } { n} }
Sets the wxWidgets port ID associated with this wxPlatformInfo instance.
\membersection { wxPlatformInfo::SetToolkitVersion} \label { wxplatforminfosettoolkitversion}
\func { void} { SetToolkitVersion} { \param { int } { major} , \param { int } { minor} }
Sets the version of the toolkit associated with this wxPlatformInfo instance.
\membersection { wxPlatformInfo::operator!=} \label { wxplatforminfooperatorunknown}
\constfunc { bool} { operator!=} { \param { const wxPlatformInfo\& } { t} }
Inequality operator. Tests all class' internal variables.
\membersection { wxPlatformInfo::operator==} \label { wxplatforminfooperatorequal}
\constfunc { bool} { operator==} { \param { const wxPlatformInfo\& } { t} }
Equality operator. Tests all class' internal variables.