diff --git a/qt/scientific_interfaces/ISISReflectometry/GUI/Batch/BatchPresenterFactory.h b/qt/scientific_interfaces/ISISReflectometry/GUI/Batch/BatchPresenterFactory.h index a475849e0ab9732495d0371bcf45c4a90a0cb880..f72b0cd91d20d026b72808a25c193c494455cdf4 100644 --- a/qt/scientific_interfaces/ISISReflectometry/GUI/Batch/BatchPresenterFactory.h +++ b/qt/scientific_interfaces/ISISReflectometry/GUI/Batch/BatchPresenterFactory.h @@ -37,7 +37,7 @@ public: m_instrumentPresenterFactory(std::move(instrumentPresenterFactory)), m_savePresenterFactory(std::move(savePresenterFactory)) {} - std::shared_ptr<IBatchPresenter> make(IBatchView *view) override { + std::unique_ptr<IBatchPresenter> make(IBatchView *view) override { auto runsPresenter = m_runsPresenterFactory.make(view->runs()); auto eventPresenter = m_eventPresenterFactory.make(view->eventHandling()); auto experimentPresenter = @@ -50,7 +50,7 @@ public: experimentPresenter->experiment(), instrumentPresenter->instrument(), runsPresenter->mutableRunsTable(), eventPresenter->slicing()); - return std::make_shared<BatchPresenter>( + return std::make_unique<BatchPresenter>( view, std::move(model), std::move(runsPresenter), std::move(eventPresenter), std::move(experimentPresenter), std::move(instrumentPresenter), std::move(savePresenter)); diff --git a/qt/scientific_interfaces/ISISReflectometry/GUI/Batch/IBatchPresenterFactory.h b/qt/scientific_interfaces/ISISReflectometry/GUI/Batch/IBatchPresenterFactory.h index 3b15e50fba014c79ca5b3039fd34e1d0cc07aa24..275de8fd54e981c45bfc08f0337e14852d123778 100644 --- a/qt/scientific_interfaces/ISISReflectometry/GUI/Batch/IBatchPresenterFactory.h +++ b/qt/scientific_interfaces/ISISReflectometry/GUI/Batch/IBatchPresenterFactory.h @@ -18,7 +18,7 @@ class IBatchView; class IBatchPresenterFactory { public: virtual ~IBatchPresenterFactory() = default; - virtual std::shared_ptr<IBatchPresenter> make(IBatchView *view) = 0; + virtual std::unique_ptr<IBatchPresenter> make(IBatchView *view) = 0; }; } // namespace ISISReflectometry } // namespace CustomInterfaces diff --git a/qt/scientific_interfaces/ISISReflectometry/GUI/Common/Decoder.cpp b/qt/scientific_interfaces/ISISReflectometry/GUI/Common/Decoder.cpp index 7d50cee9c0427bc863609e7969184a7381d8e7f7..42369c090ce4f3d833192b4c6e25e5881a0b2edf 100644 --- a/qt/scientific_interfaces/ISISReflectometry/GUI/Common/Decoder.cpp +++ b/qt/scientific_interfaces/ISISReflectometry/GUI/Common/Decoder.cpp @@ -17,9 +17,9 @@ namespace ISISReflectometry { BatchPresenter *Decoder::findBatchPresenter(const QtBatchView *gui, const QtMainWindowView &mwv) { for (auto &ipresenter : mwv.m_presenter->m_batchPresenters) { - auto presenter = std::dynamic_pointer_cast<BatchPresenter>(ipresenter); + auto presenter = dynamic_cast<BatchPresenter *>(ipresenter.get()); if (presenter->m_view == gui) { - return presenter.get(); + return presenter; } } return nullptr; diff --git a/qt/scientific_interfaces/ISISReflectometry/GUI/Common/Encoder.cpp b/qt/scientific_interfaces/ISISReflectometry/GUI/Common/Encoder.cpp index a637208263710da3b5ba3194633df9317302346b..a15a8cac04157286265fee20a045b6eac7b82b4f 100644 --- a/qt/scientific_interfaces/ISISReflectometry/GUI/Common/Encoder.cpp +++ b/qt/scientific_interfaces/ISISReflectometry/GUI/Common/Encoder.cpp @@ -14,9 +14,9 @@ namespace ISISReflectometry { BatchPresenter *Encoder::findBatchPresenter(const QtBatchView *gui, const QtMainWindowView &mwv) { for (auto &ipresenter : mwv.m_presenter->m_batchPresenters) { - auto presenter = std::dynamic_pointer_cast<BatchPresenter>(ipresenter); + auto presenter = dynamic_cast<BatchPresenter *>(ipresenter.get()); if (presenter->m_view == gui) { - return presenter.get(); + return presenter; } } return nullptr; diff --git a/qt/scientific_interfaces/ISISReflectometry/GUI/MainWindow/MainWindowPresenter.h b/qt/scientific_interfaces/ISISReflectometry/GUI/MainWindow/MainWindowPresenter.h index b95c2a5db954cbd567277ccd1a3b8ec9ccd1f22e..76056df6fb2456df58a36afac78453de355e7f0e 100644 --- a/qt/scientific_interfaces/ISISReflectometry/GUI/MainWindow/MainWindowPresenter.h +++ b/qt/scientific_interfaces/ISISReflectometry/GUI/MainWindow/MainWindowPresenter.h @@ -58,7 +58,7 @@ public: protected: IMainWindowView *m_view; IMessageHandler *m_messageHandler; - std::vector<std::shared_ptr<IBatchPresenter>> m_batchPresenters; + std::vector<std::unique_ptr<IBatchPresenter>> m_batchPresenters; std::unique_ptr<IBatchPresenterFactory> m_batchPresenterFactory; private: diff --git a/qt/scientific_interfaces/test/ISISReflectometry/ReflMockObjects.h b/qt/scientific_interfaces/test/ISISReflectometry/ReflMockObjects.h index 810cbf4b368d81ef5ed4a7b23d283102715da5a8..520b5f20d15a0329b616cdbee21b7d7ea3f294c7 100644 --- a/qt/scientific_interfaces/test/ISISReflectometry/ReflMockObjects.h +++ b/qt/scientific_interfaces/test/ISISReflectometry/ReflMockObjects.h @@ -45,8 +45,8 @@ GNU_DIAG_OFF_SUGGEST_OVERRIDE class MockBatchPresenterFactory : public IBatchPresenterFactory { public: MOCK_METHOD1(makeProxy, IBatchPresenter *(IBatchView *)); - std::shared_ptr<IBatchPresenter> make(IBatchView *view) { - return std::shared_ptr<IBatchPresenter>(makeProxy(view)); + std::unique_ptr<IBatchPresenter> make(IBatchView *view) { + return std::unique_ptr<IBatchPresenter>(makeProxy(view)); } };