diff options
author | Mark Tiefenbruck <mark@fluxbox.org> | 2008-01-04 09:06:38 (GMT) |
---|---|---|
committer | Mark Tiefenbruck <mark@fluxbox.org> | 2008-01-04 09:06:38 (GMT) |
commit | 60ba709c2f47cc2c7b877aef1b0f297b097853e5 (patch) | |
tree | c722b0dacce3c7c0b1df7bf6ccb2b322bc819f6b /src/FbTk/Theme.hh | |
parent | b20b243b48683d209f8134b46c6dcea4df94b6cc (diff) | |
download | fluxbox-60ba709c2f47cc2c7b877aef1b0f297b097853e5.zip fluxbox-60ba709c2f47cc2c7b877aef1b0f297b097853e5.tar.bz2 |
add a level of indirection to themes
Diffstat (limited to 'src/FbTk/Theme.hh')
-rw-r--r-- | src/FbTk/Theme.hh | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/FbTk/Theme.hh b/src/FbTk/Theme.hh index 159364e..1ae3387 100644 --- a/src/FbTk/Theme.hh +++ b/src/FbTk/Theme.hh | |||
@@ -118,6 +118,18 @@ private: | |||
118 | FbTk::Subject m_reconfig_sig; | 118 | FbTk::Subject m_reconfig_sig; |
119 | }; | 119 | }; |
120 | 120 | ||
121 | /// Proxy interface for themes, so they can be substituted dynamically | ||
122 | template <class BaseTheme> | ||
123 | class ThemeProxy { | ||
124 | public: | ||
125 | virtual ~ThemeProxy() { } | ||
126 | |||
127 | virtual Subject &reconfigSig() = 0; | ||
128 | virtual const Subject &reconfigSig() const = 0; | ||
129 | |||
130 | virtual BaseTheme *operator ->() = 0; | ||
131 | virtual const BaseTheme *operator ->() const = 0; | ||
132 | }; | ||
121 | 133 | ||
122 | /// Singleton theme manager | 134 | /// Singleton theme manager |
123 | /** | 135 | /** |