1 #ifndef QTX_RESOURCEMGR_H
2 #define QTX_RESOURCEMGR_H
10 #include <qstringlist.h>
11 #include <qtranslator.h>
16 #pragma warning( disable:4251 )
19 class QTX_EXPORT QtxResourceMgr
29 typedef QMap<QString, QString> Section;
32 QtxResourceMgr( const QString&, const QString& = QString::null );
33 virtual ~QtxResourceMgr();
35 QString appName() const;
36 QStringList dirList() const;
38 bool checkExisting() const;
39 virtual void setCheckExisting( const bool );
43 bool value( const QString&, const QString&, int& ) const;
44 bool value( const QString&, const QString&, double& ) const;
45 bool value( const QString&, const QString&, bool& ) const;
46 bool value( const QString&, const QString&, QColor& ) const;
47 bool value( const QString&, const QString&, QFont& ) const;
48 bool value( const QString&, const QString&, QString&, const bool = true ) const;
50 int integerValue( const QString&, const QString&, const int = 0 ) const;
51 double doubleValue( const QString&, const QString&, const double = 0 ) const;
52 bool booleanValue( const QString&, const QString&, const bool = false ) const;
53 QFont fontValue( const QString&, const QString&, const QFont& = QFont() ) const;
54 QColor colorValue( const QString&, const QString&, const QColor& = QColor() ) const;
55 QString stringValue( const QString&, const QString&, const QString& = QString::null ) const;
57 bool hasSection( const QString& ) const;
58 bool hasValue( const QString&, const QString& ) const;
60 void setValue( const QString&, const QString&, const int );
61 void setValue( const QString&, const QString&, const double );
62 void setValue( const QString&, const QString&, const bool );
63 void setValue( const QString&, const QString&, const QFont& );
64 void setValue( const QString&, const QString&, const QColor& );
65 void setValue( const QString&, const QString&, const QString& );
67 void remove( const QString& );
68 void remove( const QString&, const QString& );
70 QString currentFormat() const;
71 void setCurrentFormat( const QString& );
73 Format* format( const QString& ) const;
74 void installFormat( Format* );
75 void removeFormat( Format* );
77 QStringList options() const;
78 QString option( const QString& ) const;
79 void setOption( const QString&, const QString& );
81 QPixmap defaultPixmap() const;
82 virtual void setDefaultPixmap( const QPixmap& );
84 QString resSection() const;
85 QString langSection() const;
87 QPixmap loadPixmap( const QString&, const QString& ) const;
88 QPixmap loadPixmap( const QString&, const QString&, const bool ) const;
89 QPixmap loadPixmap( const QString&, const QString&, const QPixmap& ) const;
90 void loadLanguage( const QString& = QString::null, const QString& = QString::null );
92 void raiseTranslators( const QString& );
93 void removeTranslators( const QString& );
94 void loadTranslator( const QString&, const QString& );
96 QString path( const QString&, const QString&, const QString& ) const;
101 QStringList sections() const;
102 QStringList parameters( const QString& ) const;
107 virtual void setDirList( const QStringList& );
108 virtual void setResource( const QString&, const QString&, const QString& );
110 virtual QString userFileName( const QString& ) const;
111 virtual QString globalFileName( const QString& ) const;
114 void initialize( const bool = true ) const;
115 QString substMacro( const QString&, const QMap<QChar, QString>& ) const;
118 typedef QPtrList<Resources> ResList;
119 typedef QPtrList<Format> FormatList;
120 typedef QMap<QString, QString> OptionsMap;
121 typedef QPtrListIterator<Resources> ResListIterator;
122 typedef QPtrListIterator<Format> FormatListIterator;
124 typedef QPtrList<QTranslator> TransList;
125 typedef QMap<QString, TransList> TransListMap;
126 typedef QPtrListIterator<QTranslator> TransListIterator;
130 QStringList myDirList;
131 FormatList myFormats;
132 OptionsMap myOptions;
135 TransListMap myTranslator;
136 QPixmap myDefaultPix;
139 class QTX_EXPORT QtxResourceMgr::Format
142 Format( const QString& );
145 QString format() const;
147 QStringList options() const;
148 QString option( const QString& ) const;
149 void setOption( const QString&, const QString& );
151 bool load( Resources* );
152 bool save( Resources* );
155 virtual bool load( const QString&, QMap<QString, Section>& ) = 0;
156 virtual bool save( const QString&, const QMap<QString, Section>& ) = 0;
160 QMap<QString, QString> myOpt;
163 class QtxResourceMgr::Resources
166 Resources( const QString& );
167 virtual ~Resources();
169 QString file() const;
170 void setFile( const QString& );
172 QString value( const QString&, const QString&, const bool ) const;
173 void setValue( const QString&, const QString&, const QString& );
175 bool hasSection( const QString& ) const;
176 bool hasValue( const QString&, const QString& ) const;
178 void removeSection( const QString& );
179 void removeValue( const QString&, const QString& );
181 QPixmap loadPixmap( const QString&, const QString&, const QString& ) const;
182 QTranslator* loadTranslator( const QString&, const QString&, const QString& ) const;
184 QString environmentVariable( const QString&, int&, int& ) const;
185 QString makeSubstitution( const QString&, const QString&, const QString& ) const;
189 QStringList sections() const;
190 QStringList parameters( const QString& ) const;
192 QString path( const QString&, const QString&, const QString& ) const;
195 Section& section( const QString& );
196 const Section& section( const QString& ) const;
198 QString fileName( const QString&, const QString&, const QString& ) const;
201 QMap<QString, Section> mySections;
204 friend class QtxResourceMgr::Format;