]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/sysopt.h
added macros to avoid code repetition when defining comparison operators; use them...
[wxWidgets.git] / include / wx / sysopt.h
index df9579e4acb3b7a28808a38a231e7b3685664188..0b8a7716661e32847c7a18607ee145c63de12daf 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 WXDLLIMPEXP_BASE wxSystemOptions : public wxObject
@@ -25,19 +23,48 @@ class WXDLLIMPEXP_BASE 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_