1 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3 %% Purpose: wxPlatformInfo
4 %% Author: Francesco Montorsi
8 %% Copyright: (c) wxWidgets Team
9 %% License: wxWindows license
10 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
12 \section{\class{wxPlatformInfo
}}\label{wxplatforminfo
}
14 This class holds informations about the operating system and the toolkit that the application
15 is running under and some basic architecture info of the machine where it's running.
17 \wxheading{Derived from
}
19 \helpref{wxObject
}{wxobject
}
21 \wxheading{Include files
}
27 \helpref{wxBase
}{librarieslist
}
31 \helpref{wxGetOSVersion
}{wxgetosversion
},
\helpref{wxIsPlatformLittleEndian
}{wxisplatformlittleendian
},
32 \helpref{wxIsPlatform64Bit
}{wxisplatform64bit
},
\helpref{wxAppTraits
}{wxapptraits
}
34 \wxheading{Data structures
}
36 The following are the operating systems which are recognized by wxWidgets
37 and whose version can be detected at run-time. The values of the constants
38 are chosen so that they can be combined as flags; this allows to check
39 for operating system
{\it families
} like e.g. wxOS
\_MAC and wxOS
\_UNIX.
42 enum wxOperatingSystemId
44 wxOS_UNKNOWN =
0, // returned on error
46 wxOS_MAC_OS =
1 <<
0, // Apple Mac OS
8/
9/X with Mac paths
47 wxOS_MAC_OSX_DARWIN =
1 <<
1, // Apple Mac OS X with Unix paths
48 wxOS_MAC = wxOS_MAC_OS|wxOS_MAC_OSX_DARWIN,
50 wxOS_WINDOWS_9X =
1 <<
2, // Windows
9x family (
95/
98/ME)
51 wxOS_WINDOWS_NT =
1 <<
3, // Windows NT family (NT/
2000/XP)
52 wxOS_WINDOWS_MICRO =
1 <<
4, // MicroWindows
53 wxOS_WINDOWS_CE =
1 <<
5, // Windows CE (Window Mobile)
54 wxOS_WINDOWS = wxOS_WINDOWS_9X |
59 wxOS_UNIX_LINUX =
1 <<
6, // Linux
60 wxOS_UNIX_FREEBSD =
1 <<
7, // FreeBSD
61 wxOS_UNIX_OPENBSD =
1 <<
8, // OpenBSD
62 wxOS_UNIX_NETBSD =
1 <<
9, // NetBSD
63 wxOS_UNIX_SOLARIS =
1 <<
10, // SunOS
64 wxOS_UNIX_AIX =
1 <<
11, // AIX
65 wxOS_UNIX_HPUX =
1 <<
12, // HP/UX
66 wxOS_UNIX = wxOS_UNIX_LINUX |
74 wxOS_DOS =
1 <<
15, // Microsoft DOS
75 wxOS_OS2 =
1 <<
16 // OS/
2
79 The list of wxWidgets ports. Some of them can be used with more than
80 a single (native) toolkit; e.g. wxWinCE port sources can be used with
81 smartphones, pocket PCs and handheld devices SDKs.
86 wxPORT_UNKNOWN =
0, // returned on error
88 wxPORT_BASE =
1 <<
0, // wxBase, no native toolkit used
90 wxPORT_MSW =
1 <<
1, // wxMSW, native toolkit is Windows API
91 wxPORT_MOTIF =
1 <<
2, // wxMotif, using
[Open
]Motif or Lesstif
92 wxPORT_GTK =
1 <<
3, // wxGTK, using GTK+
1.x,
2.x, GPE or Maemo
93 wxPORT_MGL =
1 <<
4, // wxMGL, using wxUniversal
94 wxPORT_X11 =
1 <<
5, // wxX11, using wxUniversal
95 wxPORT_OS2 =
1 <<
6, // wxOS2, using OS/
2 Presentation Manager
96 wxPORT_MAC =
1 <<
7, // wxMac, using Carbon or Classic Mac API
97 wxPORT_COCOA =
1 <<
8, // wxCocoa, using Cocoa NextStep/Mac API
98 wxPORT_WINCE =
1 <<
9, // wxWinCE, toolkit is WinCE SDK API
99 wxPORT_PALMOS =
1 <<
10, // wxPalmOS, toolkit is PalmOS API
100 wxPORT_DFB =
1 <<
11 // wxDFB, using wxUniversal
104 The architecture of the operating system (regardless of the build environment
105 of wxWidgets library - see
\helpref{wxIsPlatform64bit
}{wxisplatform64bit
} documentation
111 wxARCH_INVALID = -
1, // returned on error
120 The endian-ness of the machine.
125 wxENDIAN_INVALID = -
1, // returned on error
127 wxENDIAN_BIG, //
4321
128 wxENDIAN_LITTLE, //
1234
129 wxENDIAN_PDP, //
3412
135 \latexignore{\rtfignore{\wxheading{Members
}}}
138 \membersection{wxPlatformInfo::wxPlatformInfo
}\label{wxplatforminfowxplatforminfo
}
140 \func{}{wxPlatformInfo
}{}
142 Initializes the instance with the values corresponding to the currently running platform.
143 This is a fast operation because it only requires to copy the values internally cached for the
144 currently running platform (see also
\helpref{Get
}{wxplatforminfoget
}).
146 \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}}
148 Initializes the object using given values.
152 \membersection{wxPlatformInfo::CheckOSVersion
}\label{wxplatforminfocheckosversion
}
154 \constfunc{bool
}{CheckOSVersion
}{\param{int
}{major
},
\param{int
}{minor
}}
156 Returns
\true if the OS version is at least
\texttt{major.minor
}.
160 \helpref{GetOSMajorVersion
}{wxplatforminfogetosmajorversion
},
161 \helpref{GetOSMinorVersion
}{wxplatforminfogetosminorversion
},
162 \helpref{CheckToolkitVersion
}{wxplatforminfochecktoolkitversion
}
165 \membersection{wxPlatformInfo::CheckToolkitVersion
}\label{wxplatforminfochecktoolkitversion
}
167 \constfunc{bool
}{CheckToolkitVersion
}{\param{int
}{major
},
\param{int
}{minor
}}
169 Returns
\true if the toolkit version is at least
\texttt{major.minor
}.
173 \helpref{GetToolkitMajorVersion
}{wxplatforminfogettoolkitmajorversion
},
174 \helpref{GetToolkitMinorVersion
}{wxplatforminfogettoolkitminorversion
},
175 \helpref{CheckOSVersion
}{wxplatforminfocheckosversion
}
179 \membersection{wxPlatformInfo::Get
}\label{wxplatforminfoget
}
181 \func{static const wxPlatformInfo\&
}{Get
}{\void}
183 Returns the global wxPlatformInfo object, initialized with the values for the currently running platform.
186 \membersection{wxPlatformInfo::GetArch
}\label{wxplatforminfogetarch
}
188 \func{static wxArchitecture
}{GetArch
}{\param{const wxString\&
}{arch
}}
190 Converts the given string to a wxArchitecture enum value or to
191 wxARCH
\_INVALID if the given string is not a valid architecture string
192 (i.e. does not contain nor
{\tt 32} nor
{\tt 64} strings).
195 \membersection{wxPlatformInfo::GetArchName
}\label{wxplatforminfogetarchname
}
197 \func{static wxString
}{GetArchName
}{\param{wxArchitecture
}{arch
}}
199 Returns the name for the given wxArchitecture enumeration value.
201 \constfunc{wxString
}{GetArchName
}{\void}
203 Returns the name for the architecture of this wxPlatformInfo instance.
206 \membersection{wxPlatformInfo::GetArchitecture
}\label{wxplatforminfogetarchitecture
}
208 \constfunc{wxArchitecture
}{GetArchitecture
}{\void}
210 Returns the architecture ID of this wxPlatformInfo instance.
215 \membersection{wxPlatformInfo::GetEndianness
}\label{wxplatforminfogetendianness
}
217 \func{static wxEndianness
}{GetEndianness
}{\param{const wxString\&
}{end
}}
219 Converts the given string to a wxEndianness enum value or to
220 wxENDIAN
\_INVALID if the given string is not a valid endianness string
221 (i.e. does not contain nor
{\tt little
} nor
{\tt big
} strings).
223 \constfunc{wxEndianness
}{GetEndianness
}{\void}
225 Returns the endianness ID of this wxPlatformInfo instance.
227 \membersection{wxPlatformInfo::GetEndiannessName
}\label{wxplatforminfogetendiannessname
}
229 \func{static wxString
}{GetEndiannessName
}{\param{wxEndianness
}{end
}}
231 Returns name for the given wxEndianness enumeration value.
233 \constfunc{wxString
}{GetEndiannessName
}{\void}
235 Returns the name for the endianness of this wxPlatformInfo instance.
241 \membersection{wxPlatformInfo::GetOSMajorVersion
}\label{wxplatforminfogetosmajorversion
}
243 \constfunc{int
}{GetOSMajorVersion
}{\void}
245 Returns the run-time major version of the OS associated with this wxPlatformInfo instance.
246 See
\helpref{wxGetOsVersion
}{wxgetosversion
} for more info.
250 \helpref{CheckOSVersion
}{wxplatforminfocheckosversion
}
253 \membersection{wxPlatformInfo::GetOSMinorVersion
}\label{wxplatforminfogetosminorversion
}
255 \constfunc{int
}{GetOSMinorVersion
}{\void}
257 Returns the run-time minor version of the OS associated with this wxPlatformInfo instance.
258 See
\helpref{wxGetOsVersion
}{wxgetosversion
} for more info.
262 \helpref{CheckOSVersion
}{wxplatforminfocheckosversion
}
266 \membersection{wxPlatformInfo::GetOperatingSystemFamilyName
}\label{wxplatforminfogetoperatingsystemfamilyname
}
268 \func{static wxString
}{GetOperatingSystemFamilyName
}{\param{wxOperatingSystemId
}{os
}}
270 Returns the operating system family name for the given wxOperatingSystemId enumeration value:
271 {\tt Unix
} for wxOS
\_UNIX,
{\tt Macintosh
} for wxOS
\_MAC,
{\tt Windows
} for wxOS
\_WINDOWS,
272 {\tt DOS
} for wxOS
\_DOS,
{\tt OS/
2} for wxOS
\_OS2.
274 \constfunc{wxString
}{GetOperatingSystemFamilyName
}{\void}
276 Returns the operating system family name of the OS associated with this wxPlatformInfo instance.
280 \membersection{wxPlatformInfo::GetOperatingSystemId
}\label{wxplatforminfogetoperatingsystemid
}
282 \func{static wxOperatingSystemId
}{GetOperatingSystemId
}{\param{const wxString\&
}{name
}}
284 Converts the given string to a wxOperatingSystemId enum value or to
285 wxOS
\_UNKNOWN if the given string is not a valid operating system name.
287 \constfunc{wxOperatingSystemId
}{GetOperatingSystemId
}{\void}
289 Returns the operating system ID of this wxPlatformInfo instance.
293 \membersection{wxPlatformInfo::GetOperatingSystemIdName
}\label{wxplatforminfogetoperatingsystemidname
}
295 \func{static wxString
}{GetOperatingSystemIdName
}{\param{wxOperatingSystemId
}{os
}}
297 Returns the name for the given operating system ID value. This can be a long name
298 (e.g.
{\tt Microsoft Windows NT
}); use
\helpref{GetOperatingSystemFamilyName
}{wxplatforminfogetoperatingsystemfamilyname
} to
299 retrieve a short, generic name.
302 \constfunc{wxString
}{GetOperatingSystemIdName
}{\void}
304 Returns the operating system name of the OS associated with this wxPlatformInfo instance.
310 \membersection{wxPlatformInfo::GetPortId
}\label{wxplatforminfogetportid
}
312 \func{static wxPortId
}{GetPortId
}{\param{const wxString\&
}{portname
}}
314 Converts the given string to a wxWidgets port ID value or to wxPORT
\_UNKNOWN if
315 the given string does not match any of the wxWidgets canonical name ports ("wxGTK", "wxMSW", etc)
316 nor any of the short wxWidgets name ports ("gtk", "msw", etc).
318 \constfunc{wxPortId
}{GetPortId
}{\void}
320 Returns the wxWidgets port ID associated with this wxPlatformInfo instance.
322 \membersection{wxPlatformInfo::GetPortIdName
}\label{wxplatforminfogetportidname
}
324 \func{static wxString
}{GetPortIdName
}{\param{wxPortId
}{port
},
\param{bool
}{usingUniversal
}}
326 Returns the name of the given wxWidgets port ID value. The
\arg{usingUniversal
}
327 argument specifies whether the port is in its native or wxUniversal variant.
329 The returned string always starts with the "wx" prefix and is a mixed-case
332 \constfunc{wxString
}{GetPortIdName
}{\void}
334 Returns the name of the wxWidgets port ID associated with this wxPlatformInfo instance.
339 \membersection{wxPlatformInfo::GetPortIdShortName
}\label{wxplatforminfogetportidshortname
}
341 \func{static wxString
}{GetPortIdShortName
}{\param{wxPortId
}{port
},
\param{bool
}{usingUniversal
}}
343 Returns the short name of the given wxWidgets port ID value. The
344 \arg{usingUniversal
} argument specifies whether the port is in its native or
347 The returned string does not start with the "wx" prefix and is always lower
350 \constfunc{wxString
}{GetPortIdShortName
}{\void}
352 Returns the short name of the wxWidgets port ID associated with this wxPlatformInfo instance.
357 \membersection{wxPlatformInfo::GetToolkitMajorVersion
}\label{wxplatforminfogettoolkitmajorversion
}
359 \constfunc{int
}{GetToolkitMajorVersion
}{\void}
361 Returns the run-time major version of the toolkit associated with this wxPlatformInfo instance.
362 Note that if
\helpref{GetPortId
}{wxplatforminfogetportid
} returns wxPORT
\_BASE, then this value is zero (unless externally modified with
\helpref{SetToolkitVersion
}{wxplatforminfosettoolkitversion
}); that is, no native toolkit is in use.
364 See
\helpref{wxAppTraits::GetToolkitVersion
}{wxapptraitsgettoolkitversion
} for more info.
369 \helpref{CheckToolkitVersion
}{wxplatforminfochecktoolkitversion
}
372 \membersection{wxPlatformInfo::GetToolkitMinorVersion
}\label{wxplatforminfogettoolkitminorversion
}
374 \constfunc{int
}{GetToolkitMinorVersion
}{\void}
376 Returns the run-time minor version of the toolkit associated with this wxPlatformInfo instance.
377 Note that if
\helpref{GetPortId
}{wxplatforminfogetportid
} returns wxPORT
\_BASE, then this value is zero (unless externally modified with
\helpref{SetToolkitVersion
}{wxplatforminfosettoolkitversion
}); that is, no native toolkit is in use.
379 See
\helpref{wxAppTraits::GetToolkitVersion
}{wxapptraitsgettoolkitversion
} for more info.
383 \helpref{CheckToolkitVersion
}{wxplatforminfochecktoolkitversion
}
388 \membersection{wxPlatformInfo::IsOk
}\label{wxplatforminfoisok
}
390 \constfunc{bool
}{IsOk
}{\void}
392 Returns
\true if this instance is fully initialized with valid values.
396 \membersection{wxPlatformInfo::IsUsingUniversalWidgets
}\label{wxplatforminfoisusinguniversalwidgets
}
398 \constfunc{bool
}{IsUsingUniversalWidgets
}{\void}
400 Returns
\true if this wxPlatformInfo describes wxUniversal build.
403 \membersection{wxPlatformInfo::SetArchitecture
}\label{wxplatforminfosetarchitecture
}
405 \func{void
}{SetArchitecture
}{\param{wxArchitecture
}{n
}}
407 Sets the architecture enum value associated with this wxPlatformInfo instance.
411 \membersection{wxPlatformInfo::SetEndianness
}\label{wxplatforminfosetendianness
}
413 \func{void
}{SetEndianness
}{\param{wxEndianness
}{n
}}
415 Sets the endianness enum value associated with this wxPlatformInfo instance.
418 \membersection{wxPlatformInfo::SetOSVersion
}\label{wxplatforminfosetosversion
}
420 \func{void
}{SetOSVersion
}{\param{int
}{major
},
\param{int
}{minor
}}
422 Sets the version of the operating system associated with this wxPlatformInfo instance.
426 \membersection{wxPlatformInfo::SetOperatingSystemId
}\label{wxplatforminfosetoperatingsystemid
}
428 \func{void
}{SetOperatingSystemId
}{\param{wxOperatingSystemId
}{n
}}
430 Sets the operating system associated with this wxPlatformInfo instance.
434 \membersection{wxPlatformInfo::SetPortId
}\label{wxplatforminfosetportid
}
436 \func{void
}{SetPortId
}{\param{wxPortId
}{n
}}
438 Sets the wxWidgets port ID associated with this wxPlatformInfo instance.
442 \membersection{wxPlatformInfo::SetToolkitVersion
}\label{wxplatforminfosettoolkitversion
}
444 \func{void
}{SetToolkitVersion
}{\param{int
}{major
},
\param{int
}{minor
}}
446 Sets the version of the toolkit associated with this wxPlatformInfo instance.
450 \membersection{wxPlatformInfo::operator!=
}\label{wxplatforminfooperatorunknown
}
452 \constfunc{bool
}{operator!=
}{\param{const wxPlatformInfo\&
}{t
}}
454 Inequality operator. Tests all class' internal variables.
457 \membersection{wxPlatformInfo::operator==
}\label{wxplatforminfooperatorequal
}
459 \constfunc{bool
}{operator==
}{\param{const wxPlatformInfo\&
}{t
}}
461 Equality operator. Tests all class' internal variables.