8 #include <QJsonDocument>
24 mModuleColors.
clear();
29 return mModuleColors.
value(
id);
35 mModuleColors[
id] = col;
40 QColor ModuleColorManager::getRandomColor()
44 h += 0.6180339887498948;
57 mModuleColors.
insert(
id,getRandomColor());
91 mcEntry[
"id"] = (int) it.key();
100 Q_UNUSED(isAutosave);
101 QString mcFilename(
"modulecolor.json");
109 if (!mcm)
return std::string();
111 serializeColorMap(mcArr,mcm);
113 mcObj[
"modcolors"] = mcArr;
125 if (!relname.empty())
126 restoreModuleColor(loaddir, relname);
129 void ModuleColorSerializer::restoreModuleColor(
const std::filesystem::path& loaddir,
const std::string& jsonfile,
ModuleColorManager *mcm)
143 if (json.
contains(
"modcolors") && json[
"modcolors"].isArray())
145 QJsonArray mcArr = json[
"modcolors"].toArray();
146 int nmc = mcArr.
size();
147 for (
int imc = 0; imc < nmc; imc++)
150 u32 moduleId = mcEntry[
"id"].toInt();
QMap< u32, QColor > getColorMap() const
void moduleColorChanged(u32 id) const
QColor moduleColor(u32 id) const
QColor setModuleColor(u32 id, const QColor &col)
ModuleColorManager(QObject *parent=nullptr)
QColor setRandomColor(u32 id)
void restore(ModuleColorManager *mcm)
void deserialize(Netlist *netlist, const std::filesystem::path &loaddir) override
std::string serialize(Netlist *netlist, const std::filesystem::path &savedir, bool isAutosave) override
ModuleColorManager * getModuleColorManager() const
static ProjectManager * instance()
std::string get_filename(const std::string &serializer_name)
const ProjectDirectory & get_project_directory() const
NetlistRelay * gNetlistRelay
void setHsvF(qreal h, qreal s, qreal v, qreal a)
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
bool contains(const QString &key) const const
QJsonValue value(const QString &key) const const
QJsonObject toObject() const const
QMap::const_iterator constBegin() const const
QMap::const_iterator constEnd() const const
QMap::iterator insert(const Key &key, const T &value)
int remove(const Key &key)
const T value(const Key &key, const T &defaultValue) const const
QString fromStdString(const std::string &str)
std::string toStdString() const const