18 #include <QJsonObject>
19 #include <QStringList>
25 QStringList expected_taginfo_keys()
27 QStringList result = QStringList()
30 std::sort(result.begin(), result.end());
38 result[
nameKey] = QString::fromStdString(tag.
name());
43 str_array.append(QString::fromStdString(str));
52 throw std::runtime_error(
"JsonTagInfo::get_tags() -> Invalid json object.");
54 auto name =
object[
nameKey].toString().toStdString();
55 auto min =
object[
minKey].toInt();
56 auto max =
object[
maxKey].toInt();
57 std::vector<std::string> models;
58 for (
const auto ref :
object[
modelsKey].toArray())
59 models.push_back(ref.toString().toStdString());
68 static const QStringList expected = expected_taginfo_keys();
70 if (
object.keys() != expected)
QJsonObject to_json(const TagInfo &tag) override
static const QString nameKey
static const QString modelsKey
static const QString maxKey
TagInfo from_json(const QJsonObject &object) override
static const QString minKey
bool isTagInfo(const QJsonObject &object)
Returns true if given json object represents TagInfo object.
Holds info about single tag for SessionItem.
std::vector< std::string > modelTypes() const
materialitems.h Collection of materials to populate MaterialModel.
QString const & name(EShape k)