Skip to content
Snippets Groups Projects
Commit 8815b72c authored by Mikhail Svechnikov's avatar Mikhail Svechnikov
Browse files

fix Plot1DFrame subscriptions

parent ba0e22d4
No related branches found
No related tags found
1 merge request!2761Fix serialization and plotting jobs without loaded data
......@@ -15,8 +15,6 @@
#include "GUI/View/Canvas/SpecularDataCanvas.h"
#include "Base/Util/Assert.h"
#include "GUI/Model/Data/Data1DItem.h"
#include "GUI/Model/File/DatafilesSet.h"
#include "GUI/Model/Job/JobsSet.h"
#include "GUI/Model/Project/DataSource.h"
#include "GUI/Model/Project/ProjectDocument.h"
#include "GUI/View/Canvas/SpecularPlotCanvas.h"
......@@ -45,8 +43,6 @@ SpecularDataCanvas::SpecularDataCanvas(const DataSource* data_source)
connect(m_plot_canvas->specularPlot(), &QCustomPlot::mousePress, this,
&SpecularDataCanvas::onMousePress, Qt::UniqueConnection);
connect(gDoc->datafiles(), &DatafilesSet::setChanged, this, &SpecularDataCanvas::setDataItem);
connect(gDoc->jobs(), &JobsSet::jobMeritsAttention, this, &SpecularDataCanvas::setDataItem);
setDataItem();
}
......
......@@ -14,6 +14,7 @@
#include "GUI/View/Frame/Plot1DFrame.h"
#include "GUI/Model/File/DatafilesSet.h"
#include "GUI/Model/Job/JobsSet.h"
#include "GUI/Model/Project/DataSource.h"
#include "GUI/Model/Project/ProjectDocument.h"
#include "GUI/View/Canvas/SpecularDataCanvas.h"
......@@ -68,6 +69,18 @@ Plot1DFrame::Plot1DFrame(std::unique_ptr<DataSource>&& data_source)
connect(toolbar->actions()->reset_view, &QAction::triggered, m_specular_canvas,
&SpecularDataCanvas::onResetView);
connect(gDoc->datafiles(), &DatafilesSet::setChanged,
[this] { setVisible(dataSource()->currentData1DItem()); });
// subscription type depends on the context
if (dynamic_cast<DataFromData*>(m_data_source.get()))
connect(gDoc->datafiles(), &DatafilesSet::setChanged, [this] {
setVisible(dataSource()->currentData1DItem());
m_specular_canvas->setDataItem();
});
else if (dynamic_cast<DataFromSim*>(m_data_source.get())
|| dynamic_cast<DataFromJob*>(m_data_source.get()))
connect(gDoc->jobs(), &JobsSet::jobMeritsAttention, [this] {
setVisible(dataSource()->currentData1DItem());
m_specular_canvas->setDataItem();
});
else
ASSERT_NEVER;
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment