#ifndef _WX_PLATINFO_H_
#define _WX_PLATINFO_H_
-#include "wx/defs.h"
+#include "wx/string.h"
// ----------------------------------------------------------------------------
// wxPlatformInfo
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_PM = 1 << 6, // wxOS2, using OS/2 Presentation Manager
+ wxPORT_OS2 = wxPORT_PM, // 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
+ wxPORT_PALMOS = 1 << 10, // wxPalmOS, toolkit is PalmOS API
+ wxPORT_DFB = 1 << 11 // wxDFB, using wxUniversal
};
// architecture of the operating system
wxOperatingSystemId id = wxOS_UNKNOWN,
int osMajor = -1, int osMinor = -1,
wxArchitecture arch = wxARCH_INVALID,
- wxEndianness endian = wxENDIAN_INVALID);
+ wxEndianness endian = wxENDIAN_INVALID,
+ bool usingUniversal = false);
// default copy ctor, assignment operator and dtor are ok
bool operator!=(const wxPlatformInfo &t) const
{ return !(*this == t); }
+ // Gets a wxPlatformInfo already initialized with the values for
+ // the currently running platform.
+ static const wxPlatformInfo& Get();
+
+
// string -> enum conversions
// ---------------------------------
static wxString GetOperatingSystemFamilyName(wxOperatingSystemId os);
static wxString GetOperatingSystemIdName(wxOperatingSystemId os);
- static wxString GetPortIdName(wxPortId port);
- static wxString GetPortIdShortName(wxPortId port);
+ static wxString GetPortIdName(wxPortId port, bool usingUniversal);
+ static wxString GetPortIdShortName(wxPortId port, bool usingUniversal);
static wxString GetArchName(wxArchitecture arch);
static wxString GetEndiannessName(wxEndianness end);
int GetOSMinorVersion() const
{ return m_osVersionMinor; }
+ // return true if the OS version >= major.minor
+ bool CheckOSVersion(int major, int minor) const
+ {
+ return DoCheckVersion(GetOSMajorVersion(),
+ GetOSMinorVersion(),
+ major,
+ minor);
+ }
+
int GetToolkitMajorVersion() const
{ return m_tkVersionMajor; }
int GetToolkitMinorVersion() const
{ return m_tkVersionMinor; }
+ bool CheckToolkitVersion(int major, int minor) const
+ {
+ return DoCheckVersion(GetToolkitMajorVersion(),
+ GetToolkitMinorVersion(),
+ major,
+ minor);
+ }
+
+ bool IsUsingUniversalWidgets() const
+ { return m_usingUniversal; }
+
wxOperatingSystemId GetOperatingSystemId() const
{ return m_os; }
wxPortId GetPortId() const
wxString GetOperatingSystemIdName() const
{ return GetOperatingSystemIdName(m_os); }
wxString GetPortIdName() const
- { return GetPortIdName(m_port); }
+ { return GetPortIdName(m_port, m_usingUniversal); }
wxString GetPortIdShortName() const
- { return GetPortIdShortName(m_port); }
+ { return GetPortIdShortName(m_port, m_usingUniversal); }
wxString GetArchName() const
{ return GetArchName(m_arch); }
wxString GetEndiannessName() const
{ m_tkVersionMajor=major; m_tkVersionMinor=minor; }
void SetOperatingSystemId(wxOperatingSystemId n)
- { m_os=n; }
+ { m_os = n; }
void SetPortId(wxPortId n)
- { m_port=n; }
+ { m_port = n; }
void SetArchitecture(wxArchitecture n)
- { m_arch=n; }
+ { m_arch = n; }
void SetEndianness(wxEndianness n)
- { m_endian=n; }
+ { m_endian = n; }
// miscellaneous
// -----------------
m_arch != wxARCH_INVALID && m_endian != wxENDIAN_INVALID;
}
- static bool IsUsingUniversalWidgets()
+
+protected:
+ static bool DoCheckVersion(int majorCur, int minorCur, int major, int minor)
{
- #ifdef __WXUNIVERSAL__
- return true;
- #else
- return false;
- #endif
+ return majorCur > major || (majorCur == major && minorCur >= minor);
}
+ void InitForCurrentPlatform();
+
-protected:
// OS stuff
// -----------------
// Version of the OS; valid if m_os != wxOS_UNKNOWN
// (-1 means not initialized yet).
- int m_osVersionMajor, m_osVersionMinor;
+ int m_osVersionMajor,
+ m_osVersionMinor;
// Operating system ID.
wxOperatingSystemId m_os;
// name of the wxWidgets port
wxPortId m_port;
+ // is using wxUniversal widgets?
+ bool m_usingUniversal;
+
// others
// -----------------