12 #include <QJsonDocument>
13 #include <QJsonObject>
36 QString gcFilename(
"groupingcolor.json");
44 if (!gmw) std::string();
46 if (!gtm) std::string();
48 for (
int irow=0; irow<gtm->
rowCount(); irow++)
52 gcEntry[
"id"] = (int)gtme.
id();
57 gcObj[
"grpcolors"] = gcArr;
69 restoreGroupingColor(loaddir, relname);
72 void GroupingColorSerializer::restoreGroupingColor(
const std::filesystem::path& loaddir,
const std::string& jsonfile,
GroupingTableModel* gtm)
89 if (json.
contains(
"grpcolors") && json[
"grpcolors"].isArray())
91 QJsonArray gcArr = json[
"grpcolors"].toArray();
92 int ngc = gcArr.
size();
93 for (
int igc = 0; igc < ngc; igc++)
96 colorMap[gcEntry[
"id"].toInt()] =
QColor(gcEntry[
"color"].toString());
100 for (
int irow=0; irow < gtm->
rowCount(); irow++)
GroupingManagerWidget * getGroupingManagerWidget()
void restore(GroupingTableModel *gtm)
GroupingColorSerializer()
void deserialize(Netlist *netlist, const std::filesystem::path &loaddir) override
std::string serialize(Netlist *netlist, const std::filesystem::path &savedir, bool isAutosave) override
An entry within a GroupingTableModel.
Table that holds information about all groupings.
bool setData(const QModelIndex &index, const QVariant &value, int role) override
QVariant data(const QModelIndex &index, int role) const override
int rowCount(const QModelIndex &parent=QModelIndex()) const override
GroupingTableEntry groupingAt(int irow) const
static ProjectManager * instance()
std::string get_filename(const std::string &serializer_name)
const ProjectDirectory & get_project_directory() const
ContentManager * gContentManager
virtual QModelIndex index(int row, int column, const QModelIndex &parent) const const override
bool isValid() const const
QString name() const const
QString absoluteFilePath(const QString &fileName) const const
virtual bool open(QIODevice::OpenMode mode) override
qint64 write(const char *data, qint64 maxSize)
void append(const QJsonValue &value)
QJsonValue at(int i) const const
QJsonDocument fromJson(const QByteArray &json, QJsonParseError *error)
QJsonObject object() const const
QByteArray toJson() const const
bool contains(const QString &key) const const
QJsonObject toObject() const const
const T value(const Key &key, const T &defaultValue) const const
QString fromStdString(const std::string &str)
std::string toStdString() const const
int toInt(bool *ok) const const