]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/utilscmn.cpp
Don't emit bogus size events if a child window
[wxWidgets.git] / src / common / utilscmn.cpp
index eadd15283b657e9b1260cf8e96d2971780611419..48cda637a526534fd6b7d473fbf9e895e66d5866 100644 (file)
@@ -287,22 +287,20 @@ wxString wxGetDataDir()
     return dir;
 }
 
     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
  */
 /*
  * Class to make it easier to specify platform-dependent values
  */
@@ -442,11 +440,11 @@ void wxPlatform::ClearPlatforms()
 bool wxPlatform::Is(int platform)
 {
 #ifdef __WXMSW__
 bool wxPlatform::Is(int platform)
 {
 #ifdef __WXMSW__
-    if (platform == wxMSW)
+    if (platform == wxOS_WINDOWS)
         return true;
 #endif
 #ifdef __WXWINCE__
         return true;
 #endif
 #ifdef __WXWINCE__
-    if (platform == wxWinCE)
+    if (platform == wxOS_WINDOWS_CE)
         return true;
 #endif
 #if defined(__WXWINCE__) && defined(__POCKETPC__)
         return true;
 #endif
 #if defined(__WXWINCE__) && defined(__POCKETPC__)
@@ -458,31 +456,31 @@ bool wxPlatform::Is(int platform)
         return true;
 #endif
 #ifdef __WXGTK__
         return true;
 #endif
 #ifdef __WXGTK__
-    if (platform == wxGTK)
+    if (platform == wxPORT_GTK)
         return true;
 #endif
 #ifdef __WXMAC__
         return true;
 #endif
 #ifdef __WXMAC__
-    if (platform == wxMac)
+    if (platform == wxPORT_MAC)
         return true;
 #endif
 #ifdef __WXX11__
         return true;
 #endif
 #ifdef __WXX11__
-    if (platform == wxX11)
+    if (platform == wxPORT_X11)
         return true;
 #endif
 #ifdef __UNIX__
         return true;
 #endif
 #ifdef __UNIX__
-    if (platform == wxUnix)
+    if (platform == wxOS_UNIX)
         return true;
 #endif
 #ifdef __WXMGL__
         return true;
 #endif
 #ifdef __WXMGL__
-    if (platform == wxMGL)
+    if (platform == wxPORT_MGL)
         return true;
 #endif
 #ifdef __WXOS2__
         return true;
 #endif
 #ifdef __WXOS2__
-    if (platform == wxOS2)
+    if (platform == wxPORT_OS2)
         return true;
 #endif
 #ifdef __WXCOCOA__
         return true;
 #endif
 #ifdef __WXCOCOA__
-    if (platform == wxCocoa)
+    if (platform == wxPORT_MAC)
         return true;
 #endif
 
         return true;
 #endif
 
@@ -941,8 +939,10 @@ wxChar *wxStripMenuCodes(const wxChar *in, wxChar *out)
     return 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();
     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];
     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
         {
             // 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];
             }
         }
                 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;
         {
             // everything after TAB is accel string, exit the loop
             break;