00001 #ifndef OPIE_DATE_BOOK_MANAGER_TEMPLATE_H 00002 #define OPIE_DATE_BOOK_MANAGER_TEMPLATE_H 00003 00004 #include <qdialog.h> 00005 #include <qmap.h> 00006 #include <qstring.h> 00007 00008 namespace Datebook { 00013 template<class T> 00014 class ManagerTemplate { 00015 typedef typename QMap<QString, T>::ConstIterator Iterator; 00016 public: 00017 ManagerTemplate(); 00018 virtual ~ManagerTemplate(); 00019 00020 virtual void add( const QString&, const T& t ); 00021 void remove( const QString& ); 00022 virtual bool load() = 0; 00023 virtual bool save() = 0; 00024 00025 QStringList names()const; 00026 T value(const QString&)const; 00027 00028 protected: 00029 QMap<QString, T> m_map; 00030 }; 00031 template<class T> 00032 ManagerTemplate<T>::ManagerTemplate() { 00033 } 00034 template<class T> 00035 ManagerTemplate<T>::~ManagerTemplate() { 00036 } 00037 template<class T> 00038 void ManagerTemplate<T>::add( const QString& str, const T& t ) { 00039 m_map.insert( str, t ); 00040 } 00041 template<class T> 00042 void ManagerTemplate<T>::remove( const QString& str ) { 00043 m_map.remove( str ); 00044 } 00045 template<class T> 00046 QStringList ManagerTemplate<T>::names()const { 00047 QStringList lst; 00048 Iterator it; 00049 for ( it = m_map.begin(); it != m_map.end(); ++it ) { 00050 lst << it.key(); 00051 } 00052 return lst; 00053 } 00054 template<class T> 00055 T ManagerTemplate<T>::value( const QString& str)const { 00056 return m_map[str]; 00057 } 00058 } 00059 00060 #endif
1.4.2