]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/settcmn.cpp
added wxWS_EX_VALIDATE_RECURSIVELY
[wxWidgets.git] / src / common / settcmn.cpp
index 93ebe6286de871bd81a4d367cdb8131161bdbf0a..f5862ba7afb8734bf80cc9f1bceefc21d7d467ed 100644 (file)
@@ -3,8 +3,8 @@
 // Purpose:     common (to all ports) wxWindow functions
 // Author:      Robert Roebling
 // RCS-ID:      $Id$
 // Purpose:     common (to all ports) wxWindow functions
 // Author:      Robert Roebling
 // RCS-ID:      $Id$
-// Copyright:   (c) wxWindows team
-// Licence:     wxWindows license
+// Copyright:   (c) wxWidgets team
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 // ============================================================================
 /////////////////////////////////////////////////////////////////////////////
 
 // ============================================================================
@@ -15,7 +15,7 @@
 // headers
 // ----------------------------------------------------------------------------
 
 // headers
 // ----------------------------------------------------------------------------
 
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
     #pragma implementation "settings.h"
 #endif
 
     #pragma implementation "settings.h"
 #endif
 
@@ -44,36 +44,49 @@ wxSystemScreenType wxSystemSettings::ms_screen = wxSYS_SCREEN_NONE;
 wxSystemScreenType wxSystemSettings::GetScreenType()
 {
     if (ms_screen == wxSYS_SCREEN_NONE)
 wxSystemScreenType wxSystemSettings::GetScreenType()
 {
     if (ms_screen == wxSYS_SCREEN_NONE)
-#ifndef __WXUNIV__
-    {
-        // As a start, all GUI are desktops.
-        ms_screen = wxSYS_SCREEN_DESKTOP;
-    }
-#else
     {
         // wxUniv will be used on small devices, too.
     {
         // wxUniv will be used on small devices, too.
-        int x = 0;
-        int y = 0;
-        wxGetDisplaySize( &x, &y );
+        int x = GetMetric( wxSYS_SCREEN_X );
 
         ms_screen = wxSYS_SCREEN_DESKTOP;
 
         ms_screen = wxSYS_SCREEN_DESKTOP;
-            
+
         if (x < 800)
             ms_screen = wxSYS_SCREEN_SMALL;
         if (x < 800)
             ms_screen = wxSYS_SCREEN_SMALL;
-            
+
         if (x < 640)
             ms_screen = wxSYS_SCREEN_PDA;
         if (x < 640)
             ms_screen = wxSYS_SCREEN_PDA;
-            
+
         if (x < 200)
             ms_screen = wxSYS_SCREEN_TINY;
         if (x < 200)
             ms_screen = wxSYS_SCREEN_TINY;
+
+        // This is probably a bug, but VNC seems to report 0
+        if (x < 10)
+            ms_screen = wxSYS_SCREEN_DESKTOP;
     }
     }
-#endif
 
     return ms_screen;
 }
 
     return ms_screen;
 }
-    
+
 void wxSystemSettings::SetScreenType( wxSystemScreenType screen )
 {
     ms_screen = screen;
 }
 
 void wxSystemSettings::SetScreenType( wxSystemScreenType screen )
 {
     ms_screen = screen;
 }
 
+#if WXWIN_COMPATIBILITY_2_4
+
+wxColour wxSystemSettings::GetSystemColour(int index)
+{
+    return GetColour((wxSystemColour)index);
+}
+
+wxFont wxSystemSettings::GetSystemFont(int index)
+{
+    return GetFont((wxSystemFont)index);
+}
+
+int wxSystemSettings::GetSystemMetric(int index)
+{
+    return GetMetric((wxSystemMetric)index);
+}
+
+#endif // WXWIN_COMPATIBILITY_2_4