Skip to content
Snippets Groups Projects
Commit 12b28f5f authored by Pospelov, Gennady's avatar Pospelov, Gennady
Browse files

Relative diff item moved to FitComparisonController

parent 7d294431
No related branches found
No related tags found
No related merge requests found
......@@ -15,9 +15,26 @@
// ************************************************************************** //
#include "FitComparisonController.h"
#include "SessionModel.h"
#include "IntensityDataItem.h"
FitComparisonController::FitComparisonController(QObject* parent)
: QObject(parent)
, m_relativeDiffItem(nullptr)
, m_tempIntensityDataModel(new SessionModel("TempIntensityDataModel", this))
{
createRelativeDifferenceItem();
}
IntensityDataItem* FitComparisonController::diffItem()
{
return m_relativeDiffItem;
}
void FitComparisonController::createRelativeDifferenceItem()
{
m_tempIntensityDataModel->clear();
m_relativeDiffItem = dynamic_cast<IntensityDataItem*>(
m_tempIntensityDataModel->insertNewItem(Constants::IntensityDataType));
}
......@@ -20,6 +20,9 @@
#include "WinDllMacros.h"
#include <QObject>
class SessionModel;
class IntensityDataItem;
//! Provides syncronization between certain properties of fit related IntensityDataItems.
//! Part of FitComparisonWidget.
......@@ -29,8 +32,13 @@ class BA_CORE_API_ FitComparisonController : public QObject
public:
explicit FitComparisonController(QObject* parent = nullptr);
IntensityDataItem* diffItem();
private:
void createRelativeDifferenceItem();
IntensityDataItem* m_relativeDiffItem;
SessionModel* m_tempIntensityDataModel;
};
#endif // FITCOMPARISONCONTROLLER_H
......@@ -50,9 +50,7 @@ FitComparisonWidget::FitComparisonWidget(QWidget *parent)
, m_statusLabel(new ColorMapLabel(0, this))
, m_propertyWidget(new IntensityDataPropertyWidget)
, m_repeater(new PropertyRepeater(this))
, m_relativeDiffItem(0)
, m_resetViewAction(0)
, m_tempIntensityDataModel(new SessionModel("TempIntensityDataModel"))
, m_comparisonController(new FitComparisonController(this))
{
QVBoxLayout *vlayout = new QVBoxLayout;
......@@ -84,13 +82,11 @@ FitComparisonWidget::FitComparisonWidget(QWidget *parent)
m_resetViewAction->setToolTip("Reset View");
connect(m_resetViewAction, SIGNAL(triggered()), this, SLOT(onResetViewAction()));
m_relativeDiffItem = createRelativeDifferenceItem();
m_relativeDiffPlot->setItem(diffItem());
m_relativeDiffPlot->setItem(m_comparisonController->diffItem());
m_propertyWidget->setVisible(false);
}
FitComparisonWidget::~FitComparisonWidget() { delete m_tempIntensityDataModel; }
QList<QAction*> FitComparisonWidget::actionList()
{
......@@ -135,8 +131,8 @@ void FitComparisonWidget::subscribeToItem()
m_repeater->addItem(realDataItem());
m_repeater->addItem(simulatedDataItem());
QStringList activeProperties = QStringList() << BasicAxisItem::P_MIN << BasicAxisItem::P_MAX;
m_repeater->addItem(diffItem(), activeProperties);
// QStringList activeProperties = QStringList() << BasicAxisItem::P_MIN << BasicAxisItem::P_MAX;
// m_repeater->addItem(diffItem(), activeProperties);
m_propertyWidget->setItem(simulatedDataItem());
}
......@@ -170,19 +166,6 @@ void FitComparisonWidget::onResetViewAction()
// m_repeater->setActive(true);
}
//! Creates an IntensityDataItem which will hold relative difference map between simulation
//! and real data.
IntensityDataItem* FitComparisonWidget::createRelativeDifferenceItem()
{
m_tempIntensityDataModel->clear();
IntensityDataItem* result = dynamic_cast<IntensityDataItem*>(
m_tempIntensityDataModel->insertNewItem(Constants::IntensityDataType));
return result;
}
void FitComparisonWidget::calculateRelativeDifference()
{
if (!simulatedDataItem()->getOutputData()) // job failed
......@@ -219,5 +202,5 @@ IntensityDataItem* FitComparisonWidget::simulatedDataItem()
IntensityDataItem* FitComparisonWidget::diffItem()
{
return m_relativeDiffItem;
return m_comparisonController->diffItem();
}
......@@ -40,7 +40,6 @@ class BA_CORE_API_ FitComparisonWidget : public SessionItemWidget
public:
explicit FitComparisonWidget(QWidget* parent = 0);
~FitComparisonWidget();
virtual QList<QAction*> actionList();
......@@ -52,7 +51,6 @@ protected:
void unsubscribeFromItem();
private:
IntensityDataItem* createRelativeDifferenceItem();
void calculateRelativeDifference();
JobItem* jobItem();
......@@ -68,9 +66,7 @@ private:
IntensityDataPropertyWidget* m_propertyWidget;
PropertyRepeater* m_repeater;
IntensityDataItem* m_relativeDiffItem;
QAction* m_resetViewAction;
SessionModel* m_tempIntensityDataModel;
FitComparisonController* m_comparisonController;
};
......
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