1%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 2%% Name: platinfo.tex 3%% Purpose: wxPlatformInfo 4%% Author: Francesco Montorsi 5%% Modified by: 6%% Created: 31-7-2006 7%% RCS-ID: $Id: platinfo.tex 43514 2006-11-19 12:42:57Z VZ $ 8%% Copyright: (c) wxWidgets Team 9%% License: wxWindows license 10%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 11 12\section{\class{wxPlatformInfo}}\label{wxplatforminfo} 13 14This class holds informations about the operating system and the toolkit that the application 15is running under and some basic architecture info of the machine where it's running. 16 17\wxheading{Derived from} 18 19\helpref{wxObject}{wxobject} 20 21\wxheading{Include files} 22 23<wx/platinfo.h> 24 25\wxheading{See also} 26 27\helpref{wxGetOSVersion}{wxgetosversion}, \helpref{wxIsPlatformLittleEndian}{wxisplatformlittleendian}, 28\helpref{wxIsPlatform64Bit}{wxisplatform64bit}, \helpref{wxAppTraits}{wxapptraits} 29 30\wxheading{Data structures} 31 32The following are the operating systems which are recognized by wxWidgets 33and whose version can be detected at run-time. The values of the constants 34are chosen so that they can be combined as flags; this allows to check 35for operating system {\it families} like e.g. wxOS\_MAC and wxOS\_UNIX. 36 37\begin{verbatim} 38enum wxOperatingSystemId 39{ 40 wxOS_UNKNOWN = 0, // returned on error 41 42 wxOS_MAC_OS = 1 << 0, // Apple Mac OS 8/9/X with Mac paths 43 wxOS_MAC_OSX_DARWIN = 1 << 1, // Apple Mac OS X with Unix paths 44 wxOS_MAC = wxOS_MAC_OS|wxOS_MAC_OSX_DARWIN, 45 46 wxOS_WINDOWS_9X = 1 << 2, // Windows 9x family (95/98/ME) 47 wxOS_WINDOWS_NT = 1 << 3, // Windows NT family (NT/2000/XP) 48 wxOS_WINDOWS_MICRO = 1 << 4, // MicroWindows 49 wxOS_WINDOWS_CE = 1 << 5, // Windows CE (Window Mobile) 50 wxOS_WINDOWS = wxOS_WINDOWS_9X | 51 wxOS_WINDOWS_NT | 52 wxOS_WINDOWS_MICRO | 53 wxOS_WINDOWS_CE, 54 55 wxOS_UNIX_LINUX = 1 << 6, // Linux 56 wxOS_UNIX_FREEBSD = 1 << 7, // FreeBSD 57 wxOS_UNIX_OPENBSD = 1 << 8, // OpenBSD 58 wxOS_UNIX_NETBSD = 1 << 9, // NetBSD 59 wxOS_UNIX_SOLARIS = 1 << 10, // SunOS 60 wxOS_UNIX_AIX = 1 << 11, // AIX 61 wxOS_UNIX_HPUX = 1 << 12, // HP/UX 62 wxOS_UNIX = wxOS_UNIX_LINUX | 63 wxOS_UNIX_FREEBSD | 64 wxOS_UNIX_OPENBSD | 65 wxOS_UNIX_NETBSD | 66 wxOS_UNIX_SOLARIS | 67 wxOS_UNIX_AIX | 68 wxOS_UNIX_HPUX, 69 70 wxOS_DOS = 1 << 15, // Microsoft DOS 71 wxOS_OS2 = 1 << 16 // OS/2 72}; 73\end{verbatim} 74 75The list of wxWidgets ports. Some of them can be used with more than 76a single (native) toolkit; e.g. wxWinCE port sources can be used with 77smartphones, pocket PCs and handheld devices SDKs. 78 79\begin{verbatim} 80enum wxPortId 81{ 82 wxPORT_UNKNOWN = 0, // returned on error 83 84 wxPORT_BASE = 1 << 0, // wxBase, no native toolkit used 85 86 wxPORT_MSW = 1 << 1, // wxMSW, native toolkit is Windows API 87 wxPORT_MOTIF = 1 << 2, // wxMotif, using [Open]Motif or Lesstif 88 wxPORT_GTK = 1 << 3, // wxGTK, using GTK+ 1.x, 2.x, GPE or Maemo 89 wxPORT_MGL = 1 << 4, // wxMGL, using wxUniversal 90 wxPORT_X11 = 1 << 5, // wxX11, using wxUniversal 91 wxPORT_OS2 = 1 << 6, // wxOS2, using OS/2 Presentation Manager 92 wxPORT_MAC = 1 << 7, // wxMac, using Carbon or Classic Mac API 93 wxPORT_COCOA = 1 << 8, // wxCocoa, using Cocoa NextStep/Mac API 94 wxPORT_WINCE = 1 << 9, // wxWinCE, toolkit is WinCE SDK API 95 wxPORT_PALMOS = 1 << 10, // wxPalmOS, toolkit is PalmOS API 96 wxPORT_DFB = 1 << 11 // wxDFB, using wxUniversal 97}; 98\end{verbatim} 99 100The architecture of the operating system (regardless of the build environment 101of wxWidgets library - see \helpref{wxIsPlatform64bit}{wxisplatform64bit} documentation 102for more info). 103 104\begin{verbatim} 105enum wxArchitecture 106{ 107 wxARCH_INVALID = -1, // returned on error 108 109 wxARCH_32, // 32 bit 110 wxARCH_64, 111 112 wxARCH_MAX 113} 114\end{verbatim} 115 116The endian-ness of the machine. 117 118\begin{verbatim} 119enum wxEndianness 120{ 121 wxENDIAN_INVALID = -1, // returned on error 122 123 wxENDIAN_BIG, // 4321 124 wxENDIAN_LITTLE, // 1234 125 wxENDIAN_PDP, // 3412 126 127 wxENDIAN_MAX 128} 129\end{verbatim} 130 131\latexignore{\rtfignore{\wxheading{Members}}} 132 133 134\membersection{wxPlatformInfo::wxPlatformInfo}\label{wxplatforminfowxplatforminfo} 135 136\func{}{wxPlatformInfo}{} 137 138Initializes the instance with the values corresponding to the currently running platform. 139This is a fast operation because it only requires to copy the values internally cached for the 140currently running platform (see also \helpref{Get}{wxplatforminfoget}). 141 142\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}} 143 144Initializes the object using given values. 145 146 147 148\membersection{wxPlatformInfo::CheckOSVersion}\label{wxplatforminfocheckosversion} 149 150\constfunc{bool}{CheckOSVersion}{\param{int }{major}, \param{int }{minor}} 151 152Returns \true if the OS version is at least \texttt{major.minor}. 153 154\wxheading{See also} 155 156\helpref{GetOSMajorVersion}{wxplatforminfogetosmajorversion}, 157\helpref{GetOSMinorVersion}{wxplatforminfogetosminorversion}, 158\helpref{CheckToolkitVersion}{wxplatforminfochecktoolkitversion} 159 160 161\membersection{wxPlatformInfo::CheckToolkitVersion}\label{wxplatforminfochecktoolkitversion} 162 163\constfunc{bool}{CheckToolkitVersion}{\param{int }{major}, \param{int }{minor}} 164 165Returns \true if the toolkit version is at least \texttt{major.minor}. 166 167\wxheading{See also} 168 169\helpref{GetToolkitMajorVersion}{wxplatforminfogettoolkitmajorversion}, 170\helpref{GetToolkitMinorVersion}{wxplatforminfogettoolkitminorversion}, 171\helpref{CheckOSVersion}{wxplatforminfocheckosversion} 172 173 174 175\membersection{wxPlatformInfo::Get}\label{wxplatforminfoget} 176 177\func{static const wxPlatformInfo\& }{Get}{\void} 178 179Returns the global wxPlatformInfo object, initialized with the values for the currently running platform. 180 181 182\membersection{wxPlatformInfo::GetArch}\label{wxplatforminfogetarch} 183 184\func{static wxArchitecture}{GetArch}{\param{const wxString\& }{arch}} 185 186Converts the given string to a wxArchitecture enum value or to 187wxARCH\_INVALID if the given string is not a valid architecture string 188(i.e. does not contain nor {\tt 32} nor {\tt 64} strings). 189 190 191\membersection{wxPlatformInfo::GetArchName}\label{wxplatforminfogetarchname} 192 193\func{static wxString}{GetArchName}{\param{wxArchitecture }{arch}} 194 195Returns the name for the given wxArchitecture enumeration value. 196 197\constfunc{wxString}{GetArchName}{\void} 198 199Returns the name for the architecture of this wxPlatformInfo instance. 200 201 202\membersection{wxPlatformInfo::GetArchitecture}\label{wxplatforminfogetarchitecture} 203 204\constfunc{wxArchitecture}{GetArchitecture}{\void} 205 206Returns the architecture ID of this wxPlatformInfo instance. 207 208 209 210 211\membersection{wxPlatformInfo::GetEndianness}\label{wxplatforminfogetendianness} 212 213\func{static wxEndianness}{GetEndianness}{\param{const wxString\& }{end}} 214 215Converts the given string to a wxEndianness enum value or to 216wxENDIAN\_INVALID if the given string is not a valid endianness string 217(i.e. does not contain nor {\tt little} nor {\tt big} strings). 218 219\constfunc{wxEndianness}{GetEndianness}{\void} 220 221Returns the endianness ID of this wxPlatformInfo instance. 222 223\membersection{wxPlatformInfo::GetEndiannessName}\label{wxplatforminfogetendiannessname} 224 225\func{static wxString}{GetEndiannessName}{\param{wxEndianness }{end}} 226 227Returns name for the given wxEndianness enumeration value. 228 229\constfunc{wxString}{GetEndiannessName}{\void} 230 231Returns the name for the endianness of this wxPlatformInfo instance. 232 233 234 235 236 237\membersection{wxPlatformInfo::GetOSMajorVersion}\label{wxplatforminfogetosmajorversion} 238 239\constfunc{int}{GetOSMajorVersion}{\void} 240 241Returns the run-time major version of the OS associated with this wxPlatformInfo instance. 242See \helpref{wxGetOsVersion}{wxgetosversion} for more info. 243 244\wxheading{See also} 245 246\helpref{CheckOSVersion}{wxplatforminfocheckosversion} 247 248 249\membersection{wxPlatformInfo::GetOSMinorVersion}\label{wxplatforminfogetosminorversion} 250 251\constfunc{int}{GetOSMinorVersion}{\void} 252 253Returns the run-time minor version of the OS associated with this wxPlatformInfo instance. 254See \helpref{wxGetOsVersion}{wxgetosversion} for more info. 255 256\wxheading{See also} 257 258\helpref{CheckOSVersion}{wxplatforminfocheckosversion} 259 260 261 262\membersection{wxPlatformInfo::GetOperatingSystemFamilyName}\label{wxplatforminfogetoperatingsystemfamilyname} 263 264\func{static wxString}{GetOperatingSystemFamilyName}{\param{wxOperatingSystemId }{os}} 265 266Returns the operating system family name for the given wxOperatingSystemId enumeration value: 267{\tt Unix} for wxOS\_UNIX, {\tt Macintosh} for wxOS\_MAC, {\tt Windows} for wxOS\_WINDOWS, 268{\tt DOS} for wxOS\_DOS, {\tt OS/2} for wxOS\_OS2. 269 270\constfunc{wxString}{GetOperatingSystemFamilyName}{\void} 271 272Returns the operating system family name of the OS associated with this wxPlatformInfo instance. 273 274 275 276\membersection{wxPlatformInfo::GetOperatingSystemId}\label{wxplatforminfogetoperatingsystemid} 277 278\func{static wxOperatingSystemId}{GetOperatingSystemId}{\param{const wxString\& }{name}} 279 280Converts the given string to a wxOperatingSystemId enum value or to 281wxOS\_UNKNOWN if the given string is not a valid operating system name. 282 283\constfunc{wxOperatingSystemId}{GetOperatingSystemId}{\void} 284 285Returns the operating system ID of this wxPlatformInfo instance. 286 287 288 289\membersection{wxPlatformInfo::GetOperatingSystemIdName}\label{wxplatforminfogetoperatingsystemidname} 290 291\func{static wxString}{GetOperatingSystemIdName}{\param{wxOperatingSystemId }{os}} 292 293Returns the name for the given operating system ID value. This can be a long name 294(e.g. {\tt Microsoft Windows NT}); use \helpref{GetOperatingSystemFamilyName}{wxplatforminfogetoperatingsystemfamilyname} to 295retrieve a short, generic name. 296 297 298\constfunc{wxString}{GetOperatingSystemIdName}{\void} 299 300Returns the operating system name of the OS associated with this wxPlatformInfo instance. 301 302 303 304 305 306\membersection{wxPlatformInfo::GetPortId}\label{wxplatforminfogetportid} 307 308\func{static wxPortId}{GetPortId}{\param{const wxString\& }{portname}} 309 310Converts the given string to a wxWidgets port ID value or to wxPORT\_UNKNOWN if 311the given string does not match any of the wxWidgets canonical name ports ("wxGTK", "wxMSW", etc) 312nor any of the short wxWidgets name ports ("gtk", "msw", etc). 313 314\constfunc{wxPortId}{GetPortId}{\void} 315 316Returns the wxWidgets port ID associated with this wxPlatformInfo instance. 317 318\membersection{wxPlatformInfo::GetPortIdName}\label{wxplatforminfogetportidname} 319 320\func{static wxString}{GetPortIdName}{\param{wxPortId }{port}, \param{bool }{usingUniversal}} 321 322Returns the name of the given wxWidgets port ID value. The \arg{usingUniversal} 323argument specifies whether the port is in its native or wxUniversal variant. 324 325The returned string always starts with the "wx" prefix and is a mixed-case 326string. 327 328\constfunc{wxString}{GetPortIdName}{\void} 329 330Returns the name of the wxWidgets port ID associated with this wxPlatformInfo instance. 331 332 333 334 335\membersection{wxPlatformInfo::GetPortIdShortName}\label{wxplatforminfogetportidshortname} 336 337\func{static wxString}{GetPortIdShortName}{\param{wxPortId }{port}, \param{bool }{usingUniversal}} 338 339Returns the short name of the given wxWidgets port ID value. The 340\arg{usingUniversal} argument specifies whether the port is in its native or 341wxUniversal variant. 342 343The returned string does not start with the "wx" prefix and is always lower 344case. 345 346\constfunc{wxString}{GetPortIdShortName}{\void} 347 348Returns the short name of the wxWidgets port ID associated with this wxPlatformInfo instance. 349 350 351 352 353\membersection{wxPlatformInfo::GetToolkitMajorVersion}\label{wxplatforminfogettoolkitmajorversion} 354 355\constfunc{int}{GetToolkitMajorVersion}{\void} 356 357Returns the run-time major version of the toolkit associated with this wxPlatformInfo instance. 358Note 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. 359 360See \helpref{wxAppTraits::GetToolkitVersion}{wxapptraitsgettoolkitversion} for more info. 361 362 363\wxheading{See also} 364 365\helpref{CheckToolkitVersion}{wxplatforminfochecktoolkitversion} 366 367 368\membersection{wxPlatformInfo::GetToolkitMinorVersion}\label{wxplatforminfogettoolkitminorversion} 369 370\constfunc{int}{GetToolkitMinorVersion}{\void} 371 372Returns the run-time minor version of the toolkit associated with this wxPlatformInfo instance. 373Note 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. 374 375See \helpref{wxAppTraits::GetToolkitVersion}{wxapptraitsgettoolkitversion} for more info. 376 377\wxheading{See also} 378 379\helpref{CheckToolkitVersion}{wxplatforminfochecktoolkitversion} 380 381 382 383 384\membersection{wxPlatformInfo::IsOk}\label{wxplatforminfoisok} 385 386\constfunc{bool}{IsOk}{\void} 387 388Returns \true if this instance is fully initialized with valid values. 389 390 391 392\membersection{wxPlatformInfo::IsUsingUniversalWidgets}\label{wxplatforminfoisusinguniversalwidgets} 393 394\constfunc{bool}{IsUsingUniversalWidgets}{\void} 395 396Returns \true if this wxPlatformInfo describes wxUniversal build. 397 398 399\membersection{wxPlatformInfo::SetArchitecture}\label{wxplatforminfosetarchitecture} 400 401\func{void}{SetArchitecture}{\param{wxArchitecture }{n}} 402 403Sets the architecture enum value associated with this wxPlatformInfo instance. 404 405 406 407\membersection{wxPlatformInfo::SetEndianness}\label{wxplatforminfosetendianness} 408 409\func{void}{SetEndianness}{\param{wxEndianness }{n}} 410 411Sets the endianness enum value associated with this wxPlatformInfo instance. 412 413 414\membersection{wxPlatformInfo::SetOSVersion}\label{wxplatforminfosetosversion} 415 416\func{void}{SetOSVersion}{\param{int }{major}, \param{int }{minor}} 417 418Sets the version of the operating system associated with this wxPlatformInfo instance. 419 420 421 422\membersection{wxPlatformInfo::SetOperatingSystemId}\label{wxplatforminfosetoperatingsystemid} 423 424\func{void}{SetOperatingSystemId}{\param{wxOperatingSystemId }{n}} 425 426Sets the operating system associated with this wxPlatformInfo instance. 427 428 429 430\membersection{wxPlatformInfo::SetPortId}\label{wxplatforminfosetportid} 431 432\func{void}{SetPortId}{\param{wxPortId }{n}} 433 434Sets the wxWidgets port ID associated with this wxPlatformInfo instance. 435 436 437 438\membersection{wxPlatformInfo::SetToolkitVersion}\label{wxplatforminfosettoolkitversion} 439 440\func{void}{SetToolkitVersion}{\param{int }{major}, \param{int }{minor}} 441 442Sets the version of the toolkit associated with this wxPlatformInfo instance. 443 444 445 446\membersection{wxPlatformInfo::operator!=}\label{wxplatforminfooperatorunknown} 447 448\constfunc{bool}{operator!=}{\param{const wxPlatformInfo\& }{t}} 449 450Inequality operator. Tests all class' internal variables. 451 452 453\membersection{wxPlatformInfo::operator==}\label{wxplatforminfooperatorequal} 454 455\constfunc{bool}{operator==}{\param{const wxPlatformInfo\& }{t}} 456 457Equality operator. Tests all class' internal variables. 458 459