Diffstat (limited to 'core/pim/datebook2/managertemplate.h') (more/less context) (show whitespace changes)
-rw-r--r-- | core/pim/datebook2/managertemplate.h | 39 |
1 files changed, 38 insertions, 1 deletions
diff --git a/core/pim/datebook2/managertemplate.h b/core/pim/datebook2/managertemplate.h index 668fda7..cdf121d 100644 --- a/core/pim/datebook2/managertemplate.h +++ b/core/pim/datebook2/managertemplate.h @@ -1,8 +1,9 @@ #ifndef OPIE_DATE_BOOK_MANAGER_TEMPLATE_H #define OPIE_DATE_BOOK_MANAGER_TEMPLATE_H #include <qdialog.h> +#include <qmap.h> #include <qstring.h> namespace Datebook { /** @@ -10,11 +11,12 @@ namespace Datebook { * all kind of managers :) */ template<class T> class ManagerTemplate { + typedef typename QMap<QString, T>::Iterator Iterator; public: ManagerTemplate(); - ~ManagerTemplate(); + virtual ~ManagerTemplate(); virtual void add( const QString&, const T& t ); void remove( const QString& ); bool load(); @@ -30,7 +32,42 @@ namespace Datebook { virtual bool doSave() = 0; virtual bool doLoad() = 0; }; + template<class T> + ManagerTemplate<T>::ManagerTemplate() { + } + template<class T> + ManagerTemplate<T>::~ManagerTemplate() { + } + template<class T> + void ManagerTemplate<T>::add( const QString& str, const T& t ) { + m_map.insert( str, t ); + } + template<class T> + void ManagerTemplate<T>::remove( const QString& str ) { + m_map.remove( str ); + } + template<class T> + bool ManagerTemplate<T>::load() { + return doLoad(); + } + template<class T> + bool ManagerTemplate<T>::save() { + return doSave(); + } + template<class T> + QStringList ManagerTemplate<T>::names() { + QStringList lst; + Iterator it; + for ( it = m_map.begin(); it != m_map.end(); ++it ) { + lst << it.key(); + } + return lst; + } + template<class T> + T ManagerTemplate<T>::value( const QString& str)const { + return m_map[str]; + } } #endif |