]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/sysopt.cpp
reuse Clear() instead of duplicating its code in Close()
[wxWidgets.git] / src / common / sysopt.cpp
index c8d4539f3777eae0a145096aae3d59cc582c73b0..83183c926a24b0e01aecb75237dd555971c099e9 100644 (file)
@@ -6,7 +6,7 @@
 // Created:     2001-07-10
 // RCS-ID:      $Id$
 // Copyright:   (c) Julian Smart
-// Licence:    wxWindows licence
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 // ============================================================================
 // headers
 // ---------------------------------------------------------------------------
 
-#ifdef __GNUG__
-    #pragma implementation "sysopt.h"
-#endif
-
 // For compilers that support precompilation, includes "wx.h".
 #include "wx/wxprec.h"
 
     #pragma hdrstop
 #endif
 
+#if wxUSE_SYSTEM_OPTIONS
+
 #ifndef WX_PRECOMP
     #include "wx/list.h"
 #endif
 
-#if wxUSE_SYSTEM_OPTIONS
-
 #include "wx/string.h"
 #include "wx/sysopt.h"
-#include "wx/module.h"
-
-// ----------------------------------------------------------------------------
-// private classes
-// ----------------------------------------------------------------------------
-
-// the module which is used to clean up wxSystemOptions data (this is a
-// singleton class so it can't be done in the dtor)
-class wxSystemOptionsModule : public wxModule
-{
-    friend class wxSystemOptions;
-public:
-    virtual bool OnInit();
-    virtual void OnExit();
-
-private:
-    DECLARE_DYNAMIC_CLASS(wxSystemOptionsModule)
-
-    static wxArrayString   sm_optionNames;
-    static wxArrayString   sm_optionValues;
-};
-
-// ===========================================================================
-// implementation
-// ===========================================================================
+#include "wx/arrstr.h"
 
 // ----------------------------------------------------------------------------
-// wxSystemOptionsModule
+// private globals
 // ----------------------------------------------------------------------------
 
-IMPLEMENT_DYNAMIC_CLASS(wxSystemOptionsModule, wxModule)
-
-wxArrayString wxSystemOptionsModule::sm_optionNames;
-wxArrayString wxSystemOptionsModule::sm_optionValues;
+static wxArrayString gs_optionNames,
+                     gs_optionValues;
 
-bool wxSystemOptionsModule::OnInit()
-{
-    return TRUE;
-}
-
-void wxSystemOptionsModule::OnExit()
-{
-    sm_optionNames.Clear();
-    sm_optionValues.Clear();
-}
-
-// ----------------------------------------------------------------------------
-// wxSystemOptions
-// ----------------------------------------------------------------------------
+// ============================================================================
+// wxSystemOptions implementation
+// ============================================================================
 
 // Option functions (arbitrary name/value mapping)
 void wxSystemOptions::SetOption(const wxString& name, const wxString& value)
 {
-    int idx = wxSystemOptionsModule::sm_optionNames.Index(name, FALSE);
+    int idx = gs_optionNames.Index(name, false);
     if (idx == wxNOT_FOUND)
     {
-        wxSystemOptionsModule::sm_optionNames.Add(name);
-        wxSystemOptionsModule::sm_optionValues.Add(value);
+        gs_optionNames.Add(name);
+        gs_optionValues.Add(value);
     }
     else
     {
-        wxSystemOptionsModule::sm_optionNames[idx] = name;
-        wxSystemOptionsModule::sm_optionValues[idx] = value;
+        gs_optionNames[idx] = name;
+        gs_optionValues[idx] = value;
     }
 }
 
 void wxSystemOptions::SetOption(const wxString& name, int value)
 {
-    wxString valStr;
-    valStr.Printf(wxT("%d"), value);
-    SetOption(name, valStr);
+    SetOption(name, wxString::Format(wxT("%d"), value));
 }
 
 wxString wxSystemOptions::GetOption(const wxString& name)
 {
-    int idx = wxSystemOptionsModule::sm_optionNames.Index(name, FALSE);
+    int idx = gs_optionNames.Index(name, false);
     if (idx == wxNOT_FOUND)
         return wxEmptyString;
     else
-        return wxSystemOptionsModule::sm_optionValues[idx];
+        return gs_optionValues[idx];
 }
 
 int wxSystemOptions::GetOptionInt(const wxString& name)
@@ -125,9 +82,8 @@ int wxSystemOptions::GetOptionInt(const wxString& name)
 
 bool wxSystemOptions::HasOption(const wxString& name)
 {
-    return (wxSystemOptionsModule::sm_optionNames.Index(name, FALSE) != wxNOT_FOUND);
+    return gs_optionNames.Index(name, false) != wxNOT_FOUND;
 }
 
-#endif
-    // wxUSE_SYSTEM_OPTIONS
+#endif // wxUSE_SYSTEM_OPTIONS