blob: 72fab3a56495415ac56cd75f6f0b3e30d2db3708 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
#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 {
/**
* ManagerTemplate is a template which manages
* all kind of managers :)
*/
template<class T>
class ManagerTemplate {
typedef typename QMap<QString, T>::ConstIterator Iterator;
public:
ManagerTemplate();
virtual ~ManagerTemplate();
virtual void add( const QString&, const T& t );
void remove( const QString& );
virtual bool load() = 0;
virtual bool save() = 0;
QStringList names()const;
T value(const QString&)const;
protected:
QMap<QString, T> m_map;
};
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>
QStringList ManagerTemplate<T>::names()const {
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
|