3 // Author: Frantisek Vacek <fanda.vacek@volny.cz>, (C) 2006
5 // Copyright: See COPYING file that comes with this distribution
11 #include <qfcoreglobal.h>
14 #include <QSharedData>
16 //! TODO: write class documentation.
17 class QFCORE_DECL_EXPORT QFXmlKeyVals
20 struct Data
: public QSharedData
23 QMap
<QString
, QFDomElement
> keyMap
;
26 Data() : dirty(false) {}
28 QSharedDataPointer
<Data
> d
;
30 //const QFDomElement& element() const {return d->element;}
31 QDomElement
keyValElement(const QString
&key
) const;
32 void checkKeyMap() const;
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
);
58 QFXmlKeyVals(const QFDomElement
&el
= QFDomElement());
59 virtual ~QFXmlKeyVals();
62 #endif // QFXMLKEYVALS_H