1 /////////////////////////////////////////////////////////////////////////////
2 // Name:        sysopt.h
3 // Purpose:     wxSystemOptions
4 // Author:      Julian Smart
5 // Modified by:
6 // Created:     2001-07-10
7 // RCS-ID:      $Id: sysopt.h 33004 2005-03-23 20:48:50Z VZ $
8 // Copyright:   (c) Julian Smart
9 // Licence:     wxWindows licence
10 /////////////////////////////////////////////////////////////////////////////
11 
12 #ifndef _WX_SYSOPT_H_
13 #define _WX_SYSOPT_H_
14 
15 #include "wx/object.h"
16 
17 // ----------------------------------------------------------------------------
18 // Enables an application to influence the wxWidgets implementation
19 // ----------------------------------------------------------------------------
20 
21 class WXDLLIMPEXP_BASE wxSystemOptions : public wxObject
22 {
23 public:
wxSystemOptions()24     wxSystemOptions() { }
25 
26     // User-customizable hints to wxWidgets or associated libraries
27     // These could also be used to influence GetSystem... calls, indeed
28     // to implement SetSystemColour/Font/Metric
29 
30 #if wxUSE_SYSTEM_OPTIONS
31     static void SetOption(const wxString& name, const wxString& value);
32     static void SetOption(const wxString& name, int value);
33 #endif // wxUSE_SYSTEM_OPTIONS
34     static wxString GetOption(const wxString& name);
35     static int GetOptionInt(const wxString& name);
36     static bool HasOption(const wxString& name);
37 
IsFalse(const wxString & name)38     static bool IsFalse(const wxString& name)
39     {
40         return HasOption(name) && GetOptionInt(name) == 0;
41     }
42 };
43 
44 #if !wxUSE_SYSTEM_OPTIONS
45 
46 // define inline stubs for accessors to make it possible to use wxSystemOptions
47 // in the library itself without checking for wxUSE_SYSTEM_OPTIONS all the time
48 
49 /* static */ inline
GetOption(const wxString & WXUNUSED (name))50 wxString wxSystemOptions::GetOption(const wxString& WXUNUSED(name))
51 {
52     return wxEmptyString;
53 }
54 
55 /* static */ inline
GetOptionInt(const wxString & WXUNUSED (name))56 int wxSystemOptions::GetOptionInt(const wxString& WXUNUSED(name))
57 {
58     return 0;
59 }
60 
61 /* static */ inline
HasOption(const wxString & WXUNUSED (name))62 bool wxSystemOptions::HasOption(const wxString& WXUNUSED(name))
63 {
64     return false;
65 }
66 
67 #endif // !wxUSE_SYSTEM_OPTIONS
68 
69 #endif
70     // _WX_SYSOPT_H_
71 
72