]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/sysopt.h
wxUniv: implement wxSYS_VSCROLL_X/Y metrics in wxUniv code, they depend on the theme...
[wxWidgets.git] / include / wx / sysopt.h
index a82a37a12ea050a6d587a5d734c283f86e3f19f8..f0eee9422929b176e2fd6587c953d0b1faf1efbb 100644 (file)
@@ -6,7 +6,7 @@
 // Created:     2001-07-10
 // RCS-ID:      $Id$
 // Copyright:   (c) Julian Smart
-// Licence:    wxWindows licence
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
 #ifndef _WX_SYSOPT_H_
 
 #include "wx/object.h"
 
-#if wxUSE_SYSTEM_OPTIONS
-
 // ----------------------------------------------------------------------------
-// Enables an application to influence the wxWindows implementation
+// Enables an application to influence the wxWidgets implementation
 // ----------------------------------------------------------------------------
 
-class WXDLLEXPORT_BASE wxSystemOptions : public wxObject
+class
+#if wxUSE_SYSTEM_OPTIONS
+WXDLLIMPEXP_BASE
+#endif
+wxSystemOptions : public wxObject
 {
 public:
     wxSystemOptions() { }
 
-    // User-customizable hints to wxWindows or associated libraries
+    // User-customizable hints to wxWidgets or associated libraries
     // These could also be used to influence GetSystem... calls, indeed
     // to implement SetSystemColour/Font/Metric
 
+#if wxUSE_SYSTEM_OPTIONS
     static void SetOption(const wxString& name, const wxString& value);
     static void SetOption(const wxString& name, int value);
-    static wxString GetOption(const wxString& name) ;
-    static int GetOptionInt(const wxString& name) ;
-    static bool HasOption(const wxString& name) ;
+#endif // wxUSE_SYSTEM_OPTIONS
+    static wxString GetOption(const wxString& name);
+    static int GetOptionInt(const wxString& name);
+    static bool HasOption(const wxString& name);
+
+    static bool IsFalse(const wxString& name)
+    {
+        return HasOption(name) && GetOptionInt(name) == 0;
+    }
 };
 
-#endif
+#if !wxUSE_SYSTEM_OPTIONS
+
+// define inline stubs for accessors to make it possible to use wxSystemOptions
+// in the library itself without checking for wxUSE_SYSTEM_OPTIONS all the time
+
+/* static */ inline
+wxString wxSystemOptions::GetOption(const wxString& WXUNUSED(name))
+{
+    return wxEmptyString;
+}
+
+/* static */ inline
+int wxSystemOptions::GetOptionInt(const wxString& WXUNUSED(name))
+{
+    return 0;
+}
+
+/* static */ inline
+bool wxSystemOptions::HasOption(const wxString& WXUNUSED(name))
+{
+    return false;
+}
 
+#endif // !wxUSE_SYSTEM_OPTIONS
 
 #endif
     // _WX_SYSOPT_H_