]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mgl/settings.cpp
Check wxDateTime components validity more rigorously.
[wxWidgets.git] / src / mgl / settings.cpp
index a4142e571a3700bdfe2e3f2565e07a19309b583a..107eb14b12d7be41e2a6dc608cc8903c190b9ef1 100644 (file)
@@ -1,16 +1,11 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        settings.h
-// Author:      Vaclav Slavik
+// Name:        src/mgl/settings.cpp
+// Author:      Vaclav Slavik, Robert Roebling
 // Id:          $Id$
-// Copyright:   (c) 2001 SciTech Software, Inc. (www.scitechsoft.com)
-// Licence:    wxWindows licence
+// Copyright:   (c) 2001-2002 SciTech Software, Inc. (www.scitechsoft.com)
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
-
-#ifdef __GNUG__
-#pragma implementation "settings.h"
-#endif
-
 // For compilers that support precompilation, includes "wx.h".
 #include "wx/wxprec.h"
 
 #endif
 
 #include "wx/settings.h"
-#include "wx/colour.h"
-#include "wx/font.h"
-#include "wx/module.h"
+
+#ifndef WX_PRECOMP
+    #include "wx/colour.h"
+    #include "wx/font.h"
+    #include "wx/gdicmn.h"
+    #include "wx/module.h"
+#endif
 
 // ----------------------------------------------------------------------------
 // global data
@@ -32,11 +31,10 @@ static wxFont *gs_fontDefault = NULL;
 class wxSystemSettingsModule : public wxModule
 {
 public:
-    virtual bool OnInit() { return TRUE; }
+    virtual bool OnInit() { return true; }
     virtual void OnExit()
     {
-        delete gs_fontDefault;
-        gs_fontDefault = NULL;
+        wxDELETE(gs_fontDefault);
     }
 
 private:
@@ -47,48 +45,71 @@ IMPLEMENT_DYNAMIC_CLASS(wxSystemSettingsModule, wxModule)
 
 
 
-wxColour wxSystemSettings::GetSystemColour(int WXUNUSED(index))
+wxColour wxSystemSettingsNative::GetColour(wxSystemColour WXUNUSED(index))
 {
-    // FIXME_MGL
+    // overridden by wxSystemSettings::GetColour in wxUniversal
     return wxColour(0,0,0);
 }
 
-wxFont wxSystemSettings::GetSystemFont(int index)
+wxFont wxSystemSettingsNative::GetFont(wxSystemFont index)
 {
-    bool isDefaultRequested = (index == wxSYS_DEFAULT_GUI_FONT);
-
-    if ( isDefaultRequested && gs_fontDefault )
+    switch (index)
     {
-        return *gs_fontDefault;
+        case wxSYS_OEM_FIXED_FONT:
+        case wxSYS_ANSI_FIXED_FONT:
+        case wxSYS_SYSTEM_FIXED_FONT:
+        {
+            return *wxNORMAL_FONT;
+        }
+        case wxSYS_ANSI_VAR_FONT:
+        case wxSYS_SYSTEM_FONT:
+        case wxSYS_DEVICE_DEFAULT_FONT:
+        case wxSYS_DEFAULT_GUI_FONT:
+        {
+            if ( !gs_fontDefault )
+                gs_fontDefault = new wxFont(10, wxSWISS, wxNORMAL, wxNORMAL, false, "Arial");
+            return *gs_fontDefault;
+        }
+        default:
+        {
+        }
     }
 
-    // FIXME_MGL
-    wxFont font(10, wxSWISS, wxNORMAL, wxNORMAL, FALSE, "Arial");
+    return wxNullFont;
+}
+
+int wxSystemSettingsNative::GetMetric(wxSystemMetric index, wxWindow* WXUNUSED(win))
+{
+    int val;
 
-    if ( isDefaultRequested )
+    switch (index)
     {
-        // if we got here it means we hadn't cached it yet - do now
-        gs_fontDefault = new wxFont(font);
+        case wxSYS_SCREEN_X:
+            wxDisplaySize(&val, NULL);
+            return val;
+        case wxSYS_SCREEN_Y:
+            wxDisplaySize(NULL, &val);
+            return val;
+        default:
+        {
+        }
     }
 
-    return font;
+    return -1;  // unsupported metric
 }
 
-int wxSystemSettings::GetSystemMetric(int WXUNUSED(index))
-{
-    // FIXME_MGL
-    return 1;
-}
-
-bool wxSystemSettings::GetCapability(int index)
+bool wxSystemSettingsNative::HasFeature(wxSystemFeature index)
 {
     switch (index)
     {
-        case wxSYS_CAN_ICONIZE_FRAME: 
-            return FALSE; break;
+        case wxSYS_CAN_ICONIZE_FRAME:
         case wxSYS_CAN_DRAW_FRAME_DECORATIONS:
-            return FALSE; break;
+        case wxSYS_TABLET_PRESENT:
+            return false;
+
         default:
-            return FALSE;
+            wxFAIL_MSG( wxT("unknown feature") );
     }
+
+    return false;
 }