]> git.saurik.com Git - wxWidgets.git/blobdiff - src/mgl/settings.cpp
Tries to fix wxListBox focus problems.
[wxWidgets.git] / src / mgl / settings.cpp
index fc10a6bb0ece4c21110b338899cfbddce2dd27b7..b99f6e5ee5eefb7686157f60d193e2c62c6ca5a2 100644 (file)
 #include "wx/settings.h"
 #include "wx/colour.h"
 #include "wx/font.h"
+#include "wx/module.h"
+
+// ----------------------------------------------------------------------------
+// global data
+// ----------------------------------------------------------------------------
+
+static wxFont *gs_fontDefault = NULL;
+
+class wxSystemSettingsModule : public wxModule
+{
+public:
+    virtual bool OnInit() { return TRUE; }
+    virtual void OnExit()
+    {
+        delete gs_fontDefault;
+        gs_fontDefault = NULL;
+    }
+
+private:
+    DECLARE_DYNAMIC_CLASS(wxSystemSettingsModule)
+};
+
+IMPLEMENT_DYNAMIC_CLASS(wxSystemSettingsModule, wxModule)
+
+
 
 wxColour wxSystemSettings::GetSystemColour(int WXUNUSED(index))
 {
     // FIXME_MGL
-    return wxColour(255,255,0);
+    return wxColour(0,0,0);
 }
 
-wxFont wxSystemSettings::GetSystemFont(int WXUNUSED(index))
+wxFont wxSystemSettings::GetSystemFont(int index)
 {
+    bool isDefaultRequested = (index == wxSYS_DEFAULT_GUI_FONT);
+
+    if ( isDefaultRequested && gs_fontDefault )
+    {
+        return *gs_fontDefault;
+    }
+
     // FIXME_MGL
-    return wxFont(12, wxSWISS, wxNORMAL, wxNORMAL);
+    wxFont font(10, wxSWISS, wxNORMAL, wxNORMAL, FALSE, "Arial");
+
+    if ( isDefaultRequested )
+    {
+        // if we got here it means we hadn't cached it yet - do now
+        gs_fontDefault = new wxFont(font);
+    }
+
+    return font;
 }
 
 int wxSystemSettings::GetSystemMetric(int WXUNUSED(index))
@@ -32,3 +72,16 @@ int wxSystemSettings::GetSystemMetric(int WXUNUSED(index))
     // FIXME_MGL
     return 1;
 }
+
+bool wxSystemSettings::GetCapability(int index)
+{
+    switch (index)
+    {
+        case wxSYS_CAN_ICONIZE_FRAME: 
+            return FALSE; break;
+        case wxSYS_CAN_DRAW_FRAME_DECORATIONS:
+            return FALSE; break;
+        default:
+            return FALSE;
+    }
+}