WIP: synchronization

This commit is contained in:
Jan Käberich 2022-08-08 18:08:40 +02:00
parent 7b3aa6e158
commit 73e26a25c4
41 changed files with 439 additions and 163 deletions

View file

@ -48,11 +48,29 @@ void TraceModel::removeTrace(unsigned int index)
}
}
void TraceModel::removeTrace(Trace *t)
{
auto index = findIndex(t);
if(index >= 0) {
removeTrace(index);
}
}
Trace *TraceModel::trace(unsigned int index)
{
return traces.at(index);
}
int TraceModel::findIndex(Trace *t)
{
for(int i=0;i<traces.size();i++) {
if(traces[i] == t) {
return i;
}
}
return -1;
}
void TraceModel::toggleVisibility(unsigned int index)
{
if (index < traces.size()) {
@ -184,7 +202,7 @@ void TraceModel::fromJSON(nlohmann::json j)
{
// clear old traces
while(traces.size()) {
removeTrace(0);
removeTrace((int) 0);
}
for(auto jt : j) {
auto trace = new Trace();

View file

@ -33,7 +33,9 @@ public:
void addTrace(Trace *t);
void removeTrace(unsigned int index);
void removeTrace(Trace *t);
Trace *trace(unsigned int index);
int findIndex(Trace *t);
void toggleVisibility(unsigned int index);
void togglePause(unsigned int index);
void toggleMath(unsigned int index);

View file

@ -105,7 +105,7 @@ class TraceSmithChart : public TracePlot
public:
TraceSmithChart(TraceModel &model, QWidget *parent = 0);
virtual Type getType() override { return Type::SmithChart;};
virtual Type getType() override { return Type::SmithChart;}
virtual nlohmann::json toJSON() override;
virtual void fromJSON(nlohmann::json j) override;