00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef _QFORMAT_SCHEME_H_
00017 #define _QFORMAT_SCHEME_H_
00018
00030 #include "qce-config.h"
00031
00032 #include <QVector>
00033 #include <QObject>
00034
00035 struct QFormat;
00036 class QString;
00037 class QSettings;
00038 class QStringList;
00039 class QDomElement;
00040
00041 class QCE_EXPORT QFormatScheme : public QObject
00042 {
00043 Q_OBJECT
00044
00045 public:
00046 QFormatScheme(QObject *p = 0);
00047 QFormatScheme(const QString& f, QObject *p = 0);
00048 virtual ~QFormatScheme();
00049
00050 void clear();
00051
00052 virtual void load(const QString& filename);
00053 virtual void save(const QString& filename = QString()) const;
00054
00055 virtual void load(const QDomElement& doc, bool ignoreNewIds = false);
00056 virtual void save(QDomElement& elem) const;
00057
00058 virtual void load(QSettings& s, bool ignoreNewIds = false);
00059 virtual void save(QSettings& s) const;
00060
00061 int formatCount() const;
00062 QStringList formats() const;
00063
00064 virtual QString id(int ifid) const;
00065 virtual int id(const QString& sfid) const;
00066
00067 virtual QFormat& formatRef(int ifid);
00068 virtual QFormat& formatRef(const QString& sfid);
00069
00070 virtual QFormat format(int ifid) const;
00071 virtual QFormat format(const QString& sfid) const;
00072
00073 public slots:
00074 virtual void setFormat(const QString& fid, const QFormat& fmt);
00075
00076 protected:
00077 QString m_settings;
00078
00079 QVector<QString> m_formatKeys;
00080 QVector<QFormat> m_formatValues;
00081 };
00082
00083 #endif // !_QFORMAT_SCHEME_H_