]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/univ/theme.h
SetTextColour is gone
[wxWidgets.git] / include / wx / univ / theme.h
index 032fe65d62bab74c28d0a390ccf2262385515888..a386a2cca837697a80aa8e019ebf4f58dfd9db8f 100644 (file)
@@ -14,6 +14,8 @@
 #ifndef _WX_UNIV_THEME_H_
 #define _WX_UNIV_THEME_H_
 
+#include "wx/string.h"
+
 // ----------------------------------------------------------------------------
 // wxTheme
 // ----------------------------------------------------------------------------
@@ -74,6 +76,34 @@ private:
     friend struct WXDLLEXPORT wxThemeInfo;
 };
 
+// ----------------------------------------------------------------------------
+// wxDelegateTheme: it is impossible to inherit from any of standard
+// themes as their declarations are in private code, but you can use this
+// class to override only some of their functions - all the other ones
+// will be left to the original theme
+// ----------------------------------------------------------------------------
+
+class wxDelegateTheme : public wxTheme
+{
+public:
+    wxDelegateTheme(const wxChar *theme);
+    virtual ~wxDelegateTheme();
+
+    virtual wxRenderer *GetRenderer();
+    virtual wxArtProvider *GetArtProvider();
+    virtual wxInputHandler *GetInputHandler(const wxString& control,
+                                            wxInputConsumer *consumer);
+    virtual wxColourScheme *GetColourScheme();
+
+protected:
+    // gets or creates theme and sets m_theme to point to it,
+    // returns true on success
+    bool GetOrCreateTheme();
+
+    wxString    m_themeName;
+    wxTheme    *m_theme;
+};
+
 // ----------------------------------------------------------------------------
 // dynamic theme creation helpers
 // ----------------------------------------------------------------------------
@@ -133,9 +163,13 @@ struct WXDLLEXPORT wxThemeInfo
 // ----------------------------------------------------------------------------
 
 #if wxUSE_ALL_THEMES
+    #undef  wxUSE_THEME_WIN32
     #define wxUSE_THEME_WIN32  1
+    #undef  wxUSE_THEME_GTK
     #define wxUSE_THEME_GTK    1
+    #undef  wxUSE_THEME_MONO
     #define wxUSE_THEME_MONO   1
+    #undef  wxUSE_THEME_METAL
     #define wxUSE_THEME_METAL  1
 #endif // wxUSE_ALL_THEMES