fixed some build related problems
[qsqlmon.git] / libqf / libqfcore / xml / qfxmlkeyvals.h
blobb916da923679c0a8fc7ea3511bf03cac1f7e2470
2 //
3 // Author: Frantisek Vacek <fanda.vacek@volny.cz>, (C) 2006
4 //
5 // Copyright: See COPYING file that comes with this distribution
6 //
8 #ifndef QFXMLKEYVALS_H
9 #define QFXMLKEYVALS_H
11 #include <qfcoreglobal.h>
12 #include <qfdom.h>
14 #include <QSharedData>
16 //! TODO: write class documentation.
17 class QFCORE_DECL_EXPORT QFXmlKeyVals
19 private:
20 struct Data : public QSharedData
22 QFDomElement element;
23 QMap<QString, QFDomElement> keyMap;
24 bool dirty;
26 Data() : dirty(false) {}
28 QSharedDataPointer<Data> d;
29 protected:
30 //const QFDomElement& element() const {return d->element;}
31 QDomElement keyValElement(const QString &key) const;
32 void checkKeyMap() const;
33 public:
34 void setElement(const QFDomElement &el);
35 QFDomElement element() const {return d->element;}
36 bool isNull() const {return d->element.isNull();}
37 bool isEmpty() const {checkKeyMap(); return d->keyMap.isEmpty();}
39 QStringList keys() const {return d->keyMap.keys();}
40 bool contains(const QString &key) const;
41 //! staci aby klic koncil na \a key . @see QFSql::endsWith() .
42 QVariant valueKeyEndsWith(const QString &key, const QVariant &default_val = QVariant()) const;
43 QVariant value(const QString &key, const QVariant &default_val = QVariant()) const;
44 void setValue(const QString &key, const QVariant &val);
46 static QString variantToString(const QVariant &v);
47 static QVariant stringToVariant(const QString &s);
49 QString toHtml(const QVariantMap &opts) const;
50 QString toString() const;
52 bool isDirty() const {return d->dirty;}
54 static QString dateTimeStringToIso(const QString &str);
56 QFXmlKeyVals& operator+=(const QMap<QString, QVariant> &key_vals);
57 public:
58 QFXmlKeyVals(const QFDomElement &el = QFDomElement());
59 virtual ~QFXmlKeyVals();
62 #endif // QFXMLKEYVALS_H