/* === This file is part of Calamares - === * * SPDX-License-Identifier: GPL-3.0+ * License-Filename: LICENSES/GPLv3+-QJsonModel */ #ifndef JSONITEM_H #define JSONITEM_H #include #include #include #include class QJsonTreeItem { public: QJsonTreeItem(QJsonTreeItem * parent = nullptr); ~QJsonTreeItem(); void appendChild(QJsonTreeItem * item); QJsonTreeItem *child(int row); QJsonTreeItem *parent(); int childCount() const; int row() const; void setKey(const QString& key); void setValue(const QString& value); void setType(const QJsonValue::Type& type); QString key() const; QString value() const; QJsonValue::Type type() const; static QJsonTreeItem* load(const QJsonValue& value, QJsonTreeItem * parent = nullptr); protected: private: QString mKey; QString mValue; QJsonValue::Type mType; QList mChilds; QJsonTreeItem * mParent; }; #endif // JSONITEM_H