]> 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 5981d3cd2d6f57afc9f95365c1b31d6e6c6e850b..0b8a7716661e32847c7a18607ee145c63de12daf 100644 (file)
@@ -14,8 +14,6 @@
 
 #include "wx/object.h"
 
-#if wxUSE_SYSTEM_OPTIONS
-
 // ----------------------------------------------------------------------------
 // Enables an application to influence the wxWidgets implementation
 // ----------------------------------------------------------------------------
@@ -29,15 +27,44 @@ public:
     // 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_