added wxDelegateTheme to accompany wxDelegateRenderer

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42455 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Václav Slavík
2006-10-26 15:33:10 +00:00
parent 1b97b23d5f
commit eef1a0cc63
3 changed files with 100 additions and 67 deletions

View File

@@ -76,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
// ----------------------------------------------------------------------------