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

Bound updateAxesTitle to unit converter

Redmine: #2030
parent a96dcbf2
No related branches found
No related tags found
No related merge requests found
...@@ -52,7 +52,8 @@ QMap<AxesUnits, QString> init_description_to_units_map() ...@@ -52,7 +52,8 @@ QMap<AxesUnits, QString> init_description_to_units_map()
return result; return result;
} }
void updateAxesTitle(IntensityDataItem* intensityItem); void updateAxesTitle(IntensityDataItem* intensityItem, const IUnitConverter& converter,
AxesUnits units);
} }
void JobItemUtils::setResults(JobItem* jobItem, const Simulation* simulation) void JobItemUtils::setResults(JobItem* jobItem, const Simulation* simulation)
...@@ -81,8 +82,9 @@ void JobItemUtils::setResults(IntensityDataItem* intensityItem, const Simulation ...@@ -81,8 +82,9 @@ void JobItemUtils::setResults(IntensityDataItem* intensityItem, const Simulation
"currently is not handled by GUI"); "currently is not handled by GUI");
const auto sim_result = simulation->result(); const auto sim_result = simulation->result();
if (intensityItem->getOutputData() == nullptr) { if (intensityItem->getOutputData() == nullptr) {
setIntensityItemAxesUnits(intensityItem, sim_result.converter()); const auto& converter = sim_result.converter();
updateAxesTitle(intensityItem); setIntensityItemAxesUnits(intensityItem, converter);
updateAxesTitle(intensityItem, converter, converter.defaultUnits());
} }
auto selected_units = axesUnitsFromName(intensityItem->selectedAxesUnits()); auto selected_units = axesUnitsFromName(intensityItem->selectedAxesUnits());
std::unique_ptr<OutputData<double>> data(sim_result.data(selected_units)); std::unique_ptr<OutputData<double>> data(sim_result.data(selected_units));
...@@ -116,7 +118,7 @@ void JobItemUtils::updateDataAxes(IntensityDataItem* intensityItem, ...@@ -116,7 +118,7 @@ void JobItemUtils::updateDataAxes(IntensityDataItem* intensityItem,
intensityItem->setOutputData(newData.release()); intensityItem->setOutputData(newData.release());
intensityItem->setAxesRangeToData(); intensityItem->setAxesRangeToData();
updateAxesTitle(intensityItem); updateAxesTitle(intensityItem, *converter, requested_units);
} }
//! loads intensity data from project directory //! loads intensity data from project directory
...@@ -200,30 +202,18 @@ void JobItemUtils::createDefaultDetectorMap(IntensityDataItem* intensityItem, ...@@ -200,30 +202,18 @@ void JobItemUtils::createDefaultDetectorMap(IntensityDataItem* intensityItem,
{ {
const auto converter = DomainObjectBuilder::createUnitConverter(instrumentItem); const auto converter = DomainObjectBuilder::createUnitConverter(instrumentItem);
setIntensityItemAxesUnits(intensityItem, *converter); setIntensityItemAxesUnits(intensityItem, *converter);
updateAxesTitle(intensityItem); updateAxesTitle(intensityItem, *converter, converter->defaultUnits());
auto output_data = UnitConverterUtils::createOutputData(*converter, converter->defaultUnits()); auto output_data = UnitConverterUtils::createOutputData(*converter, converter->defaultUnits());
intensityItem->setOutputData(output_data.release()); intensityItem->setOutputData(output_data.release());
} }
namespace { namespace
void updateAxesTitle(IntensityDataItem* intensityItem) {
{ void updateAxesTitle(IntensityDataItem* intensityItem, const IUnitConverter& converter,
// axes labels AxesUnits units)
if (intensityItem->selectedAxesUnits() == Constants::UnitsRadians) { {
intensityItem->setXaxisTitle(QStringLiteral("phi_f [rad]")); intensityItem->setXaxisTitle(QString::fromStdString(converter.axisName(0, units)));
intensityItem->setYaxisTitle(QStringLiteral("alpha_f [rad]")); if (converter.dimension() > 1)
} else if (intensityItem->selectedAxesUnits() == Constants::UnitsDegrees) { intensityItem->setYaxisTitle(QString::fromStdString(converter.axisName(1, units)));
intensityItem->setXaxisTitle(QStringLiteral("phi_f [deg]"));
intensityItem->setYaxisTitle(QStringLiteral("alpha_f [deg]"));
} else if (intensityItem->selectedAxesUnits() == Constants::UnitsQyQz) {
intensityItem->setXaxisTitle(QStringLiteral("Qy [1/nm]"));
intensityItem->setYaxisTitle(QStringLiteral("Qz [1/nm]"));
} else if (intensityItem->selectedAxesUnits() == Constants::UnitsMm) {
intensityItem->setXaxisTitle(QStringLiteral("X [mm]"));
intensityItem->setYaxisTitle(QStringLiteral("Y [mm]"));
} else if (intensityItem->selectedAxesUnits() == Constants::UnitsNbins) {
intensityItem->setXaxisTitle(QStringLiteral("X [nbins]"));
intensityItem->setYaxisTitle(QStringLiteral("Y [nbins]"));
}
} }
} }
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