Skip to content
Snippets Groups Projects
Commit f57ca155 authored by Yurov, Dmitry's avatar Yurov, Dmitry
Browse files

Fixed minor issues and removed redundant code

Redmine: #2106
1. Provided valid state of DataItem1DView after load from disk
2. Removed redundant method DataItem1DView::addItem
parent a407e3e0
No related branches found
No related tags found
No related merge requests found
...@@ -54,8 +54,7 @@ DataItem1DView::DataItem1DView() ...@@ -54,8 +54,7 @@ DataItem1DView::DataItem1DView()
item->setValue(true); item->setValue(true);
item->setVisible(false); item->setVisible(false);
registerTag(T_DATA_PROPERTIES, 0, -1, QStringList() << Constants::DataPropertyContainerType); registerTag(T_DATA_PROPERTIES, 1, 1, QStringList() << Constants::DataPropertyContainerType);
insertItem(-1, new DataPropertyContainer, T_DATA_PROPERTIES);
ComboProperty combo = ComboProperty() << Constants::UnitsNbins; ComboProperty combo = ComboProperty() << Constants::UnitsNbins;
addProperty(P_AXES_UNITS, combo.variant()); addProperty(P_AXES_UNITS, combo.variant());
...@@ -75,11 +74,6 @@ DataItem1DView::DataItem1DView() ...@@ -75,11 +74,6 @@ DataItem1DView::DataItem1DView()
setYaxisTitle(y_axis_default_name); setYaxisTitle(y_axis_default_name);
} }
void DataItem1DView::addItem(DataItem* item)
{
propertyContainerItem()->addItem(item);
}
int DataItem1DView::getNbins() const int DataItem1DView::getNbins() const
{ {
return xAxisItem()->getItemValue(BasicAxisItem::P_NBINS).toInt(); return xAxisItem()->getItemValue(BasicAxisItem::P_NBINS).toInt();
...@@ -136,10 +130,14 @@ void DataItem1DView::setAxesRangeToData() ...@@ -136,10 +130,14 @@ void DataItem1DView::setAxesRangeToData()
const auto data const auto data
= DataViewUtils::getTranslatedData(this, propertyContainerItem()->basicDataItem()); = DataViewUtils::getTranslatedData(this, propertyContainerItem()->basicDataItem());
double xmin = data ? data->getAxis(BornAgain::X_AXIS_INDEX).getMin() : default_min; // For data loading from disk: items appear earlier than
double xmax = data ? data->getAxis(BornAgain::X_AXIS_INDEX).getMax() : default_max; // actual data.
setLowerX(xmin); if (!data)
setUpperX(xmax); return;
setLowerX(data->getAxis(BornAgain::X_AXIS_INDEX).getMin());
setUpperX(data->getAxis(BornAgain::X_AXIS_INDEX).getMax());
auto data_range = dataRange(data.get()); auto data_range = dataRange(data.get());
setLowerY(data_range.first); setLowerY(data_range.first);
......
...@@ -40,8 +40,6 @@ public: ...@@ -40,8 +40,6 @@ public:
DataItem1DView(); DataItem1DView();
void addItem(DataItem* item);
//! Number of bins in data //! Number of bins in data
int getNbins() const; int getNbins() const;
......
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
#include "IUnitConverter.h" #include "IUnitConverter.h"
#include "JobItem.h" #include "JobItem.h"
#include "OutputData.h" #include "OutputData.h"
#include "DataPropertyContainer.h"
#include "RealDataItem.h" #include "RealDataItem.h"
#include "SessionModel.h" #include "SessionModel.h"
#include "UnitConverterUtils.h" #include "UnitConverterUtils.h"
...@@ -63,10 +64,14 @@ void DataViewUtils::initDataView(JobItem* job_item) ...@@ -63,10 +64,14 @@ void DataViewUtils::initDataView(JobItem* job_item)
SessionModel* model = job_item->model(); SessionModel* model = job_item->model();
auto view_item = dynamic_cast<DataItem1DView*>(model->insertNewItem( auto view_item = dynamic_cast<DataItem1DView*>(model->insertNewItem(
Constants::DataItem1DViewType, job_item->index(), -1, JobItem::T_DATAVIEW)); Constants::DataItem1DViewType, job_item->index(), -1, JobItem::T_DATAVIEW));
assert(view_item); assert(view_item);
view_item->addItem(job_item->realDataItem()->dataItem());
view_item->addItem(job_item->dataItem()); auto property_container = dynamic_cast<DataPropertyContainer*>(model->insertNewItem(
Constants::DataPropertyContainerType, view_item->index(), -1, DataItem1DView::T_DATA_PROPERTIES));
assert(property_container);
property_container->addItem(job_item->realDataItem()->dataItem());
property_container->addItem(job_item->dataItem());
// also triggers DataItem1DView::setAxesRangeToData and DataViewUtils::updateAxesTitle by // also triggers DataItem1DView::setAxesRangeToData and DataViewUtils::updateAxesTitle by
// setting new value of P_AXES_UNITS. // setting new value of P_AXES_UNITS.
......
#include "FitComparisonViewController.h" #include "FitComparisonViewController.h"
#include "AxesItems.h" #include "AxesItems.h"
#include "DataItem.h" #include "DataItem.h"
#include "DataPropertyContainer.h"
#include "DataItem1DView.h" #include "DataItem1DView.h"
#include "IntensityDataFunctions.h" #include "IntensityDataFunctions.h"
#include "JobItem.h" #include "JobItem.h"
...@@ -21,7 +22,10 @@ FitComparison1DViewController::FitComparison1DViewController(QObject* parent) ...@@ -21,7 +22,10 @@ FitComparison1DViewController::FitComparison1DViewController(QObject* parent)
m_diff_item_controller->model()->insertNewItem(Constants::DataItem1DViewType))), m_diff_item_controller->model()->insertNewItem(Constants::DataItem1DViewType))),
m_appearanceRepeater(new PropertyRepeater(this)), m_xAxisRepeater(new PropertyRepeater(this)) m_appearanceRepeater(new PropertyRepeater(this)), m_xAxisRepeater(new PropertyRepeater(this))
{ {
m_diff_view_item->addItem(m_diff_item_controller->diffItem()); auto container = m_diff_view_item->model()->insertNewItem(Constants::DataPropertyContainerType,
m_diff_view_item->index(), -1,
DataItem1DView::T_DATA_PROPERTIES);
dynamic_cast<DataPropertyContainer*>(container)->addItem(m_diff_item_controller->diffItem());
} }
DataItem1DView* FitComparison1DViewController::diffItemView() DataItem1DView* FitComparison1DViewController::diffItemView()
...@@ -38,6 +42,8 @@ void FitComparison1DViewController::setItem(JobItem* job_item) ...@@ -38,6 +42,8 @@ void FitComparison1DViewController::setItem(JobItem* job_item)
diffItemView()->setJobItem(job_item); diffItemView()->setJobItem(job_item);
auto job_data_view = job_item->dataItemView(); auto job_data_view = job_item->dataItemView();
auto units_value = job_data_view->getItemValue(DataItem1DView::P_AXES_UNITS);
diffItemView()->setItemValue(DataItem1DView::P_AXES_UNITS, units_value);
m_appearanceRepeater->addItem(job_data_view); m_appearanceRepeater->addItem(job_data_view);
m_appearanceRepeater->addItem(diffItemView()); m_appearanceRepeater->addItem(diffItemView());
......
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
#include "AccordionWidget.h" #include "AccordionWidget.h"
#include "ApplicationModels.h" #include "ApplicationModels.h"
#include "DataItem1DView.h" #include "DataItem1DView.h"
#include "DataPropertyContainer.h"
#include "JobModel.h" #include "JobModel.h"
#include "JobItem.h" #include "JobItem.h"
#include "MaskEditor.h" #include "MaskEditor.h"
...@@ -209,8 +210,10 @@ void TestView::test_specular_data_widget() ...@@ -209,8 +210,10 @@ void TestView::test_specular_data_widget()
// creating data view // creating data view
auto data_view = new DataItem1DView(); auto data_view = new DataItem1DView();
job_item->insertItem(-1, data_view, JobItem::T_DATAVIEW); job_item->insertItem(-1, data_view, JobItem::T_DATAVIEW);
data_view->addItem(job_item->realDataItem()->dataItem()); data_view->insertItem(-1, new DataPropertyContainer, DataItem1DView::T_DATA_PROPERTIES);
data_view->addItem(job_item->dataItem()); auto& container = data_view->item<DataPropertyContainer>(DataItem1DView::T_DATA_PROPERTIES);
container.addItem(job_item->realDataItem()->dataItem());
container.addItem(job_item->dataItem());
QVBoxLayout* layout = new QVBoxLayout; QVBoxLayout* layout = new QVBoxLayout;
layout->setMargin(0); layout->setMargin(0);
......
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