diff --git a/qt/python/mantidqtpython/mantidqtpython_def.sip b/qt/python/mantidqtpython/mantidqtpython_def.sip index 225ec3d5503781b79ec540eceedb98c9887bf325..8049ef32de4a62f60edbab0d06a0af3e5cc9138e 100644 --- a/qt/python/mantidqtpython/mantidqtpython_def.sip +++ b/qt/python/mantidqtpython/mantidqtpython_def.sip @@ -1594,8 +1594,8 @@ class DataProcessorMainPresenter public: DataProcessorMainPresenter(); -virtual QString getPreprocessingOptionsAsString() const; -virtual QString getProcessingOptionsAsString() const; +virtual QMap<QString, QString> getPreprocessingOptions() const; +virtual QMap<QString, QString> getProcessingOptions() const; virtual QString getPostprocessingOptionsAsString() const; virtual void notifyADSChanged(const QSet<QString> &); diff --git a/qt/scientific_interfaces/ISISReflectometry/IReflMainWindowPresenter.h b/qt/scientific_interfaces/ISISReflectometry/IReflMainWindowPresenter.h index 9876d5f6e5ad37c697134adbbff4ad7a3ddcc5f2..cb08c64f5f433bcaa189d795dd9c015415c24b5e 100644 --- a/qt/scientific_interfaces/ISISReflectometry/IReflMainWindowPresenter.h +++ b/qt/scientific_interfaces/ISISReflectometry/IReflMainWindowPresenter.h @@ -1,7 +1,7 @@ #ifndef MANTID_ISISREFLECTOMETRY_IREFLMAINWINDOWPRESENTER_H #define MANTID_ISISREFLECTOMETRY_IREFLMAINWINDOWPRESENTER_H -#include "MantidQtWidgets/Common/DataProcessorUI/OptionsMap.h" +#include "MantidQtWidgets/Common/DataProcessorUI/OptionsQMap.h" #include <string> @@ -45,10 +45,10 @@ public: /// Pre-processing virtual std::string getTransmissionRuns(int group) const = 0; - virtual MantidWidgets::DataProcessor::OptionsMap + virtual MantidWidgets::DataProcessor::OptionsQMap getTransmissionOptions(int group) const = 0; /// Processing - virtual MantidWidgets::DataProcessor::OptionsMap + virtual MantidWidgets::DataProcessor::OptionsQMap getReductionOptions(int group) const = 0; /// Post-processing virtual std::string getStitchOptions(int group) const = 0; diff --git a/qt/scientific_interfaces/ISISReflectometry/IReflSettingsPresenter.h b/qt/scientific_interfaces/ISISReflectometry/IReflSettingsPresenter.h index 8a448994a86f5f986dd76edf2b2d31b97e2bb870..a391758cc9d6b2cf5c10ab935d874e6849eff437 100644 --- a/qt/scientific_interfaces/ISISReflectometry/IReflSettingsPresenter.h +++ b/qt/scientific_interfaces/ISISReflectometry/IReflSettingsPresenter.h @@ -1,7 +1,7 @@ #ifndef MANTID_ISISREFLECTOMETRY_IREFLSETTINGSPRESENTER_H #define MANTID_ISISREFLECTOMETRY_IREFLSETTINGSPRESENTER_H -#include "MantidQtWidgets/Common/DataProcessorUI/OptionsMap.h" +#include "MantidQtWidgets/Common/DataProcessorUI/OptionsQMap.h" #include <string> @@ -41,10 +41,10 @@ public: virtual ~IReflSettingsPresenter(){}; /// Pre-processing virtual std::string getTransmissionRuns() const = 0; - virtual MantidWidgets::DataProcessor::OptionsMap + virtual MantidWidgets::DataProcessor::OptionsQMap getTransmissionOptions() const = 0; /// Processing - virtual MantidWidgets::DataProcessor::OptionsMap + virtual MantidWidgets::DataProcessor::OptionsQMap getReductionOptions() const = 0; /// Post-processing virtual std::string getStitchOptions() const = 0; diff --git a/qt/scientific_interfaces/ISISReflectometry/IReflSettingsTabPresenter.h b/qt/scientific_interfaces/ISISReflectometry/IReflSettingsTabPresenter.h index 69b692fefd4e8840590aa60c4d2d5947e5123a26..47f5446cd28473735b927104fcc1426ad967f506 100644 --- a/qt/scientific_interfaces/ISISReflectometry/IReflSettingsTabPresenter.h +++ b/qt/scientific_interfaces/ISISReflectometry/IReflSettingsTabPresenter.h @@ -1,7 +1,7 @@ #ifndef MANTID_ISISREFLECTOMETRY_IREFLSETTINGSTABPRESENTER_H #define MANTID_ISISREFLECTOMETRY_IREFLSETTINGSTABPRESENTER_H -#include "MantidQtWidgets/Common/DataProcessorUI/OptionsMap.h" +#include "MantidQtWidgets/Common/DataProcessorUI/OptionsQMap.h" #include <string> @@ -41,10 +41,10 @@ public: virtual ~IReflSettingsTabPresenter(){}; /// Pre-processing virtual std::string getTransmissionRuns(int group) const = 0; - virtual MantidWidgets::DataProcessor::OptionsMap + virtual MantidWidgets::DataProcessor::OptionsQMap getTransmissionOptions(int group) const = 0; /// Processing - virtual MantidWidgets::DataProcessor::OptionsMap + virtual MantidWidgets::DataProcessor::OptionsQMap getReductionOptions(int group) const = 0; /// Post-processing virtual std::string getStitchOptions(int group) const = 0; diff --git a/qt/scientific_interfaces/ISISReflectometry/ReflDataProcessorPresenter.cpp b/qt/scientific_interfaces/ISISReflectometry/ReflDataProcessorPresenter.cpp index fb39af64b10149124523aebb442731e7356b86b6..7b3cd8c7907a118cbe02fa1257981b8127b5e8d8 100644 --- a/qt/scientific_interfaces/ISISReflectometry/ReflDataProcessorPresenter.cpp +++ b/qt/scientific_interfaces/ISISReflectometry/ReflDataProcessorPresenter.cpp @@ -5,6 +5,7 @@ #include "MantidAPI/Run.h" #include "MantidQtWidgets/Common/DataProcessorUI/TreeManager.h" #include "MantidQtWidgets/Common/DataProcessorUI/DataProcessorView.h" +#include "MantidQtWidgets/Common/DataProcessorUI/OptionsMap.h" #include "MantidQtWidgets/Common/ParseKeyValueString.h" #include "MantidQtWidgets/Common/ParseNumerics.h" #include "MantidQtWidgets/Common/ProgressPresenter.h" @@ -73,8 +74,8 @@ void ReflDataProcessorPresenter::process() { return; // Get global settings - this->setPreprocessingOptions(m_mainPresenter->getPreprocessingOptions()); - m_processingOptions = m_mainPresenter->getProcessingOptions(); + this->setPreprocessingOptions(convertOptionsFromQMap(m_mainPresenter->getPreprocessingOptions())); + m_processingOptions = convertOptionsFromQMap(m_mainPresenter->getProcessingOptions()); this->setPostprocessingOptions( m_mainPresenter->getPostprocessingOptionsAsString()); diff --git a/qt/scientific_interfaces/ISISReflectometry/ReflMainWindowPresenter.cpp b/qt/scientific_interfaces/ISISReflectometry/ReflMainWindowPresenter.cpp index f1436df99a67352e3feece0baab7599eef1fadc5..081a988e6f3439d71f0b80b45fee18a77f8657e9 100644 --- a/qt/scientific_interfaces/ISISReflectometry/ReflMainWindowPresenter.cpp +++ b/qt/scientific_interfaces/ISISReflectometry/ReflMainWindowPresenter.cpp @@ -76,7 +76,7 @@ std::string ReflMainWindowPresenter::getTransmissionRuns(int group) const { *options * @return :: Global options for 'CreateTransmissionWorkspaceAuto' */ -OptionsMap ReflMainWindowPresenter::getTransmissionOptions(int group) const { +OptionsQMap ReflMainWindowPresenter::getTransmissionOptions(int group) const { checkSettingsPtrValid(m_settingsPresenter); @@ -89,7 +89,7 @@ OptionsMap ReflMainWindowPresenter::getTransmissionOptions(int group) const { *options * @return :: Global processing options */ -OptionsMap ReflMainWindowPresenter::getReductionOptions(int group) const { +OptionsQMap ReflMainWindowPresenter::getReductionOptions(int group) const { checkSettingsPtrValid(m_settingsPresenter); diff --git a/qt/scientific_interfaces/ISISReflectometry/ReflMainWindowPresenter.h b/qt/scientific_interfaces/ISISReflectometry/ReflMainWindowPresenter.h index d06e6704478b714cdcbfecce180a1b6bd05e6b11..96e2e2dfc30472e9fa62593d231dbad1c97866fe 100644 --- a/qt/scientific_interfaces/ISISReflectometry/ReflMainWindowPresenter.h +++ b/qt/scientific_interfaces/ISISReflectometry/ReflMainWindowPresenter.h @@ -57,10 +57,10 @@ public: /// Returns values passed for 'Transmission run(s)' std::string getTransmissionRuns(int group) const override; /// Returns global options for 'CreateTransmissionWorkspaceAuto' - MantidWidgets::DataProcessor::OptionsMap + MantidWidgets::DataProcessor::OptionsQMap getTransmissionOptions(int group) const override; /// Returns global options for 'ReflectometryReductionOneAuto' - MantidWidgets::DataProcessor::OptionsMap + MantidWidgets::DataProcessor::OptionsQMap getReductionOptions(int group) const override; /// Returns global options for 'Stitch1DMany' std::string getStitchOptions(int group) const override; diff --git a/qt/scientific_interfaces/ISISReflectometry/ReflRunsTabPresenter.cpp b/qt/scientific_interfaces/ISISReflectometry/ReflRunsTabPresenter.cpp index 7a1578f2cf650c0fc01a5134bf92464b6413a9a6..f2677ecede9a55e8e8ec9c7ee11c3a65ea98ed60 100644 --- a/qt/scientific_interfaces/ISISReflectometry/ReflRunsTabPresenter.cpp +++ b/qt/scientific_interfaces/ISISReflectometry/ReflRunsTabPresenter.cpp @@ -403,63 +403,23 @@ void ReflRunsTabPresenter::notifyADSChanged( m_tablePresenters.at(m_view->getSelectedGroup())->isProcessing()); } -/** Convert an options map to a comma-separated list of key=value pairs - */ -QString -ReflRunsTabPresenter::convertMapToString(const OptionsMap &optionsMap) const { - QString result; - bool first = true; - - for (auto &kvp : optionsMap) { - if (!first) - result += ","; - else - first = false; - - result += kvp.first + "=" + kvp.second; - } - - return result; -} - /** Requests global pre-processing options as a string. Options are supplied by * the main presenter. * @return :: Global pre-processing options */ -OptionsMap ReflRunsTabPresenter::getPreprocessingOptions() const { +OptionsQMap ReflRunsTabPresenter::getPreprocessingOptions() const { return m_mainPresenter->getTransmissionOptions(m_view->getSelectedGroup()); } -/** Requests global pre-processing options as a string. Options are supplied by - * the main presenter. - * @return :: Global pre-processing options as a string - */ -QString ReflRunsTabPresenter::getPreprocessingOptionsAsString() const { - - auto optionsStr = convertMapToString( - m_mainPresenter->getTransmissionOptions(m_view->getSelectedGroup())); - - return optionsStr; -} - /** Requests global processing options. Options are supplied by the main * presenter * @return :: Global processing options */ -OptionsMap ReflRunsTabPresenter::getProcessingOptions() const { +OptionsQMap ReflRunsTabPresenter::getProcessingOptions() const { return m_mainPresenter->getReductionOptions(m_view->getSelectedGroup()); } -/** Requests global processing options. Options are supplied by the main -* presenter -* @return :: Global processing options as a string -*/ -QString ReflRunsTabPresenter::getProcessingOptionsAsString() const { - return convertMapToString( - m_mainPresenter->getReductionOptions(m_view->getSelectedGroup())); -} - /** Requests global post-processing options as a string. Options are supplied by * the main * presenter diff --git a/qt/scientific_interfaces/ISISReflectometry/ReflRunsTabPresenter.h b/qt/scientific_interfaces/ISISReflectometry/ReflRunsTabPresenter.h index d8eb11e4628c49f3172fb552ec4a0843fc28b8c0..fac439fc43c201b4d127fdb4ef59a54a9914fe53 100644 --- a/qt/scientific_interfaces/ISISReflectometry/ReflRunsTabPresenter.h +++ b/qt/scientific_interfaces/ISISReflectometry/ReflRunsTabPresenter.h @@ -70,12 +70,8 @@ public: void notifyADSChanged(const QSet<QString> &workspaceList) override; /// Handle data reduction paused/resumed /// Global options (inherited from DataProcessorMainPresenter) - MantidWidgets::DataProcessor::OptionsMap - getPreprocessingOptions() const override; - QString getPreprocessingOptionsAsString() const override; - MantidWidgets::DataProcessor::OptionsMap - getProcessingOptions() const override; - QString getProcessingOptionsAsString() const override; + MantidWidgets::DataProcessor::OptionsQMap getPreprocessingOptions() const override; + MantidWidgets::DataProcessor::OptionsQMap getProcessingOptions() const override; QString getPostprocessingOptionsAsString() const override; QString getTimeSlicingValues() const override; QString getTimeSlicingType() const override; @@ -124,9 +120,6 @@ private: void changeInstrument(); /// enable/disable widgets on the view void updateWidgetEnabledState(const bool isProcessing) const; - /// Convert an options map to a string - QString convertMapToString( - const MantidWidgets::DataProcessor::OptionsMap &optionsMap) const; }; } } diff --git a/qt/scientific_interfaces/ISISReflectometry/ReflSettingsPresenter.cpp b/qt/scientific_interfaces/ISISReflectometry/ReflSettingsPresenter.cpp index affd16fcbf11e120fca2b0d23fe392107cd1069a..80bae5286802fa700e73856ecc5fd6be21ac2de2 100644 --- a/qt/scientific_interfaces/ISISReflectometry/ReflSettingsPresenter.cpp +++ b/qt/scientific_interfaces/ISISReflectometry/ReflSettingsPresenter.cpp @@ -61,9 +61,9 @@ void ReflSettingsPresenter::setInstrumentName(const std::string &instName) { /** Returns global options for 'CreateTransmissionWorkspaceAuto' * @return :: Global options for 'CreateTransmissionWorkspaceAuto' */ -OptionsMap ReflSettingsPresenter::getTransmissionOptions() const { +OptionsQMap ReflSettingsPresenter::getTransmissionOptions() const { - OptionsMap options; + OptionsQMap options; if (m_view->experimentSettingsEnabled()) { @@ -140,9 +140,9 @@ OptionsMap ReflSettingsPresenter::getTransmissionOptions() const { /** Returns global options for 'ReflectometryReductionOneAuto' * @return :: Global options for 'ReflectometryReductionOneAuto' */ -OptionsMap ReflSettingsPresenter::getReductionOptions() const { +OptionsQMap ReflSettingsPresenter::getReductionOptions() const { - OptionsMap options; + OptionsQMap options; if (m_view->experimentSettingsEnabled()) { diff --git a/qt/scientific_interfaces/ISISReflectometry/ReflSettingsPresenter.h b/qt/scientific_interfaces/ISISReflectometry/ReflSettingsPresenter.h index 77dcbd6e4998c92b7673761087c9518fc439647a..a95e48036d698c7dd3a12873e98f489543b3c4c6 100644 --- a/qt/scientific_interfaces/ISISReflectometry/ReflSettingsPresenter.h +++ b/qt/scientific_interfaces/ISISReflectometry/ReflSettingsPresenter.h @@ -52,10 +52,10 @@ public: /// Returns values passed for 'Transmission run(s)' std::string getTransmissionRuns() const override; /// Returns global options for 'CreateTransmissionWorkspaceAuto' - MantidWidgets::DataProcessor::OptionsMap + MantidWidgets::DataProcessor::OptionsQMap getTransmissionOptions() const override; /// Returns global options for 'ReflectometryReductionOneAuto' - MantidWidgets::DataProcessor::OptionsMap getReductionOptions() const override; + MantidWidgets::DataProcessor::OptionsQMap getReductionOptions() const override; /// Returns global options for 'Stitch1DMany' std::string getStitchOptions() const override; diff --git a/qt/scientific_interfaces/ISISReflectometry/ReflSettingsTabPresenter.cpp b/qt/scientific_interfaces/ISISReflectometry/ReflSettingsTabPresenter.cpp index d6784e79ae0f051b677772368fd8ca4c2211aa8c..5380587ec2046d8b7dcd7c3351f03ea52b53f4e7 100644 --- a/qt/scientific_interfaces/ISISReflectometry/ReflSettingsTabPresenter.cpp +++ b/qt/scientific_interfaces/ISISReflectometry/ReflSettingsTabPresenter.cpp @@ -51,7 +51,7 @@ std::string ReflSettingsTabPresenter::getTransmissionRuns(int group) const { * @param group :: The group from which to get the options * @return :: Global options for 'CreateTransmissionWorkspaceAuto' */ -OptionsMap ReflSettingsTabPresenter::getTransmissionOptions(int group) const { +OptionsQMap ReflSettingsTabPresenter::getTransmissionOptions(int group) const { return m_settingsPresenters.at(group)->getTransmissionOptions(); } @@ -61,7 +61,7 @@ OptionsMap ReflSettingsTabPresenter::getTransmissionOptions(int group) const { * @param group :: The group from which to get the options * @return :: Global options for 'ReflectometryReductionOneAuto' */ -OptionsMap ReflSettingsTabPresenter::getReductionOptions(int group) const { +OptionsQMap ReflSettingsTabPresenter::getReductionOptions(int group) const { return m_settingsPresenters.at(group)->getReductionOptions(); } diff --git a/qt/scientific_interfaces/ISISReflectometry/ReflSettingsTabPresenter.h b/qt/scientific_interfaces/ISISReflectometry/ReflSettingsTabPresenter.h index da79b1360acfe7253f1fe98fd8a13df50ce12435..08ddfbaac021772d4a019823b2b9d05506493f97 100644 --- a/qt/scientific_interfaces/ISISReflectometry/ReflSettingsTabPresenter.h +++ b/qt/scientific_interfaces/ISISReflectometry/ReflSettingsTabPresenter.h @@ -51,10 +51,10 @@ public: /// Returns values passed for 'Transmission run(s)' std::string getTransmissionRuns(int group) const override; /// Returns global options for 'CreateTransmissionWorkspaceAuto' - MantidWidgets::DataProcessor::OptionsMap + MantidWidgets::DataProcessor::OptionsQMap getTransmissionOptions(int group) const override; /// Returns global options for 'ReflectometryReductionOneAuto' - MantidWidgets::DataProcessor::OptionsMap + MantidWidgets::DataProcessor::OptionsQMap getReductionOptions(int group) const override; /// Returns global options for 'Stitch1DMany' std::string getStitchOptions(int group) const override; diff --git a/qt/scientific_interfaces/test/ReflDataProcessorPresenterTest.h b/qt/scientific_interfaces/test/ReflDataProcessorPresenterTest.h index 013584f1d9929b3102584d6c4586acd1610421ed..d57bf2fdaa54aad8c2a6ce58f3c968398de28eae 100644 --- a/qt/scientific_interfaces/test/ReflDataProcessorPresenterTest.h +++ b/qt/scientific_interfaces/test/ReflDataProcessorPresenterTest.h @@ -168,10 +168,10 @@ public: .WillOnce(Return("UniformEven")); EXPECT_CALL(mockMainPresenter, getPreprocessingOptions()) .Times(1) - .WillOnce(Return(OptionsMap())); + .WillOnce(Return(OptionsQMap())); EXPECT_CALL(mockMainPresenter, getProcessingOptions()) .Times(1) - .WillOnce(Return(OptionsMap())); + .WillOnce(Return(OptionsQMap())); EXPECT_CALL(mockMainPresenter, getPostprocessingOptionsAsString()) .Times(1) .WillOnce(Return("")); @@ -252,10 +252,10 @@ public: .WillOnce(Return("Uniform")); EXPECT_CALL(mockMainPresenter, getPreprocessingOptions()) .Times(1) - .WillOnce(Return(OptionsMap())); + .WillOnce(Return(OptionsQMap())); EXPECT_CALL(mockMainPresenter, getProcessingOptions()) .Times(1) - .WillOnce(Return(OptionsMap())); + .WillOnce(Return(OptionsQMap())); EXPECT_CALL(mockMainPresenter, getPostprocessingOptionsAsString()) .Times(1) .WillOnce(Return("")); @@ -347,10 +347,10 @@ public: .WillOnce(Return("Custom")); EXPECT_CALL(mockMainPresenter, getPreprocessingOptions()) .Times(1) - .WillOnce(Return(OptionsMap())); + .WillOnce(Return(OptionsQMap())); EXPECT_CALL(mockMainPresenter, getProcessingOptions()) .Times(1) - .WillOnce(Return(OptionsMap())); + .WillOnce(Return(OptionsQMap())); EXPECT_CALL(mockMainPresenter, getPostprocessingOptionsAsString()) .Times(1) .WillOnce(Return("")); @@ -431,10 +431,10 @@ public: .WillOnce(Return("LogValue")); EXPECT_CALL(mockMainPresenter, getPreprocessingOptions()) .Times(1) - .WillOnce(Return(OptionsMap())); + .WillOnce(Return(OptionsQMap())); EXPECT_CALL(mockMainPresenter, getProcessingOptions()) .Times(1) - .WillOnce(Return(OptionsMap())); + .WillOnce(Return(OptionsQMap())); EXPECT_CALL(mockMainPresenter, getPostprocessingOptionsAsString()) .Times(1) .WillOnce(Return("")); @@ -515,10 +515,10 @@ public: .WillOnce(Return("Custom")); EXPECT_CALL(mockMainPresenter, getPreprocessingOptions()) .Times(1) - .WillOnce(Return(OptionsMap())); + .WillOnce(Return(OptionsQMap())); EXPECT_CALL(mockMainPresenter, getProcessingOptions()) .Times(1) - .WillOnce(Return(OptionsMap())); + .WillOnce(Return(OptionsQMap())); EXPECT_CALL(mockMainPresenter, getPostprocessingOptionsAsString()) .Times(1) .WillOnce(Return(QString())); @@ -576,10 +576,10 @@ public: .WillOnce(Return("Custom")); EXPECT_CALL(mockMainPresenter, getPreprocessingOptions()) .Times(1) - .WillOnce(Return(OptionsMap())); + .WillOnce(Return(OptionsQMap())); EXPECT_CALL(mockMainPresenter, getProcessingOptions()) .Times(1) - .WillOnce(Return(OptionsMap())); + .WillOnce(Return(OptionsQMap())); EXPECT_CALL(mockMainPresenter, getPostprocessingOptionsAsString()) .Times(1) .WillOnce(Return("")); diff --git a/qt/scientific_interfaces/test/ReflMainWindowPresenterTest.h b/qt/scientific_interfaces/test/ReflMainWindowPresenterTest.h index 178b6e1bb6c58b65464486eff025b9a7970e4504..f7c9f9809003a2aee40e1323e0425f521a25ea39 100644 --- a/qt/scientific_interfaces/test/ReflMainWindowPresenterTest.h +++ b/qt/scientific_interfaces/test/ReflMainWindowPresenterTest.h @@ -60,12 +60,12 @@ public: EXPECT_CALL(mockSettingsPresenter, getTransmissionOptions(0)) .Times(Exactly(1)) - .WillOnce(Return(OptionsMap())); + .WillOnce(Return(OptionsQMap())); presenter.getTransmissionOptions(0); EXPECT_CALL(mockSettingsPresenter, getTransmissionOptions(1)) .Times(Exactly(1)) - .WillOnce(Return(OptionsMap())); + .WillOnce(Return(OptionsQMap())); presenter.getTransmissionOptions(1); TS_ASSERT(Mock::VerifyAndClearExpectations(&mockSettingsPresenter)); @@ -83,12 +83,12 @@ public: EXPECT_CALL(mockSettingsPresenter, getReductionOptions(0)) .Times(Exactly(1)) - .WillOnce(Return(OptionsMap())); + .WillOnce(Return(OptionsQMap())); presenter.getReductionOptions(0); EXPECT_CALL(mockSettingsPresenter, getReductionOptions(1)) .Times(Exactly(1)) - .WillOnce(Return(OptionsMap())); + .WillOnce(Return(OptionsQMap())); presenter.getReductionOptions(1); TS_ASSERT(Mock::VerifyAndClearExpectations(&mockSettingsPresenter)); diff --git a/qt/scientific_interfaces/test/ReflMockObjects.h b/qt/scientific_interfaces/test/ReflMockObjects.h index 18780e29cbb5448fce47f0c8457fd84e18f95787..09a0d539c7c59e5c13545002cb0ecec9b385f710 100644 --- a/qt/scientific_interfaces/test/ReflMockObjects.h +++ b/qt/scientific_interfaces/test/ReflMockObjects.h @@ -200,8 +200,8 @@ public: class MockSettingsPresenter : public IReflSettingsPresenter { public: MOCK_CONST_METHOD0(getTransmissionRuns, std::string()); - MOCK_CONST_METHOD0(getTransmissionOptions, OptionsMap()); - MOCK_CONST_METHOD0(getReductionOptions, OptionsMap()); + MOCK_CONST_METHOD0(getTransmissionOptions, OptionsQMap()); + MOCK_CONST_METHOD0(getReductionOptions, OptionsQMap()); MOCK_CONST_METHOD0(getStitchOptions, std::string()); MOCK_METHOD1(setInstrumentName, void(const std::string &)); void notify(IReflSettingsPresenter::Flag flag) override { UNUSED_ARG(flag); } @@ -211,8 +211,8 @@ public: class MockSettingsTabPresenter : public IReflSettingsTabPresenter { public: MOCK_CONST_METHOD1(getTransmissionRuns, std::string(int)); - MOCK_CONST_METHOD1(getTransmissionOptions, OptionsMap(int)); - MOCK_CONST_METHOD1(getReductionOptions, OptionsMap(int)); + MOCK_CONST_METHOD1(getTransmissionOptions, OptionsQMap(int)); + MOCK_CONST_METHOD1(getReductionOptions, OptionsQMap(int)); MOCK_CONST_METHOD1(getStitchOptions, std::string(int)); void setInstrumentName(const std::string &instName) override { UNUSED_ARG(instName); @@ -232,8 +232,8 @@ public: class MockMainWindowPresenter : public IReflMainWindowPresenter { public: MOCK_CONST_METHOD1(getTransmissionRuns, std::string(int)); - MOCK_CONST_METHOD1(getTransmissionOptions, OptionsMap(int)); - MOCK_CONST_METHOD1(getReductionOptions, OptionsMap(int)); + MOCK_CONST_METHOD1(getTransmissionOptions, OptionsQMap(int)); + MOCK_CONST_METHOD1(getReductionOptions, OptionsQMap(int)); MOCK_CONST_METHOD1(getStitchOptions, std::string(int)); MOCK_CONST_METHOD1(setInstrumentName, void(const std::string &instName)); MOCK_CONST_METHOD0(getInstrumentName, std::string()); diff --git a/qt/scientific_interfaces/test/ReflRunsTabPresenterTest.h b/qt/scientific_interfaces/test/ReflRunsTabPresenterTest.h index 5ac140348270e418156fa65d38ee8be76a778ca1..c0b1d2ccb42555ecc3f1c4e1ef013124350b5651 100644 --- a/qt/scientific_interfaces/test/ReflRunsTabPresenterTest.h +++ b/qt/scientific_interfaces/test/ReflRunsTabPresenterTest.h @@ -122,37 +122,13 @@ public: .WillOnce(Return(group)); EXPECT_CALL(mockMainPresenter, getTransmissionOptions(group)) .Times(1) - .WillOnce(Return(OptionsMap())); + .WillOnce(Return(OptionsQMap())); presenter.getPreprocessingOptions(); TS_ASSERT(Mock::VerifyAndClearExpectations(&mockMainPresenter)); TS_ASSERT(Mock::VerifyAndClearExpectations(&mockRunsTabView)); } - void test_preprocessingOptionsAsString() { - NiceMock<MockRunsTabView> mockRunsTabView; - MockProgressableView mockProgress; - NiceMock<MockDataProcessorPresenter> mockTablePresenter; - MockMainWindowPresenter mockMainPresenter; - std::vector<DataProcessorPresenter *> tablePresenterVec; - tablePresenterVec.push_back(&mockTablePresenter); - ReflRunsTabPresenter presenter(&mockRunsTabView, &mockProgress, - tablePresenterVec); - presenter.acceptMainPresenter(&mockMainPresenter); - - int group = 199; - EXPECT_CALL(mockRunsTabView, getSelectedGroup()) - .Times(Exactly(1)) - .WillOnce(Return(group)); - EXPECT_CALL(mockMainPresenter, getTransmissionOptions(group)) - .Times(1) - .WillOnce(Return(OptionsMap())); - presenter.getPreprocessingOptionsAsString(); - - TS_ASSERT(Mock::VerifyAndClearExpectations(&mockMainPresenter)); - TS_ASSERT(Mock::VerifyAndClearExpectations(&mockRunsTabView)); - } - void test_processingOptions() { NiceMock<MockRunsTabView> mockRunsTabView; MockProgressableView mockProgress; @@ -170,37 +146,13 @@ public: .WillOnce(Return(group)); EXPECT_CALL(mockMainPresenter, getReductionOptions(group)) .Times(1) - .WillOnce(Return(OptionsMap())); + .WillOnce(Return(OptionsQMap())); presenter.getProcessingOptions(); TS_ASSERT(Mock::VerifyAndClearExpectations(&mockMainPresenter)); TS_ASSERT(Mock::VerifyAndClearExpectations(&mockRunsTabView)); } - void test_processingOptionsAsString() { - NiceMock<MockRunsTabView> mockRunsTabView; - MockProgressableView mockProgress; - NiceMock<MockDataProcessorPresenter> mockTablePresenter; - MockMainWindowPresenter mockMainPresenter; - std::vector<DataProcessorPresenter *> tablePresenterVec; - tablePresenterVec.push_back(&mockTablePresenter); - ReflRunsTabPresenter presenter(&mockRunsTabView, &mockProgress, - tablePresenterVec); - presenter.acceptMainPresenter(&mockMainPresenter); - - int group = 199; - EXPECT_CALL(mockRunsTabView, getSelectedGroup()) - .Times(Exactly(1)) - .WillOnce(Return(group)); - EXPECT_CALL(mockMainPresenter, getReductionOptions(group)) - .Times(1) - .WillOnce(Return(OptionsMap())); - presenter.getProcessingOptionsAsString(); - - TS_ASSERT(Mock::VerifyAndClearExpectations(&mockMainPresenter)); - TS_ASSERT(Mock::VerifyAndClearExpectations(&mockRunsTabView)); - } - void test_postprocessingOptions() { NiceMock<MockRunsTabView> mockRunsTabView; MockProgressableView mockProgress; diff --git a/qt/scientific_interfaces/test/ReflSettingsTabPresenterTest.h b/qt/scientific_interfaces/test/ReflSettingsTabPresenterTest.h index c3e7ef50c400193dc2ac0d22eff3e4e49a5da5c6..270bc6793b6ce828acc03a33a594f12553e97cd3 100644 --- a/qt/scientific_interfaces/test/ReflSettingsTabPresenterTest.h +++ b/qt/scientific_interfaces/test/ReflSettingsTabPresenterTest.h @@ -98,7 +98,7 @@ public: EXPECT_CALL(presenter_0, getTransmissionOptions()) .Times(1) - .WillOnce(Return(OptionsMap())); + .WillOnce(Return(OptionsQMap())); EXPECT_CALL(presenter_1, getTransmissionOptions()).Times(0); EXPECT_CALL(presenter_2, getTransmissionOptions()).Times(0); presenter.getTransmissionOptions(0); @@ -109,7 +109,7 @@ public: EXPECT_CALL(presenter_0, getTransmissionOptions()).Times(0); EXPECT_CALL(presenter_1, getTransmissionOptions()) .Times(1) - .WillOnce(Return(OptionsMap())); + .WillOnce(Return(OptionsQMap())); EXPECT_CALL(presenter_2, getTransmissionOptions()).Times(0); presenter.getTransmissionOptions(1); TS_ASSERT(Mock::VerifyAndClearExpectations(&presenter_0)); @@ -120,7 +120,7 @@ public: EXPECT_CALL(presenter_1, getTransmissionOptions()).Times(0); EXPECT_CALL(presenter_2, getTransmissionOptions()) .Times(1) - .WillOnce(Return(OptionsMap())); + .WillOnce(Return(OptionsQMap())); presenter.getTransmissionOptions(2); TS_ASSERT(Mock::VerifyAndClearExpectations(&presenter_0)); TS_ASSERT(Mock::VerifyAndClearExpectations(&presenter_1)); @@ -141,7 +141,7 @@ public: EXPECT_CALL(presenter_0, getReductionOptions()) .Times(1) - .WillOnce(Return(OptionsMap())); + .WillOnce(Return(OptionsQMap())); EXPECT_CALL(presenter_1, getReductionOptions()).Times(0); EXPECT_CALL(presenter_2, getReductionOptions()).Times(0); presenter.getReductionOptions(0); @@ -152,7 +152,7 @@ public: EXPECT_CALL(presenter_0, getReductionOptions()).Times(0); EXPECT_CALL(presenter_1, getReductionOptions()) .Times(1) - .WillOnce(Return(OptionsMap())); + .WillOnce(Return(OptionsQMap())); EXPECT_CALL(presenter_2, getReductionOptions()).Times(0); presenter.getReductionOptions(1); TS_ASSERT(Mock::VerifyAndClearExpectations(&presenter_0)); @@ -163,7 +163,7 @@ public: EXPECT_CALL(presenter_1, getReductionOptions()).Times(0); EXPECT_CALL(presenter_2, getReductionOptions()) .Times(1) - .WillOnce(Return(OptionsMap())); + .WillOnce(Return(OptionsQMap())); presenter.getReductionOptions(2); TS_ASSERT(Mock::VerifyAndClearExpectations(&presenter_0)); TS_ASSERT(Mock::VerifyAndClearExpectations(&presenter_1)); diff --git a/qt/widgets/common/CMakeLists.txt b/qt/widgets/common/CMakeLists.txt index 231185b2f082cd36eeaaa37cdee056b83641fde2..7a029c9e784f9ae48f0c526a150e7373df561634 100644 --- a/qt/widgets/common/CMakeLists.txt +++ b/qt/widgets/common/CMakeLists.txt @@ -55,6 +55,7 @@ set ( SRC_FILES src/DataProcessorUI/AbstractTreeModel.cpp src/DataProcessorUI/GenerateNotebook.cpp src/DataProcessorUI/OneLevelTreeManager.cpp + src/DataProcessorUI/OptionsMap.cpp src/DataProcessorUI/PostprocessingAlgorithm.cpp src/DataProcessorUI/PreprocessingAlgorithm.cpp src/DataProcessorUI/PreprocessMap.cpp @@ -298,7 +299,8 @@ set ( INC_FILES inc/MantidQtWidgets/Common/DataProcessorUI/OneLevelTreeManager.h inc/MantidQtWidgets/Common/DataProcessorUI/OpenTableCommand.h inc/MantidQtWidgets/Common/DataProcessorUI/OptionsCommand.h - inc/MantidQtWidgets/Common/DataProcessorUI/OptionsMap.h + inc/MantidQtWidgets/Common/DataProcessorUI/OptionsMap.h + inc/MantidQtWidgets/Common/DataProcessorUI/OptionsQMap.h inc/MantidQtWidgets/Common/DataProcessorUI/PasteSelectedCommand.h inc/MantidQtWidgets/Common/DataProcessorUI/PauseCommand.h inc/MantidQtWidgets/Common/DataProcessorUI/PlotGroupCommand.h diff --git a/qt/widgets/common/inc/MantidQtWidgets/Common/DataProcessorUI/DataProcessorMainPresenter.h b/qt/widgets/common/inc/MantidQtWidgets/Common/DataProcessorUI/DataProcessorMainPresenter.h index aa4d18d4214cc0391441b5f9547071808042c25a..d85e8b74d226393feb180a28f84c14b575ede64c 100644 --- a/qt/widgets/common/inc/MantidQtWidgets/Common/DataProcessorUI/DataProcessorMainPresenter.h +++ b/qt/widgets/common/inc/MantidQtWidgets/Common/DataProcessorUI/DataProcessorMainPresenter.h @@ -2,7 +2,7 @@ #define MANTIDQTMANTIDWIDGETS_DATAPROCESSORMAINPRESENTER_H #include "MantidKernel/System.h" -#include "MantidQtWidgets/Common/DataProcessorUI/OptionsMap.h" +#include "MantidQtWidgets/Common/DataProcessorUI/OptionsQMap.h" #include <QSet> #include <QString> @@ -55,13 +55,9 @@ public: } /// Return global options for pre-processing - virtual OptionsMap getPreprocessingOptions() const { return OptionsMap(); } - /// Return global options for pre-processing as a string - virtual QString getPreprocessingOptionsAsString() const { return QString(); } + virtual OptionsQMap getPreprocessingOptions() const { return OptionsQMap(); } /// Return global options for reduction - virtual OptionsMap getProcessingOptions() const { return OptionsMap(); } - /// Return global options for reduction as a string - virtual QString getProcessingOptionsAsString() const { return QString(); } + virtual OptionsQMap getProcessingOptions() const { return OptionsQMap(); } /// Return global options for post-processing as a string virtual QString getPostprocessingOptionsAsString() const { return QString(); } /// Return time-slicing values diff --git a/qt/widgets/common/inc/MantidQtWidgets/Common/DataProcessorUI/GenerateNotebook.h b/qt/widgets/common/inc/MantidQtWidgets/Common/DataProcessorUI/GenerateNotebook.h index b20c4ade5a9f9a25691272f79d7019c382022469..82e5d0f7e605824ca847725d9dc54ad601f3b834 100644 --- a/qt/widgets/common/inc/MantidQtWidgets/Common/DataProcessorUI/GenerateNotebook.h +++ b/qt/widgets/common/inc/MantidQtWidgets/Common/DataProcessorUI/GenerateNotebook.h @@ -121,7 +121,7 @@ private: // hinting line edits OptionsMap m_preprocessingOptionsMap; // Options to reduction algorithm specified in the view via hinting line edit - std::map<QString, QString> m_processingOptions; + OptionsMap m_processingOptions; // Options to post-processing algorithm specified in the view via hinting line // edit }; diff --git a/qt/widgets/common/inc/MantidQtWidgets/Common/DataProcessorUI/MockObjects.h b/qt/widgets/common/inc/MantidQtWidgets/Common/DataProcessorUI/MockObjects.h index 273e5e93ef1f9e7d3d340039c45bac7a545b7fbb..f2a7d90d12841610bdf59cc9424c17c025a601d6 100644 --- a/qt/widgets/common/inc/MantidQtWidgets/Common/DataProcessorUI/MockObjects.h +++ b/qt/widgets/common/inc/MantidQtWidgets/Common/DataProcessorUI/MockObjects.h @@ -109,10 +109,8 @@ public: MOCK_METHOD1(runPythonAlgorithm, QString(const QString &)); // Global options - MOCK_CONST_METHOD0(getPreprocessingOptions, OptionsMap()); - MOCK_CONST_METHOD0(getPreprocessingOptionsAsString, QString()); - MOCK_CONST_METHOD0(getProcessingOptions, OptionsMap()); - MOCK_CONST_METHOD0(getProcessingOptionsAsString, QString()); + MOCK_CONST_METHOD0(getPreprocessingOptions, OptionsQMap()); + MOCK_CONST_METHOD0(getProcessingOptions, OptionsQMap()); MOCK_CONST_METHOD0(getPostprocessingOptionsAsString, QString()); MOCK_CONST_METHOD0(getTimeSlicingOptions, QString()); diff --git a/qt/widgets/common/inc/MantidQtWidgets/Common/DataProcessorUI/OptionsMap.h b/qt/widgets/common/inc/MantidQtWidgets/Common/DataProcessorUI/OptionsMap.h index fe101b7fbda7c0c196ed99b769ea425a18d3ee56..994309e69ca28e3ec8120f4e16a135d3dcbfd03e 100644 --- a/qt/widgets/common/inc/MantidQtWidgets/Common/DataProcessorUI/OptionsMap.h +++ b/qt/widgets/common/inc/MantidQtWidgets/Common/DataProcessorUI/OptionsMap.h @@ -25,6 +25,9 @@ Code Documentation is available at: <http://doxygen.mantidproject.org> */ +#include "MantidKernel/System.h" +#include "MantidQtWidgets/Common/DataProcessorUI/OptionsQMap.h" + #include <QString> #include <map> @@ -32,6 +35,8 @@ namespace MantidQt { namespace MantidWidgets { namespace DataProcessor { using OptionsMap = std::map<QString, QString>; + +OptionsMap DLLExport convertOptionsFromQMap(const OptionsQMap &src); } } } diff --git a/qt/widgets/common/inc/MantidQtWidgets/Common/DataProcessorUI/OptionsQMap.h b/qt/widgets/common/inc/MantidQtWidgets/Common/DataProcessorUI/OptionsQMap.h new file mode 100644 index 0000000000000000000000000000000000000000..e82e898717b6522be60dad227be1e9ef18f0d6d2 --- /dev/null +++ b/qt/widgets/common/inc/MantidQtWidgets/Common/DataProcessorUI/OptionsQMap.h @@ -0,0 +1,38 @@ +#ifndef MANTIDQTMANTIDWIDGETS_DATAPROCESSOROPTIONSQMAP_H +#define MANTIDQTMANTIDWIDGETS_DATAPROCESSOROPTIONSQMAP_H +/** This file defines the OptionsData type alias used by + the DataProcessor widget. + + Copyright © 2017 ISIS Rutherford Appleton Laboratory, NScD Oak Ridge + National Laboratory & European Spallation Source + + This file is part of Mantid. + + Mantid is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + Mantid is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. + + File change history is stored at: <https://github.com/mantidproject/mantid>. + Code Documentation is available at: <http://doxygen.mantidproject.org> + */ + +#include <QString> +#include <QMap> + +namespace MantidQt { +namespace MantidWidgets { +namespace DataProcessor { +using OptionsQMap = QMap<QString, QString>; +} +} +} +#endif // MANTIDQTMANTIDWIDGETS_DATAPROCESSOROPTIONSQMAP_H diff --git a/qt/widgets/common/src/DataProcessorUI/GenericDataProcessorPresenter.cpp b/qt/widgets/common/src/DataProcessorUI/GenericDataProcessorPresenter.cpp index b9f79541ab819c8f2961054c2a32142bd1ad8a6e..6843d7b0703bb5b64c4bef9e87a8d0e492f57ac1 100644 --- a/qt/widgets/common/src/DataProcessorUI/GenericDataProcessorPresenter.cpp +++ b/qt/widgets/common/src/DataProcessorUI/GenericDataProcessorPresenter.cpp @@ -261,8 +261,8 @@ void GenericDataProcessorPresenter::acceptViews( } bool GenericDataProcessorPresenter::areOptionsUpdated() { - auto newPreprocessingOptions = m_mainPresenter->getPreprocessingOptions(); - auto newProcessingOptions = m_mainPresenter->getProcessingOptions(); + auto newPreprocessingOptions = convertOptionsFromQMap(m_mainPresenter->getPreprocessingOptions()); + auto newProcessingOptions = convertOptionsFromQMap(m_mainPresenter->getProcessingOptions()); auto newPostprocessingOptions = m_mainPresenter->getPostprocessingOptionsAsString(); diff --git a/qt/widgets/common/src/DataProcessorUI/OptionsMap.cpp b/qt/widgets/common/src/DataProcessorUI/OptionsMap.cpp new file mode 100644 index 0000000000000000000000000000000000000000..e84a3b71e193e1ded7eb6f907d580fdaac55c1ff --- /dev/null +++ b/qt/widgets/common/src/DataProcessorUI/OptionsMap.cpp @@ -0,0 +1,19 @@ +#include "MantidQtWidgets/Common/DataProcessorUI/OptionsMap.h" +namespace MantidQt { +namespace MantidWidgets { +namespace DataProcessor { + +/** Convert an options map from a QMap to a std::map + * @papram src [in] : the options as a QMap + * @return : the options as a std::map + */ +OptionsMap convertOptionsFromQMap(const OptionsQMap &src) { + OptionsMap dest; + for (auto iter = src.constBegin(); iter != src.constEnd(); ++iter) { + dest[iter.key()] = iter.value(); + } + return dest; +} +} +} +} diff --git a/qt/widgets/common/test/DataProcessorUI/GenericDataProcessorPresenterTest.h b/qt/widgets/common/test/DataProcessorUI/GenericDataProcessorPresenterTest.h index 7daefa18846206278ba9de5bf65dfab390f58c10..aec1a8a8d7e4b75e949526622f589348bda797af 100644 --- a/qt/widgets/common/test/DataProcessorUI/GenericDataProcessorPresenterTest.h +++ b/qt/widgets/common/test/DataProcessorUI/GenericDataProcessorPresenterTest.h @@ -476,10 +476,10 @@ private: } else { EXPECT_CALL(mockMainPresenter, getPreprocessingOptions()) .Times(numTimes) - .WillOnce(Return(OptionsMap())); + .WillOnce(Return(OptionsQMap())); EXPECT_CALL(mockMainPresenter, getProcessingOptions()) .Times(numTimes) - .WillOnce(Return(OptionsMap())); + .WillOnce(Return(OptionsQMap())); EXPECT_CALL(mockMainPresenter, getPostprocessingOptionsAsString()) .Times(numTimes) .WillOnce(Return(QString::fromStdString(postprocessingOptions))); diff --git a/scripts/Interface/ui/dataprocessorinterface/data_processor_gui.py b/scripts/Interface/ui/dataprocessorinterface/data_processor_gui.py index 773f5ea9c9bebd27704473f85a23c8c99c6811d3..5e50208471385c2a3c3ff70dea903127ebfb0c78 100644 --- a/scripts/Interface/ui/dataprocessorinterface/data_processor_gui.py +++ b/scripts/Interface/ui/dataprocessorinterface/data_processor_gui.py @@ -16,8 +16,8 @@ class MainPresenter(MantidQt.MantidWidgets.DataProcessor.DataProcessorMainPresen """ A DataProcessorMainPresenter. The base class provides default implementations but we should re-implement the following methods: - - getPreprocessingOptionsAsString() -- to supply global pre-processing options to the table widget - - getProcessingOptionsAsString() -- to supply global processing options + - getPreprocessingOptions() -- to supply global pre-processing options to the table widget + - getProcessingOptions() -- to supply global processing options - getPostprocessingOptionsAsString() -- to supply global post-processing options - notifyADSChanged() -- to act when the ADS changed, typically we want to update table actions with the list of table workspaces that can be loaded into the interface @@ -31,19 +31,19 @@ class MainPresenter(MantidQt.MantidWidgets.DataProcessor.DataProcessorMainPresen super(MantidQt.MantidWidgets.DataProcessor.DataProcessorMainPresenter, self).__init__() self.gui = gui - def getPreprocessingOptionsAsString(self): + def getPreprocessingOptions(self): """ - Return global pre-processing options as a string. - The string must be a sequence of key=value separated by ','. + Return global pre-processing options as a dict of key:value pairs """ - return "AnalysisMode=PointDetectorAnalysis" + result = {"AnalysisMode":"PointDetectorAnalysis"} + return result - def getProcessingOptionsAsString(self): + def getProcessingOptions(self): """ - Return global processing options as a string. - The string must be a sequence of key=value separated by ','. + Return global processing options as a dict of key:value pairs. """ - return "AnalysisMode=PointDetectorAnalysis, WavelengthMin=1.5" + result = {"AnalysisMode":"PointDetectorAnalysis", "WavelengthMin":"1.5"} + return result def getPostprocessingOptionsAsString(self): """ diff --git a/scripts/Interface/ui/poldi/poldi_gui.py b/scripts/Interface/ui/poldi/poldi_gui.py index 8924bf307a9059c2f664a702795dd4021102f6e0..b1fa9a934e1c8b64a0d3a8312255e4001eea62aa 100644 --- a/scripts/Interface/ui/poldi/poldi_gui.py +++ b/scripts/Interface/ui/poldi/poldi_gui.py @@ -17,8 +17,8 @@ class MainPresenter(MantidQt.MantidWidgets.DataProcessor.DataProcessorMainPresen """ A DataProcessorMainPresenter. The base class provides default implementations but we should re-implement the following methods: - - getPreprocessingOptionsAsString() -- to supply global pre-processing options to the table widget - - getProcessingOptionsAsString() -- to supply global processing options + - getPreprocessingOptions() -- to supply global pre-processing options to the table widget + - getProcessingOptions() -- to supply global processing options - getPostprocessingOptionsAsString() -- to supply global post-processing options - notifyADSChanged() -- to act when the ADS changed, typically we want to update table actions with the list of table workspaces that can be loaded into the interface @@ -32,19 +32,19 @@ class MainPresenter(MantidQt.MantidWidgets.DataProcessor.DataProcessorMainPresen super(MantidQt.MantidWidgets.DataProcessor.DataProcessorMainPresenter, self).__init__() self.gui = gui - def getPreprocessingOptionsAsString(self): + def getPreprocessingOptions(self): """ - Return global pre-processing options as a string. - The string must be a sequence of key=value separated by ','. + Return global pre-processing options as a dict of key:value pairs """ - return "" + empty = {} + return empty - def getProcessingOptionsAsString(self): + def getProcessingOptions(self): """ - Return global processing options as a string. - The string must be a sequence of key=value separated by ','. + Return global processing options as a dict of key:value pairs """ - return "" + empty = {} + return empty def getPostprocessingOptionsAsString(self): """ diff --git a/scripts/SANS/sans/gui_logic/presenter/main_presenter.py b/scripts/SANS/sans/gui_logic/presenter/main_presenter.py index 34d16b69a8cae058ca259a98372fe5b9e9a1107a..3759d4158fec548a94e7158f8dbece2b002737f5 100644 --- a/scripts/SANS/sans/gui_logic/presenter/main_presenter.py +++ b/scripts/SANS/sans/gui_logic/presenter/main_presenter.py @@ -24,8 +24,8 @@ class MainPresenter(MantidQt.MantidWidgets.DataProcessor.DataProcessorMainPresen A DataProcessorMainPresenter. The base class provides default implementations but we should re-implement the following methods: - - getPreprocessingOptionsAsString() -- to supply global pre-processing options to the table widget - - getProcessingOptionsAsString() -- to supply global processing options + - getPreprocessingOptions() -- to supply global pre-processing options to the table widget + - getProcessingOptions() -- to supply global processing options - getPostprocessingOptionsAsString() -- to supply global post-processing options - notifyADSChanged() -- to act when the ADS changed, typically we want to update table actions with the list of table workspaces that can be loaded into the interface @@ -76,7 +76,7 @@ class MainPresenter(MantidQt.MantidWidgets.DataProcessor.DataProcessorMainPresen # ------------------------------------------------------------------------------------------------------------------ # Inherited methods # ------------------------------------------------------------------------------------------------------------------ - def getProcessingOptionsAsString(self): + def getProcessingOptions(self): """ Gets the processing options from the run tab presenter """ @@ -85,8 +85,9 @@ class MainPresenter(MantidQt.MantidWidgets.DataProcessor.DataProcessorMainPresen # ------------------------------------------------------------------------------------------------------------------ # Unused # ------------------------------------------------------------------------------------------------------------------ - def getPreprocessingOptionsAsString(self): - return "" + def getPreprocessingOptions(self): + empty = {} + return empty def getPostprocessingOptionsAsString(self): return "" diff --git a/scripts/SANS/sans/gui_logic/presenter/run_tab_presenter.py b/scripts/SANS/sans/gui_logic/presenter/run_tab_presenter.py index d65e62ea46a6954c44665277b2766aa19b907816..c4c3c479be08153fd3ffead4c07a1d0cadbdaf6b 100644 --- a/scripts/SANS/sans/gui_logic/presenter/run_tab_presenter.py +++ b/scripts/SANS/sans/gui_logic/presenter/run_tab_presenter.py @@ -393,29 +393,22 @@ class RunTabPresenter(object): """ Creates a processing string for the data processor widget - :return: A processing string for the data processor widget + :return: A dict of key:value pairs of processing-algorithm properties and values for the data processor widget """ - global_options = "" + global_options = {} # Check if optimizations should be used - optimization_selection = "UseOptimizations=1" if self._view.use_optimizations else "UseOptimizations=0" - global_options += optimization_selection + global_options['UseOptimizations'] = "1" if self._view.use_optimizations else "0" # Get the output mode output_mode = self._view.output_mode - output_mode_selection = "OutputMode=" + OutputMode.to_string(output_mode) - global_options += "," - global_options += output_mode_selection + global_options['OutputMode'] = OutputMode.to_string(output_mode) # Check if results should be plotted - plot_results_selection = "PlotResults=1" if self._view.plot_results else "PlotResults=0" - global_options += "," - global_options += plot_results_selection + global_options['PlotResults'] = "1" if self._view.plot_results else "0" # Get the name of the graph to output to - output_graph_selection = "OutputGraph={}".format(self.output_graph) - global_options += "," - global_options += output_graph_selection + global_options['OutputGraph'] = "{}".format(self.output_graph) return global_options # ------------------------------------------------------------------------------------------------------------------ diff --git a/scripts/test/SANS/gui_logic/main_presenter_test.py b/scripts/test/SANS/gui_logic/main_presenter_test.py index 4d550e0246751266f2296b0074506d962dfbb6eb..72ce26094394044d9a17b94431dc4e30fdee0ff8 100644 --- a/scripts/test/SANS/gui_logic/main_presenter_test.py +++ b/scripts/test/SANS/gui_logic/main_presenter_test.py @@ -66,7 +66,8 @@ class MainPresenterTest(unittest.TestCase): pre_processing_options = presenter.getProcessingOptionsAsString() # Assert - expected = 'UseOptimizations=1,OutputMode=PublishToADS,PlotResults=1,OutputGraph=SANS-Latest' + expected = {'UseOptimizations':'1','OutputMode':'PublishToADS','PlotResults':'1', \ + 'OutputGraph':'SANS-Latest'} self.assertEqual(expected, pre_processing_options) self.assertFalse(presenter.getPreprocessingOptionsAsString()) self.assertFalse(presenter.getPostprocessingOptionsAsString()) diff --git a/scripts/test/SANS/gui_logic/run_tab_presenter_test.py b/scripts/test/SANS/gui_logic/run_tab_presenter_test.py index fc1ea744da45d884385e60d39a8798b41c267462..0df6a03c637cce004e930794d17e0119ac898374 100644 --- a/scripts/test/SANS/gui_logic/run_tab_presenter_test.py +++ b/scripts/test/SANS/gui_logic/run_tab_presenter_test.py @@ -374,7 +374,7 @@ class RunTabPresenterTest(unittest.TestCase): def test_that_get_processing_options_returns_correct_value(self): batch_file_path, user_file_path, presenter, _ = self._get_files_and_mock_presenter(BATCH_FILE_TEST_CONTENT_1) - expected_result = 'UseOptimizations=1,OutputMode=PublishToADS,PlotResults=1,OutputGraph=SANS-Latest' + expected_result = {'UseOptimizations':'1','OutputMode':'PublishToADS','PlotResults':'1','OutputGraph':'SANS-Latest'} result = presenter.get_processing_options()