X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/b21d68c68b28ada0607d444b4facec31da6f3c8a..89579a60d7ba7da32777647ad7647af69ec4e687:/src/common/utilscmn.cpp diff --git a/src/common/utilscmn.cpp b/src/common/utilscmn.cpp index eadd15283b..48cda637a5 100644 --- a/src/common/utilscmn.cpp +++ b/src/common/utilscmn.cpp @@ -287,22 +287,20 @@ wxString wxGetDataDir() return dir; } -int wxGetOsVersion(int *verMaj, int *verMin) +bool wxIsPlatformLittleEndian() { - // we want this function to work even if there is no wxApp - wxConsoleAppTraits traitsConsole; - wxAppTraits *traits = wxTheApp ? wxTheApp->GetTraits() : NULL; - if ( ! traits ) - traits = &traitsConsole; + // Are we little or big endian? This method is from Harbison & Steele. + union + { + long l; + char c[sizeof(long)]; + } u; + u.l = 1; - wxToolkitInfo& info = traits->GetToolkitInfo(); - if ( verMaj ) - *verMaj = info.versionMajor; - if ( verMin ) - *verMin = info.versionMinor; - return info.os; + return u.c[0] == 1; } + /* * Class to make it easier to specify platform-dependent values */ @@ -442,11 +440,11 @@ void wxPlatform::ClearPlatforms() bool wxPlatform::Is(int platform) { #ifdef __WXMSW__ - if (platform == wxMSW) + if (platform == wxOS_WINDOWS) return true; #endif #ifdef __WXWINCE__ - if (platform == wxWinCE) + if (platform == wxOS_WINDOWS_CE) return true; #endif #if defined(__WXWINCE__) && defined(__POCKETPC__) @@ -458,31 +456,31 @@ bool wxPlatform::Is(int platform) return true; #endif #ifdef __WXGTK__ - if (platform == wxGTK) + if (platform == wxPORT_GTK) return true; #endif #ifdef __WXMAC__ - if (platform == wxMac) + if (platform == wxPORT_MAC) return true; #endif #ifdef __WXX11__ - if (platform == wxX11) + if (platform == wxPORT_X11) return true; #endif #ifdef __UNIX__ - if (platform == wxUnix) + if (platform == wxOS_UNIX) return true; #endif #ifdef __WXMGL__ - if (platform == wxMGL) + if (platform == wxPORT_MGL) return true; #endif #ifdef __WXOS2__ - if (platform == wxOS2) + if (platform == wxPORT_OS2) return true; #endif #ifdef __WXCOCOA__ - if (platform == wxCocoa) + if (platform == wxPORT_MAC) return true; #endif @@ -941,8 +939,10 @@ wxChar *wxStripMenuCodes(const wxChar *in, wxChar *out) return out; } -wxString wxStripMenuCodes(const wxString& in) +wxString wxStripMenuCodes(const wxString& in, int flags) { + wxASSERT_MSG( flags, _T("this is useless to call without any flags") ); + wxString out; size_t len = in.length(); @@ -951,7 +951,7 @@ wxString wxStripMenuCodes(const wxString& in) for ( size_t n = 0; n < len; n++ ) { wxChar ch = in[n]; - if ( ch == _T('&') ) + if ( (flags & wxStrip_Mnemonics) && ch == _T('&') ) { // skip it, it is used to introduce the accel char (or to quote // itself in which case it should still be skipped): note that it @@ -966,7 +966,7 @@ wxString wxStripMenuCodes(const wxString& in) ch = in[n]; } } - else if ( ch == _T('\t') ) + else if ( (flags & wxStrip_Accel) && ch == _T('\t') ) { // everything after TAB is accel string, exit the loop break;