feat:完成曲线的数据配置
This commit is contained in:
parent
352c0b6b39
commit
6386d00229
|
|
@ -97,11 +97,13 @@ protected:
|
|||
|
||||
struct Graph
|
||||
{
|
||||
QString dataID;
|
||||
QColor color;
|
||||
RealTimeDataType dataType;
|
||||
//QCPGraph* qGraph = nullptr;
|
||||
QPointer<QCPGraph> qGraph;
|
||||
|
||||
QString dataID;
|
||||
QString synchronizeTagging; //同步配置数据时的标记,new、update两种,没有的就是要被删除
|
||||
};
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -365,7 +365,6 @@ void dpLineChart::synchronizeConfigData(const configurationResults& cfg)
|
|||
arrangeAxes();
|
||||
|
||||
//2.曲线-数据源决定
|
||||
QList<Graph> deleteGraphs;
|
||||
for(int i = 0; i < cfg.m_pModel_dataSource->rowCount(); i++)
|
||||
{
|
||||
QString stationID = cfg.m_pModel_dataSource->item(i, 0)->data(Qt::UserRole + itemRole_stationID).toString();
|
||||
|
|
@ -382,6 +381,7 @@ void dpLineChart::synchronizeConfigData(const configurationResults& cfg)
|
|||
Graph graph;
|
||||
graph.dataID = graphID;
|
||||
graph.dataType = dataType;
|
||||
graph.synchronizeTagging = "new";
|
||||
QCPGraph* newGraph = m_pCustomPlot->addGraph(m_pCustomPlot->xAxis, valueAxis);
|
||||
if(newGraph)
|
||||
{
|
||||
|
|
@ -395,11 +395,26 @@ void dpLineChart::synchronizeConfigData(const configurationResults& cfg)
|
|||
m_graphs.insert(graphID, graph);
|
||||
}
|
||||
}
|
||||
else
|
||||
else //更新数据
|
||||
{
|
||||
|
||||
m_graphs.value(graphID).synchronizeTagging = "update";
|
||||
}
|
||||
}
|
||||
//没有标记的就是需要删除的
|
||||
QStringList keysToRemove;
|
||||
for(auto it = m_graphs.begin(); it != m_graphs.end(); ++it)
|
||||
{
|
||||
if(it.value().synchronizeTagging =="noTagging") //删除
|
||||
keysToRemove.append(it.key());
|
||||
else
|
||||
it.value().synchronizeTagging = "noTagging";
|
||||
}
|
||||
foreach (const QString& key, keysToRemove)
|
||||
{
|
||||
Graph g = m_graphs.take(key);
|
||||
if( !m_pCustomPlot->removeGraph(g.qGraph) )
|
||||
qWarning() << "Failed to remove graph:" << key;
|
||||
}
|
||||
|
||||
m_updateData = true;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue