X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d775fa82354a1f8d5db87ad1d71ab00ef7d9123c..659af826726fea66d2476d3a0ead2fb00e34ad23:/src/common/sysopt.cpp diff --git a/src/common/sysopt.cpp b/src/common/sysopt.cpp index 5986e5cecf..b04061e2d1 100644 --- a/src/common/sysopt.cpp +++ b/src/common/sysopt.cpp @@ -28,95 +28,55 @@ #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" #include "wx/arrstr.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 WXDLLIMPEXP_BASE wxSystemOptions; -public: - virtual bool OnInit(); - virtual void OnExit(); - -private: - DECLARE_DYNAMIC_CLASS(wxSystemOptionsModule) - - static wxArrayString sm_optionNames; - static wxArrayString sm_optionValues; -}; - -// =========================================================================== -// implementation -// =========================================================================== - -// ---------------------------------------------------------------------------- -// wxSystemOptionsModule +// private globals // ---------------------------------------------------------------------------- -IMPLEMENT_DYNAMIC_CLASS(wxSystemOptionsModule, wxModule) +static wxArrayString gs_optionNames, + gs_optionValues; -wxArrayString wxSystemOptionsModule::sm_optionNames; -wxArrayString wxSystemOptionsModule::sm_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) @@ -126,9 +86,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