55
57
void setValue(QString node, QVariant value);
56
QVariant getValue(QString node);
58
QVariant getValue(QString node) const;
60
bool isInternalNode(QString node) const;
58
62
void setComment(QString node, QString comment);
59
QString getComment(QString node);
63
QString getComment(QString node) const;
65
bool remove(const QString &node, bool internal_nodes = false);
61
67
QStringList nodeChildren(const QString& node = "", bool direct = false, bool internal_nodes = false) const;
63
69
void toXml(QDomDocument &doc, QDomElement& ele) const;
64
70
void fromXml(const QDomElement &ele);
72
static bool isValidNodeName(const QString &name);
66
74
static const QVariant missingValue;
67
75
static const QString missingComment;
70
78
static QVariant elementToVariant(const QDomElement&);
71
79
static void variantToElement(const QVariant&, QDomElement&);
81
static bool getKeyRest(QString node, QString &key, QString &rest);
74
84
QMap<QString, VariantTree*> trees_;
75
85
QMap<QString, QVariant> values_;
76
86
QMap<QString, QString> comments_;
87
QMap<QString, QDomDocumentFragment> unknowns_; // unknown types preservation
89
// needed to have a document for the fragments.
90
static QDomDocument *unknownsDoc;