diff options
Diffstat (limited to 'src/FbTk/Resource.hh')
-rw-r--r-- | src/FbTk/Resource.hh | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/FbTk/Resource.hh b/src/FbTk/Resource.hh index 32d24b6..c6f12d6 100644 --- a/src/FbTk/Resource.hh +++ b/src/FbTk/Resource.hh | |||
@@ -188,19 +188,21 @@ private: | |||
188 | * If there is no traits class for your type, you have to implement one. | 188 | * If there is no traits class for your type, you have to implement one. |
189 | */ | 189 | */ |
190 | template <typename T, typename Traits> | 190 | template <typename T, typename Traits> |
191 | class Resource:public Resource_base, public Accessor<T> { | 191 | class Resource:public Resource_base, public Accessor<T>, private Traits { |
192 | public: | 192 | public: |
193 | typedef T Type; | 193 | typedef T Type; |
194 | 194 | ||
195 | Resource(ResourceManager_base &rm, T val, const std::string &name, const std::string &altname): | 195 | Resource(ResourceManager_base &rm, T val, const std::string &name, |
196 | Resource_base(name, altname), m_value(val), m_defaultval(val), m_rm(rm) { | 196 | const std::string &altname, const Traits &traits = Traits() ): |
197 | Resource_base(name, altname), Traits(traits), m_value(val), m_defaultval(val), m_rm(rm) { | ||
197 | m_rm.addResource(*this); // add this to resource handler | 198 | m_rm.addResource(*this); // add this to resource handler |
198 | } | 199 | } |
199 | 200 | ||
200 | // LResourceManager does not use altname, so we provide a constructor which initializes | 201 | // LResourceManager does not use altname, so we provide a constructor which initializes |
201 | // altname to name | 202 | // altname to name |
202 | Resource(ResourceManager_base &rm, T val, const std::string &name): | 203 | Resource(ResourceManager_base &rm, T val, const std::string &name, |
203 | Resource_base(name, name), m_value(val), m_defaultval(val), m_rm(rm) { | 204 | const Traits &traits = Traits() ): |
205 | Resource_base(name, name), Traits(traits), m_value(val), m_defaultval(val), m_rm(rm) { | ||
204 | m_rm.addResource(*this); // add this to resource handler | 206 | m_rm.addResource(*this); // add this to resource handler |
205 | } | 207 | } |
206 | virtual ~Resource() { | 208 | virtual ~Resource() { |