Skip to content

Commit b9c2bd6

Browse files
committed
Add logic to the presenter and model
1 parent 363c6bf commit b9c2bd6

File tree

4 files changed

+17
-10
lines changed

4 files changed

+17
-10
lines changed

qt/scientific_interfaces/Indirect/Reduction/ISISEnergyTransferModel.cpp

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -103,12 +103,13 @@ void IETModel::setAnalysisProperties(IAlgorithmRuntimeProps &properties, IETAnal
103103
}
104104

105105
void IETModel::setOutputProperties(IAlgorithmRuntimeProps &properties, IETOutputData const &outputData,
106-
std::string const &outputGroupName) {
106+
std::string const &outputGroupName, std::string const &outputLabel) {
107107
if (outputData.getUseDeltaEInWavenumber()) {
108108
Mantid::API::AlgorithmProperties::update("UnitX", std::string("DeltaE_inWavenumber"), properties);
109109
}
110110
Mantid::API::AlgorithmProperties::update("FoldMultipleFrames", outputData.getFoldMultipleFrames(), properties);
111111
Mantid::API::AlgorithmProperties::update("OutputWorkspace", outputGroupName, properties);
112+
Mantid::API::AlgorithmProperties::update("OutputSuffix", outputLabel, properties);
112113
}
113114

114115
std::string IETModel::getOutputGroupName(InstrumentData const &instData, std::string const &inputText) {
@@ -119,8 +120,8 @@ std::string IETModel::getOutputGroupName(InstrumentData const &instData, std::st
119120
return instrument + inputText + "_" + analyser + "_" + reflection + "_Reduced";
120121
}
121122

122-
MantidQt::API::IConfiguredAlgorithm_sptr IETModel::energyTransferAlgorithm(InstrumentData const &instData,
123-
IETRunData &runData) {
123+
MantidQt::API::IConfiguredAlgorithm_sptr
124+
IETModel::energyTransferAlgorithm(InstrumentData const &instData, IETRunData &runData, std::string const &outputLabel) {
124125
auto properties = runData.groupingProperties();
125126

126127
setInstrumentProperties(*properties, instData);
@@ -131,7 +132,7 @@ MantidQt::API::IConfiguredAlgorithm_sptr IETModel::energyTransferAlgorithm(Instr
131132
setAnalysisProperties(*properties, runData.getAnalysisData());
132133

133134
m_outputGroupName = getOutputGroupName(instData, runData.getInputData().getInputText());
134-
setOutputProperties(*properties, runData.getOutputData(), m_outputGroupName);
135+
setOutputProperties(*properties, runData.getOutputData(), m_outputGroupName, outputLabel);
135136

136137
auto reductionAlg = AlgorithmManager::Instance().create("ISISIndirectEnergyTransfer");
137138
reductionAlg->initialize();

qt/scientific_interfaces/Indirect/Reduction/ISISEnergyTransferModel.h

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@ class MANTIDQT_INDIRECT_DLL IIETModel {
2727
virtual std::vector<std::string> validateRunData(IETRunData const &runData) = 0;
2828
virtual std::vector<std::string> validatePlotData(IETPlotData const &plotData) = 0;
2929

30-
virtual MantidQt::API::IConfiguredAlgorithm_sptr energyTransferAlgorithm(InstrumentData const &instData,
31-
IETRunData &runParams) = 0;
30+
virtual MantidQt::API::IConfiguredAlgorithm_sptr
31+
energyTransferAlgorithm(InstrumentData const &instData, IETRunData &runParams, std::string const &outputLabel) = 0;
3232
virtual std::deque<MantidQt::API::IConfiguredAlgorithm_sptr>
3333
plotRawAlgorithmQueue(InstrumentData const &instData, IETPlotData const &plotData) const = 0;
3434

@@ -56,7 +56,8 @@ class MANTIDQT_INDIRECT_DLL IETModel : public IIETModel {
5656
std::vector<std::string> validatePlotData(IETPlotData const &plotData) override;
5757

5858
MantidQt::API::IConfiguredAlgorithm_sptr energyTransferAlgorithm(InstrumentData const &instData,
59-
IETRunData &runParams) override;
59+
IETRunData &runParams,
60+
std::string const &outputLabel) override;
6061
std::deque<MantidQt::API::IConfiguredAlgorithm_sptr>
6162
plotRawAlgorithmQueue(InstrumentData const &instData, IETPlotData const &plotData) const override;
6263

@@ -77,7 +78,7 @@ class MANTIDQT_INDIRECT_DLL IETModel : public IIETModel {
7778
void setRebinProperties(IAlgorithmRuntimeProps &properties, IETRebinData const &rebinData);
7879
void setAnalysisProperties(IAlgorithmRuntimeProps &properties, IETAnalysisData const &analysisData);
7980
void setOutputProperties(IAlgorithmRuntimeProps &properties, IETOutputData const &outputData,
80-
std::string const &outputGroupName);
81+
std::string const &outputGroupName, std::string const &outputLabel);
8182
std::string getOutputGroupName(InstrumentData const &instData, std::string const &inputFiles);
8283

8384
[[nodiscard]] inline std::string outputGroupName() const noexcept override { return m_outputGroupName; }

qt/scientific_interfaces/Indirect/Reduction/ISISEnergyTransferPresenter.cpp

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818

1919
#include "MantidQtWidgets/Common/QtJobRunner.h"
2020
#include "MantidQtWidgets/Common/UserInputValidator.h"
21+
#include <MantidQtWidgets/Common/ParseKeyValueString.h>
2122

2223
#include <boost/algorithm/string/classification.hpp>
2324
#include <boost/algorithm/string/split.hpp>
@@ -56,6 +57,8 @@ IETPresenter::IETPresenter(IDataReduction *idrUI, IIETView *view, std::unique_pt
5657
m_algorithmRunner->subscribe(this);
5758
setRunWidgetPresenter(std::make_unique<RunPresenter>(this, m_view->getRunView()));
5859
setOutputPlotOptionsPresenter(m_view->getPlotOptionsView(), PlotWidget::SpectraSliceSurface);
60+
setOutputNamePresenter(m_view->getOutputName());
61+
m_outputNamePresenter->enableEditing();
5962
}
6063

6164
void IETPresenter::validateInstrumentDetails(IUserInputValidator *validator) const {
@@ -140,9 +143,11 @@ void IETPresenter::handleRun() {
140143
InstrumentData instrumentData = getInstrumentData();
141144
IETRunData runData = m_view->getRunData();
142145

146+
std::string outputLabel = m_outputNamePresenter->getCurrentLabel();
147+
143148
m_view->setEnableOutputOptions(false);
144149

145-
m_algorithmRunner->execute(m_model->energyTransferAlgorithm(instrumentData, runData));
150+
m_algorithmRunner->execute(m_model->energyTransferAlgorithm(instrumentData, runData, outputLabel));
146151
}
147152

148153
void IETPresenter::handleValidation(IUserInputValidator *validator) const {

qt/scientific_interfaces/Indirect/test/Reduction/ISISEnergyTransferModelTest.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -325,7 +325,7 @@ class ISISEnergyTransferModelTest : public CxxTest::TestSuite {
325325

326326
InstrumentData instData("instrument", "analyser", "reflection");
327327

328-
auto configuredAlg = m_model->energyTransferAlgorithm(instData, runData);
328+
auto configuredAlg = m_model->energyTransferAlgorithm(instData, runData, "Elwin");
329329
auto &runtimeProps = configuredAlg->getAlgorithmRuntimeProps();
330330
TS_ASSERT_EQUALS("instrument", runtimeProps.getPropertyValue("Instrument"));
331331
TS_ASSERT_EQUALS("analyser", runtimeProps.getPropertyValue("Analyser"));

0 commit comments

Comments
 (0)