aboutsummaryrefslogtreecommitdiff
path: root/src/FbTk/Theme.hh
diff options
context:
space:
mode:
authorMark Tiefenbruck <mark@fluxbox.org>2008-01-04 09:06:38 (GMT)
committerMark Tiefenbruck <mark@fluxbox.org>2008-01-04 09:06:38 (GMT)
commit60ba709c2f47cc2c7b877aef1b0f297b097853e5 (patch)
treec722b0dacce3c7c0b1df7bf6ccb2b322bc819f6b /src/FbTk/Theme.hh
parentb20b243b48683d209f8134b46c6dcea4df94b6cc (diff)
downloadfluxbox-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.hh12
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
122template <class BaseTheme>
123class ThemeProxy {
124public:
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/**