cutter/src/utils/JsonTreeItem.h

40 lines
971 B
C
Raw Normal View History

#ifndef JSONTREEITEM_H
#define JSONTREEITEM_H
#include <QAbstractItemModel>
#include <QJsonDocument>
#include <QJsonValue>
#include <QJsonArray>
#include <QJsonObject>
#include <QIcon>
#include "JsonModel.h"
class JsonTreeItem
{
public:
JsonTreeItem(JsonTreeItem *parent = nullptr);
~JsonTreeItem();
2018-03-21 20:32:32 +00:00
void appendChild(JsonTreeItem *item);
JsonTreeItem *child(int row);
JsonTreeItem *parent();
int childCount() const;
int row() const;
2018-03-21 20:32:32 +00:00
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 JsonTreeItem *load(const QJsonValue &value, JsonTreeItem *parent = nullptr);
private:
QString mKey;
QString mValue;
QJsonValue::Type mType;
2018-03-21 20:32:32 +00:00
QList<JsonTreeItem *> mChilds;
JsonTreeItem *mParent;
};
#endif // JSONTREEITEM_H