]> git.saurik.com Git - wxWidgets.git/blame - src/common/sysopt.cpp
Improved wxDCPen/BrushChangers.
[wxWidgets.git] / src / common / sysopt.cpp
CommitLineData
0cbff120 1/////////////////////////////////////////////////////////////////////////////
df91131c 2// Name: src/common/sysopt.cpp
0cbff120
JS
3// Purpose: wxSystemOptions
4// Author: Julian Smart
5// Modified by:
6// Created: 2001-07-10
7// RCS-ID: $Id$
8// Copyright: (c) Julian Smart
d775fa82 9// Licence: wxWindows licence
0cbff120
JS
10/////////////////////////////////////////////////////////////////////////////
11
12// ============================================================================
13// declarations
14// ============================================================================
15
16// ---------------------------------------------------------------------------
17// headers
18// ---------------------------------------------------------------------------
19
0cbff120
JS
20// For compilers that support precompilation, includes "wx.h".
21#include "wx/wxprec.h"
22
23#if defined(__BORLANDC__)
24 #pragma hdrstop
25#endif
26
410c3efc
VZ
27#if wxUSE_SYSTEM_OPTIONS
28
df91131c
WS
29#include "wx/sysopt.h"
30
0cbff120
JS
31#ifndef WX_PRECOMP
32 #include "wx/list.h"
df91131c 33 #include "wx/string.h"
0cbff120
JS
34#endif
35
df5168c4 36#include "wx/arrstr.h"
0cbff120
JS
37
38// ----------------------------------------------------------------------------
410c3efc 39// private globals
0cbff120
JS
40// ----------------------------------------------------------------------------
41
410c3efc
VZ
42static wxArrayString gs_optionNames,
43 gs_optionValues;
0cbff120 44
410c3efc
VZ
45// ============================================================================
46// wxSystemOptions implementation
47// ============================================================================
0cbff120
JS
48
49// Option functions (arbitrary name/value mapping)
50void wxSystemOptions::SetOption(const wxString& name, const wxString& value)
51{
410c3efc 52 int idx = gs_optionNames.Index(name, false);
0cbff120
JS
53 if (idx == wxNOT_FOUND)
54 {
410c3efc
VZ
55 gs_optionNames.Add(name);
56 gs_optionValues.Add(value);
0cbff120
JS
57 }
58 else
59 {
410c3efc
VZ
60 gs_optionNames[idx] = name;
61 gs_optionValues[idx] = value;
0cbff120
JS
62 }
63}
64
65void wxSystemOptions::SetOption(const wxString& name, int value)
66{
410c3efc 67 SetOption(name, wxString::Format(wxT("%d"), value));
0cbff120
JS
68}
69
70wxString wxSystemOptions::GetOption(const wxString& name)
71{
410c3efc 72 int idx = gs_optionNames.Index(name, false);
0cbff120
JS
73 if (idx == wxNOT_FOUND)
74 return wxEmptyString;
75 else
410c3efc 76 return gs_optionValues[idx];
0cbff120
JS
77}
78
79int wxSystemOptions::GetOptionInt(const wxString& name)
80{
81 return wxAtoi(GetOption(name));
82}
83
84bool wxSystemOptions::HasOption(const wxString& name)
85{
410c3efc 86 return gs_optionNames.Index(name, false) != wxNOT_FOUND;
0cbff120
JS
87}
88
410c3efc 89#endif // wxUSE_SYSTEM_OPTIONS