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

Fixes for loading saved project

Redmine: #2194
parent 7b2d8ec1
No related branches found
No related tags found
No related merge requests found
......@@ -27,6 +27,8 @@ AxesUnits selectedUnits(Data1DViewItem* view_item)
void DataViewUtils::updateAxesTitle(Data1DViewItem* view_item)
{
auto converter = getConverter(view_item);
if (!converter)
return;
auto current_units = selectedUnits(view_item);
view_item->setXaxisTitle(QString::fromStdString(converter->axisName(0, current_units)));
if (converter->dimension() > 1)
......
......@@ -185,6 +185,8 @@ std::unique_ptr<IUnitConverter> SpecularInstrumentItem::createUnitConverter() co
const auto instrument = createInstrument();
auto axis_item = beamItem()->currentInclinationAxisItem();
if (auto pointwise_axis = dynamic_cast<PointwiseAxisItem*>(axis_item)) {
if (!pointwise_axis->containsNonXMLData()) // workaround for loading project
return nullptr;
AxesUnits native_units = JobItemUtils::axesUnitsFromName(pointwise_axis->getUnitsLabel());
return std::make_unique<UnitConverter1D>(instrument->getBeam(), *pointwise_axis->getAxis(),
native_units);
......
......@@ -93,6 +93,8 @@ void JobItemUtils::setIntensityItemAxesUnits(DataItem* intensityItem,
const InstrumentItem* instrumentItem)
{
const auto converter = DomainObjectBuilder::createUnitConverter(instrumentItem);
if (!converter)
return;
setIntensityItemAxesUnits(intensityItem, *converter);
}
......
......@@ -51,6 +51,7 @@ void PointwiseAxisItem::init(const IAxis& axis, const QString& units_label)
m_axis = std::unique_ptr<IAxis>(axis.clone());
setItemValue(P_NATIVE_UNITS, units_label);
findInstrument();
updateIndicators();
}
const IAxis* PointwiseAxisItem::getAxis() const
......@@ -87,6 +88,7 @@ bool PointwiseAxisItem::load(const QString& projectDir)
return false;
m_axis = std::unique_ptr<IAxis>(data->getAxis(0).clone());
findInstrument();
setLastModified(QDateTime::currentDateTime());
return true;
}
......@@ -132,7 +134,6 @@ void PointwiseAxisItem::findInstrument()
while (parent_item && parent_item->modelType() != Constants::SpecularInstrumentType)
parent_item = parent_item->parent();
m_instrument = static_cast<SpecularInstrumentItem*>(parent_item);
updateIndicators();
}
void PointwiseAxisItem::updateIndicators()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment