From 81cb1ac9b4404471b46cabd60db2c9f07b3c47e4 Mon Sep 17 00:00:00 2001
From: Martyn Gigg <martyn.gigg@stfc.ac.uk>
Date: Wed, 17 Apr 2019 14:58:27 +0100
Subject: [PATCH] Rename LegacyQwt libary to Plotting.

Currently only contains the Qt4 Qwt-based build
Refs #24373
---
 MantidPlot/CMakeLists.txt                     |   2 +-
 MantidPlot/src/ApplicationWindow.cpp          |   2 +-
 MantidPlot/src/AxesDialog.cpp                 |   4 +-
 MantidPlot/src/AxisDetails.cpp                |   4 +-
 MantidPlot/src/Graph.cpp                      |   8 +-
 MantidPlot/src/Graph.h                        |   2 +-
 MantidPlot/src/GridDetails.cpp                |   4 +-
 MantidPlot/src/Mantid/MantidCurve.cpp         |   2 +-
 MantidPlot/src/Mantid/MantidCurve.h           |   2 +-
 MantidPlot/src/Mantid/MantidMDCurve.h         |   2 +-
 MantidPlot/src/Mantid/MantidMatrixCurve.cpp   |   4 +-
 MantidPlot/src/Mantid/MantidUI.h              |   2 +-
 MantidPlot/src/Plot.cpp                       |   4 +-
 MantidPlot/src/Plot3DDialog.cpp               |   2 +-
 MantidPlot/src/PlotCurve.cpp                  |   6 +-
 MantidPlot/src/PlotDialog.cpp                 |   2 +-
 MantidPlot/src/ScaleDetails.cpp               |   4 +-
 MantidPlot/src/ScaleDraw.cpp                  |   2 +-
 MantidPlot/src/Spectrogram.cpp                |   6 +-
 MantidPlot/src/Spectrogram.h                  |   2 +-
 buildconfig/CMake/QtTargetFunctions.cmake     |   6 +-
 .../VatesSimpleGui/ViewWidgets/CMakeLists.txt |   2 +-
 qt/python/mantidqtpython/CMakeLists.txt       |   2 +-
 qt/scientific_interfaces/CMakeLists.txt       |   1 -
 .../DynamicPDF/CMakeLists.txt                 |   2 +-
 .../DynamicPDF/DPDFBackgroundRemover.ui       |   2 +-
 .../DynamicPDF/DPDFDisplayControl.cpp         |   2 +-
 .../DynamicPDF/DPDFFourierTransform.cpp       |   2 +-
 .../DynamicPDF/DPDFFourierTransform.ui        |   2 +-
 .../DynamicPDF/SliceSelector.ui               |   4 +-
 .../EnggDiffraction/CMakeLists.txt            |   2 +-
 .../EnggDiffFittingPresenter.cpp              |   2 +-
 .../EnggDiffFittingViewQtWidget.cpp           |   2 +-
 .../EnggDiffGSASFittingPresenter.cpp          |   2 +-
 ...EnggDiffMultiRunFittingWidgetPresenter.cpp |   2 +-
 .../EnggDiffractionViewQtGUI.h                |   2 +-
 .../General/CMakeLists.txt                    |   4 +-
 .../General/DataComparison.cpp                |   2 +-
 .../General/SampleTransmission.cpp            |   2 +-
 .../General/SampleTransmission.ui             |   2 +-
 .../ISISSANS/CMakeLists.txt                   |   2 +-
 .../ISISSANS/SANSPlotSpecial.cpp              |   2 +-
 .../Indirect/AbsorptionCorrections.h          |   2 +-
 .../Indirect/ApplyAbsorptionCorrections.cpp   |   2 +-
 .../Indirect/ApplyAbsorptionCorrections.ui    |   2 +-
 .../Indirect/CMakeLists.txt                   |   4 +-
 .../Indirect/CalculatePaalmanPings.cpp        |   2 +-
 .../Indirect/ContainerSubtraction.cpp         |   2 +-
 .../Indirect/ContainerSubtraction.ui          |   2 +-
 qt/scientific_interfaces/Indirect/ConvFit.cpp |   4 +-
 .../Indirect/DensityOfStates.cpp              |   2 +-
 qt/scientific_interfaces/Indirect/Elwin.cpp   |   4 +-
 qt/scientific_interfaces/Indirect/Elwin.ui    |   2 +-
 .../Indirect/IIndirectFitDataView.h           |   4 +-
 .../Indirect/ILLEnergyTransfer.cpp            |   2 +-
 .../Indirect/ISISCalibration.h                |   2 +-
 .../Indirect/ISISCalibration.ui               |   2 +-
 .../Indirect/ISISDiagnostics.cpp              |   2 +-
 .../Indirect/ISISDiagnostics.ui               |   2 +-
 .../Indirect/ISISEnergyTransfer.cpp           |   2 +-
 .../Indirect/IndirectBayesTab.cpp             |   4 -
 .../Indirect/IndirectBayesTab.h               |  14 --
 .../Indirect/IndirectDataReduction.ui         |   2 +-
 .../Indirect/IndirectDataReductionTab.h       |  18 +--
 .../Indirect/IndirectDiffractionReduction.ui  |   2 +-
 .../Indirect/IndirectFitDataView.h            |   2 +-
 .../Indirect/IndirectFitPreviewPlot.ui        |   2 +-
 .../Indirect}/IndirectInstrumentConfig.cpp    |   2 +-
 .../Indirect}/IndirectInstrumentConfig.h      |   4 +-
 .../Indirect}/IndirectInstrumentConfig.ui     |   0
 .../Indirect/IndirectLoadILL.ui               |   2 +-
 .../Indirect/IndirectMolDyn.cpp               |   2 +-
 .../Indirect/IndirectMoments.cpp              |   2 +-
 .../Indirect/IndirectMoments.ui               |   2 +-
 .../Indirect/IndirectSassena.cpp              |   2 +-
 .../IndirectSpectrumSelectionPresenter.h      |   2 +-
 .../Indirect/IndirectSpectrumSelectionView.h  |   2 +-
 .../Indirect/IndirectSqw.cpp                  |   2 +-
 .../Indirect/IndirectSqw.ui                   |   4 +-
 .../Indirect/IndirectSymmetrise.ui            |   2 +-
 .../Indirect/IndirectTab.cpp                  |   2 +-
 .../Indirect/IndirectTab.h                    |  13 +-
 .../Indirect/IndirectTransmission.ui          |   2 +-
 .../Indirect/IndirectTransmissionCalc.cpp     |   2 +-
 .../Indirect/IndirectTransmissionCalc.ui      |   2 +-
 qt/scientific_interfaces/Indirect/Iqt.cpp     |   4 +-
 qt/scientific_interfaces/Indirect/Iqt.ui      |   2 +-
 qt/scientific_interfaces/Indirect/IqtFit.cpp  |   4 +-
 qt/scientific_interfaces/Indirect/JumpFit.cpp |   2 +-
 qt/scientific_interfaces/Indirect/MSDFit.cpp  |   4 +-
 qt/scientific_interfaces/Indirect/Quasi.cpp   |   2 +-
 qt/scientific_interfaces/Indirect/Quasi.ui    |   2 +-
 qt/scientific_interfaces/Indirect/ResNorm.cpp |   2 +-
 qt/scientific_interfaces/Indirect/ResNorm.ui  |   2 +-
 qt/scientific_interfaces/Indirect/Stretch.cpp |   2 +-
 qt/scientific_interfaces/Indirect/Stretch.ui  |   2 +-
 .../Indirect/test/CMakeLists.txt              |   2 +-
 .../MultiDatasetFit/CMakeLists.txt            |   2 +-
 .../MultiDatasetFit/MDFDatasetPlotData.cpp    |   2 +-
 .../MultiDatasetFit/MDFFunctionPlotData.cpp   |   2 +-
 .../MultiDatasetFit/MDFPlotController.cpp     |   2 +-
 .../Muon/ALCBaselineModellingPresenter.cpp    |   2 +-
 .../Muon/ALCBaselineModellingView.cpp         |   2 +-
 .../Muon/ALCBaselineModellingView.h           |   2 +-
 .../Muon/ALCDataLoadingPresenter.cpp          |   2 +-
 .../Muon/ALCDataLoadingView.cpp               |   2 +-
 .../Muon/ALCPeakFittingPresenter.cpp          |   2 +-
 .../Muon/ALCPeakFittingView.cpp               |   2 +-
 .../Muon/ALCPeakFittingView.h                 |   2 +-
 qt/scientific_interfaces/Muon/CMakeLists.txt  |   2 +-
 qt/widgets/CMakeLists.txt                     |   2 +-
 qt/widgets/common/CMakeLists.txt              |  13 +-
 .../Common}/UserInputValidator.h              |   0
 .../common/src}/UserInputValidator.cpp        |   2 +-
 .../common}/test/UserInputValidatorTest.h     |   2 +-
 qt/widgets/factory/CMakeLists.txt             |   2 +-
 qt/widgets/instrumentview/CMakeLists.txt      |   2 +-
 .../MantidQtWidgets/InstrumentView/ColorBar.h |   2 +-
 .../MantidQtWidgets/InstrumentView/ColorMap.h |   2 +-
 qt/widgets/instrumentview/src/MiniPlotQwt.cpp |   2 +-
 qt/widgets/legacyqwt/CMakeLists.txt           | 131 -----------------
 .../inc/MantidQtWidgets/LegacyQwt/DllOption.h |  20 ---
 .../MantidQtWidgets/MplCpp/MantidColorMap.h   |   2 +-
 qt/widgets/mplcpp/src/MantidColorMap.cpp      |   2 +-
 qt/widgets/plotting/CMakeLists.txt            | 133 ++++++++++++++++++
 .../inc/MantidQtWidgets/Plotting/DllOption.h  |  20 +++
 .../MantidQtWidgets/Plotting/PreviewPlot.h    |  18 +++
 .../Plotting/Qwt}/ColorBarWidget.h            |   6 +-
 .../Plotting/Qwt}/ColorBarWidget.ui           |   0
 .../Plotting/Qwt}/ContourPreviewPlot.h        |   4 +-
 .../Plotting/Qwt}/ContourPreviewPlot.ui       |   4 +-
 .../Plotting/Qwt}/DisplayCurveFit.h           |   6 +-
 .../Plotting/Qwt}/DisplayCurveFit.ui          |   2 +-
 .../Plotting/Qwt}/DraggableColorBarWidget.h   |   4 +-
 .../Plotting/Qwt}/ErrorCurve.h                |   4 +-
 .../MantidQtWidgets/Plotting/Qwt}/MWView.h    |   4 +-
 .../MantidQtWidgets/Plotting/Qwt}/MWView.ui   |   4 +-
 .../Plotting/Qwt}/MantidColorMap.h            |   4 +-
 .../Plotting/Qwt}/MantidQwtIMDWorkspaceData.h |   6 +-
 .../Plotting/Qwt}/MantidQwtWorkspaceData.h    |   6 +-
 .../Plotting/Qwt}/PeakPicker.h                |   6 +-
 .../Plotting/Qwt}/PowerScaleEngine.h          |   6 +-
 .../Plotting/Qwt}/PreviewPlot.h               |  16 +--
 .../Plotting/Qwt}/PreviewPlot.ui              |   0
 .../MantidQtWidgets/Plotting/Qwt}/QwtHelper.h |  14 +-
 .../Plotting/Qwt}/QwtRasterDataMD.h           |   4 +-
 .../Qwt}/QwtRasterDataMDNonOrthogonal.h       |   6 +-
 .../Plotting/Qwt}/QwtWorkspaceBinData.h       |   6 +-
 .../Plotting/Qwt}/QwtWorkspaceSpectrumData.h  |   6 +-
 .../Plotting/Qwt}/RangeSelector.h             |   4 +-
 .../Plotting/Qwt}/SafeQwtPlot.h               |   5 +-
 .../Plotting/Qwt}/ScaleEngine.h               |   6 +-
 .../Plotting/Qwt}/SignalRange.h               |   4 +-
 .../Plotting/Qwt}/qwt_compat.h                |   0
 .../MantidQtWidgets/Plotting/RangeSelector.h  |  18 +++
 .../src/Qwt}/ColorBarWidget.cpp               |   6 +-
 .../src/Qwt}/ContourPreviewPlot.cpp           |   8 +-
 .../src/Qwt}/DisplayCurveFit.cpp              |   4 +-
 .../src/Qwt}/DraggableColorBarWidget.cpp      |   6 +-
 .../src => plotting/src/Qwt}/ErrorCurve.cpp   |   2 +-
 .../src => plotting/src/Qwt}/MWView.cpp       |   8 +-
 .../src/Qwt}/MantidColorMap.cpp               |   2 +-
 .../src/Qwt}/MantidQwtIMDWorkspaceData.cpp    |   2 +-
 .../src/Qwt}/MantidQwtWorkspaceData.cpp       |   2 +-
 .../src => plotting/src/Qwt}/PeakPicker.cpp   |   2 +-
 .../src/Qwt}/PowerScaleEngine.cpp             |   4 +-
 .../src => plotting/src/Qwt}/PreviewPlot.cpp  |   4 +-
 .../src => plotting/src/Qwt}/QwtHelper.cpp    |   2 +-
 .../src/Qwt}/QwtRasterDataMD.cpp              |   2 +-
 .../src/Qwt}/QwtRasterDataMDNonOrthogonal.cpp |   2 +-
 .../src/Qwt}/QwtWorkspaceBinData.cpp          |   2 +-
 .../src/Qwt}/QwtWorkspaceSpectrumData.cpp     |   2 +-
 .../src/Qwt}/RangeSelector.cpp                |   4 +-
 .../src => plotting/src/Qwt}/SafeQwtPlot.cpp  |   2 +-
 .../src => plotting/src/Qwt}/ScaleEngine.cpp  |   6 +-
 .../src => plotting/src/Qwt}/SignalRange.cpp  |   2 +-
 .../test/ContourPreviewPlotTest.h             |   2 +-
 .../test/MantidColorMapTest.h                 |   2 +-
 .../test/QwtWorkspaceBinDataTest.h            |   2 +-
 .../test/QwtWorkspaceSpectrumDataTest.h       |   2 +-
 .../test/SignalRangeTest.h                    |  42 +++---
 qt/widgets/plugins/designer/CMakeLists.txt    |   2 +-
 .../Designer/PluginCollectionInterface.h      |  10 +-
 qt/widgets/sliceviewer/CMakeLists.txt         |   2 +-
 .../SliceViewer/LinePlotOptions.h             |   2 +-
 .../MantidQtWidgets/SliceViewer/LineViewer.h  |   2 +-
 .../SliceViewer/NonOrthogonalOverlay.h        |   4 +-
 .../MantidQtWidgets/SliceViewer/SliceViewer.h |   6 +-
 .../SliceViewer/SliceViewer.ui                |   4 +-
 qt/widgets/sliceviewer/src/LineViewer.cpp     |   4 +-
 qt/widgets/sliceviewer/src/SliceViewer.cpp    |   4 +-
 qt/widgets/spectrumviewer/CMakeLists.txt      |   2 +-
 .../spectrumviewer/src/SVConnections.cpp      |   2 +-
 193 files changed, 499 insertions(+), 489 deletions(-)
 rename qt/{widgets/common/src => scientific_interfaces/Indirect}/IndirectInstrumentConfig.cpp (99%)
 rename qt/{widgets/common/inc/MantidQtWidgets/Common => scientific_interfaces/Indirect}/IndirectInstrumentConfig.h (98%)
 rename qt/{widgets/common/inc/MantidQtWidgets/Common => scientific_interfaces/Indirect}/IndirectInstrumentConfig.ui (100%)
 rename qt/{scientific_interfaces/General => widgets/common/inc/MantidQtWidgets/Common}/UserInputValidator.h (100%)
 rename qt/{scientific_interfaces/General => widgets/common/src}/UserInputValidator.cpp (99%)
 rename qt/{scientific_interfaces => widgets/common}/test/UserInputValidatorTest.h (98%)
 delete mode 100644 qt/widgets/legacyqwt/CMakeLists.txt
 delete mode 100644 qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/DllOption.h
 create mode 100644 qt/widgets/plotting/CMakeLists.txt
 create mode 100644 qt/widgets/plotting/inc/MantidQtWidgets/Plotting/DllOption.h
 create mode 100644 qt/widgets/plotting/inc/MantidQtWidgets/Plotting/PreviewPlot.h
 rename qt/widgets/{legacyqwt/inc/MantidQtWidgets/LegacyQwt => plotting/inc/MantidQtWidgets/Plotting/Qwt}/ColorBarWidget.h (96%)
 rename qt/widgets/{legacyqwt/inc/MantidQtWidgets/LegacyQwt => plotting/inc/MantidQtWidgets/Plotting/Qwt}/ColorBarWidget.ui (100%)
 rename qt/widgets/{legacyqwt/inc/MantidQtWidgets/LegacyQwt => plotting/inc/MantidQtWidgets/Plotting/Qwt}/ContourPreviewPlot.h (97%)
 rename qt/widgets/{legacyqwt/inc/MantidQtWidgets/LegacyQwt => plotting/inc/MantidQtWidgets/Plotting/Qwt}/ContourPreviewPlot.ui (96%)
 rename qt/widgets/{legacyqwt/inc/MantidQtWidgets/LegacyQwt => plotting/inc/MantidQtWidgets/Plotting/Qwt}/DisplayCurveFit.h (95%)
 rename qt/widgets/{legacyqwt/inc/MantidQtWidgets/LegacyQwt => plotting/inc/MantidQtWidgets/Plotting/Qwt}/DisplayCurveFit.ui (97%)
 rename qt/widgets/{legacyqwt/inc/MantidQtWidgets/LegacyQwt => plotting/inc/MantidQtWidgets/Plotting/Qwt}/DraggableColorBarWidget.h (95%)
 rename qt/widgets/{legacyqwt/inc/MantidQtWidgets/LegacyQwt => plotting/inc/MantidQtWidgets/Plotting/Qwt}/ErrorCurve.h (91%)
 rename qt/widgets/{legacyqwt/inc/MantidQtWidgets/LegacyQwt => plotting/inc/MantidQtWidgets/Plotting/Qwt}/MWView.h (97%)
 rename qt/widgets/{legacyqwt/inc/MantidQtWidgets/LegacyQwt => plotting/inc/MantidQtWidgets/Plotting/Qwt}/MWView.ui (93%)
 rename qt/widgets/{legacyqwt/inc/MantidQtWidgets/LegacyQwt => plotting/inc/MantidQtWidgets/Plotting/Qwt}/MantidColorMap.h (96%)
 rename qt/widgets/{legacyqwt/inc/MantidQtWidgets/LegacyQwt => plotting/inc/MantidQtWidgets/Plotting/Qwt}/MantidQwtIMDWorkspaceData.h (95%)
 rename qt/widgets/{legacyqwt/inc/MantidQtWidgets/LegacyQwt => plotting/inc/MantidQtWidgets/Plotting/Qwt}/MantidQwtWorkspaceData.h (93%)
 rename qt/widgets/{legacyqwt/inc/MantidQtWidgets/LegacyQwt => plotting/inc/MantidQtWidgets/Plotting/Qwt}/PeakPicker.h (91%)
 rename qt/widgets/{legacyqwt/inc/MantidQtWidgets/LegacyQwt => plotting/inc/MantidQtWidgets/Plotting/Qwt}/PowerScaleEngine.h (95%)
 rename qt/widgets/{legacyqwt/inc/MantidQtWidgets/LegacyQwt => plotting/inc/MantidQtWidgets/Plotting/Qwt}/PreviewPlot.h (92%)
 rename qt/widgets/{legacyqwt/inc/MantidQtWidgets/LegacyQwt => plotting/inc/MantidQtWidgets/Plotting/Qwt}/PreviewPlot.ui (100%)
 rename qt/widgets/{legacyqwt/inc/MantidQtWidgets/LegacyQwt => plotting/inc/MantidQtWidgets/Plotting/Qwt}/QwtHelper.h (77%)
 rename qt/widgets/{legacyqwt/inc/MantidQtWidgets/LegacyQwt => plotting/inc/MantidQtWidgets/Plotting/Qwt}/QwtRasterDataMD.h (96%)
 rename qt/widgets/{legacyqwt/inc/MantidQtWidgets/LegacyQwt => plotting/inc/MantidQtWidgets/Plotting/Qwt}/QwtRasterDataMDNonOrthogonal.h (88%)
 rename qt/widgets/{legacyqwt/inc/MantidQtWidgets/LegacyQwt => plotting/inc/MantidQtWidgets/Plotting/Qwt}/QwtWorkspaceBinData.h (93%)
 rename qt/widgets/{legacyqwt/inc/MantidQtWidgets/LegacyQwt => plotting/inc/MantidQtWidgets/Plotting/Qwt}/QwtWorkspaceSpectrumData.h (95%)
 rename qt/widgets/{legacyqwt/inc/MantidQtWidgets/LegacyQwt => plotting/inc/MantidQtWidgets/Plotting/Qwt}/RangeSelector.h (96%)
 rename qt/widgets/{legacyqwt/inc/MantidQtWidgets/LegacyQwt => plotting/inc/MantidQtWidgets/Plotting/Qwt}/SafeQwtPlot.h (90%)
 rename qt/widgets/{legacyqwt/inc/MantidQtWidgets/LegacyQwt => plotting/inc/MantidQtWidgets/Plotting/Qwt}/ScaleEngine.h (96%)
 rename qt/widgets/{legacyqwt/inc/MantidQtWidgets/LegacyQwt => plotting/inc/MantidQtWidgets/Plotting/Qwt}/SignalRange.h (94%)
 rename qt/widgets/{legacyqwt/inc/MantidQtWidgets/LegacyQwt => plotting/inc/MantidQtWidgets/Plotting/Qwt}/qwt_compat.h (100%)
 create mode 100644 qt/widgets/plotting/inc/MantidQtWidgets/Plotting/RangeSelector.h
 rename qt/widgets/{legacyqwt/src => plotting/src/Qwt}/ColorBarWidget.cpp (98%)
 rename qt/widgets/{legacyqwt/src => plotting/src/Qwt}/ContourPreviewPlot.cpp (98%)
 rename qt/widgets/{legacyqwt/src => plotting/src/Qwt}/DisplayCurveFit.cpp (98%)
 rename qt/widgets/{legacyqwt/src => plotting/src/Qwt}/DraggableColorBarWidget.cpp (98%)
 rename qt/widgets/{legacyqwt/src => plotting/src/Qwt}/ErrorCurve.cpp (98%)
 rename qt/widgets/{legacyqwt/src => plotting/src/Qwt}/MWView.cpp (98%)
 rename qt/widgets/{legacyqwt/src => plotting/src/Qwt}/MantidColorMap.cpp (99%)
 rename qt/widgets/{legacyqwt/src => plotting/src/Qwt}/MantidQwtIMDWorkspaceData.cpp (99%)
 rename qt/widgets/{legacyqwt/src => plotting/src/Qwt}/MantidQwtWorkspaceData.cpp (98%)
 rename qt/widgets/{legacyqwt/src => plotting/src/Qwt}/PeakPicker.cpp (98%)
 rename qt/widgets/{legacyqwt/src => plotting/src/Qwt}/PowerScaleEngine.cpp (98%)
 rename qt/widgets/{legacyqwt/src => plotting/src/Qwt}/PreviewPlot.cpp (99%)
 rename qt/widgets/{legacyqwt/src => plotting/src/Qwt}/QwtHelper.cpp (98%)
 rename qt/widgets/{legacyqwt/src => plotting/src/Qwt}/QwtRasterDataMD.cpp (99%)
 rename qt/widgets/{legacyqwt/src => plotting/src/Qwt}/QwtRasterDataMDNonOrthogonal.cpp (98%)
 rename qt/widgets/{legacyqwt/src => plotting/src/Qwt}/QwtWorkspaceBinData.cpp (98%)
 rename qt/widgets/{legacyqwt/src => plotting/src/Qwt}/QwtWorkspaceSpectrumData.cpp (98%)
 rename qt/widgets/{legacyqwt/src => plotting/src/Qwt}/RangeSelector.cpp (99%)
 rename qt/widgets/{legacyqwt/src => plotting/src/Qwt}/SafeQwtPlot.cpp (97%)
 rename qt/widgets/{legacyqwt/src => plotting/src/Qwt}/ScaleEngine.cpp (98%)
 rename qt/widgets/{legacyqwt/src => plotting/src/Qwt}/SignalRange.cpp (98%)
 rename qt/widgets/{legacyqwt => plotting}/test/ContourPreviewPlotTest.h (97%)
 rename qt/widgets/{legacyqwt => plotting}/test/MantidColorMapTest.h (97%)
 rename qt/widgets/{legacyqwt => plotting}/test/QwtWorkspaceBinDataTest.h (97%)
 rename qt/widgets/{legacyqwt => plotting}/test/QwtWorkspaceSpectrumDataTest.h (97%)
 rename qt/widgets/{legacyqwt => plotting}/test/SignalRangeTest.h (85%)

diff --git a/MantidPlot/CMakeLists.txt b/MantidPlot/CMakeLists.txt
index 7d198a78cc3..1073fef7c28 100644
--- a/MantidPlot/CMakeLists.txt
+++ b/MantidPlot/CMakeLists.txt
@@ -816,7 +816,7 @@ target_link_libraries(MantidPlot
                       ${CORE_MANTIDLIBS}
                       PythonInterfaceCore
                       MantidQtWidgetsCommonQt4
-                      MantidQtWidgetsLegacyQwtQt4
+                      MantidQtWidgetsPlottingQt4
                       MantidQtWidgetsFactoryQt4
                       MantidQtWidgetsInstrumentViewQt4
                       MantidQtWidgetsSliceViewerQt4
diff --git a/MantidPlot/src/ApplicationWindow.cpp b/MantidPlot/src/ApplicationWindow.cpp
index c0edcdb8ef8..b86fdc299b2 100644
--- a/MantidPlot/src/ApplicationWindow.cpp
+++ b/MantidPlot/src/ApplicationWindow.cpp
@@ -73,7 +73,7 @@
 #include "LineDialog.h"
 #include "LogisticFit.h"
 #include "MantidQtWidgets/Common/TSVSerialiser.h"
-#include "MantidQtWidgets/LegacyQwt/ScaleEngine.h"
+#include "MantidQtWidgets/Plotting/Qwt/ScaleEngine.h"
 #include "MatrixCommand.h"
 #include "MatrixDialog.h"
 #include "MatrixModel.h"
diff --git a/MantidPlot/src/AxesDialog.cpp b/MantidPlot/src/AxesDialog.cpp
index f904ae0dc2c..8548910e072 100644
--- a/MantidPlot/src/AxesDialog.cpp
+++ b/MantidPlot/src/AxesDialog.cpp
@@ -33,7 +33,7 @@ Description          : General plot options dialog
 #include "Graph.h"
 #include "Grid.h"
 #include "MantidQtWidgets/Common/DoubleSpinBox.h"
-#include "MantidQtWidgets/LegacyQwt/qwt_compat.h"
+#include "MantidQtWidgets/Plotting/Qwt/qwt_compat.h"
 #include "MyParser.h"
 #include "Plot.h"
 #include "ScaleDraw.h"
@@ -63,7 +63,7 @@ Description          : General plot options dialog
 #include <QTimeEdit>
 #include <QVector>
 
-#include "MantidQtWidgets/LegacyQwt/ScaleEngine.h"
+#include "MantidQtWidgets/Plotting/Qwt/ScaleEngine.h"
 #include <qwt_plot.h>
 #include <qwt_scale_widget.h>
 
diff --git a/MantidPlot/src/AxisDetails.cpp b/MantidPlot/src/AxisDetails.cpp
index 01359414111..a4f20dc0234 100644
--- a/MantidPlot/src/AxisDetails.cpp
+++ b/MantidPlot/src/AxisDetails.cpp
@@ -11,8 +11,8 @@
 #include "AxisDetails.h"
 #include "ApplicationWindow.h"
 #include "MantidQtWidgets/Common/DoubleSpinBox.h"
-#include "MantidQtWidgets/LegacyQwt/ScaleEngine.h"
-#include "MantidQtWidgets/LegacyQwt/qwt_compat.h"
+#include "MantidQtWidgets/Plotting/Qwt/ScaleEngine.h"
+#include "MantidQtWidgets/Plotting/Qwt/qwt_compat.h"
 #include "MyParser.h"
 #include "Plot.h"
 #include <qwt_scale_widget.h>
diff --git a/MantidPlot/src/Graph.cpp b/MantidPlot/src/Graph.cpp
index e08d3d80520..9ceaaef53e7 100644
--- a/MantidPlot/src/Graph.cpp
+++ b/MantidPlot/src/Graph.cpp
@@ -28,8 +28,8 @@
  *                                                                         *
  ***************************************************************************/
 
-#include "MantidQtWidgets/LegacyQwt/ScaleEngine.h"
-#include "MantidQtWidgets/LegacyQwt/qwt_compat.h"
+#include "MantidQtWidgets/Plotting/Qwt/ScaleEngine.h"
+#include "MantidQtWidgets/Plotting/Qwt/qwt_compat.h"
 #include <QVarLengthArray>
 
 #include "ApplicationWindow.h"
@@ -65,8 +65,8 @@
 #include "MantidAPI/AnalysisDataService.h"
 #include "MantidKernel/Strings.h"
 #include "MantidQtWidgets/Common/PlotAxis.h"
-#include "MantidQtWidgets/LegacyQwt/QwtRasterDataMD.h"
-#include "MantidQtWidgets/LegacyQwt/QwtWorkspaceSpectrumData.h"
+#include "MantidQtWidgets/Plotting/Qwt/QwtRasterDataMD.h"
+#include "MantidQtWidgets/Plotting/Qwt/QwtWorkspaceSpectrumData.h"
 
 #include "MantidQtWidgets/Common/TSVSerialiser.h"
 
diff --git a/MantidPlot/src/Graph.h b/MantidPlot/src/Graph.h
index b93f8f45805..160293e199c 100644
--- a/MantidPlot/src/Graph.h
+++ b/MantidPlot/src/Graph.h
@@ -49,7 +49,7 @@
 #endif
 #include "AxesDialog.h"
 #include "MantidQtWidgets/Common/GraphOptions.h"
-#include "MantidQtWidgets/LegacyQwt/ScaleEngine.h"
+#include "MantidQtWidgets/Plotting/Qwt/ScaleEngine.h"
 #include "MultiLayer.h"
 #include "Plot.h"
 #include "PlotToolInterface.h"
diff --git a/MantidPlot/src/GridDetails.cpp b/MantidPlot/src/GridDetails.cpp
index 0c8545378e6..24999f72860 100644
--- a/MantidPlot/src/GridDetails.cpp
+++ b/MantidPlot/src/GridDetails.cpp
@@ -13,8 +13,8 @@
 #include <qwt_scale_widget.h>
 //#include <qwt_plot.h>
 #include "MantidQtWidgets/Common/DoubleSpinBox.h"
-#include "MantidQtWidgets/LegacyQwt/ScaleEngine.h"
-#include "MantidQtWidgets/LegacyQwt/qwt_compat.h"
+#include "MantidQtWidgets/Plotting/Qwt/ScaleEngine.h"
+#include "MantidQtWidgets/Plotting/Qwt/qwt_compat.h"
 #include "Plot.h"
 
 #include <ColorBox.h>
diff --git a/MantidPlot/src/Mantid/MantidCurve.cpp b/MantidPlot/src/Mantid/MantidCurve.cpp
index 3fee2e4262f..de736b265a4 100644
--- a/MantidPlot/src/Mantid/MantidCurve.cpp
+++ b/MantidPlot/src/Mantid/MantidCurve.cpp
@@ -10,7 +10,7 @@
 #include <qwt_symbol.h>
 
 #include "MantidAPI/AnalysisDataService.h"
-#include "MantidQtWidgets/LegacyQwt/MantidQwtWorkspaceData.h"
+#include "MantidQtWidgets/Plotting/Qwt/MantidQwtWorkspaceData.h"
 
 #include "../ApplicationWindow.h"
 #include "../Graph.h"
diff --git a/MantidPlot/src/Mantid/MantidCurve.h b/MantidPlot/src/Mantid/MantidCurve.h
index 8d79c4ae289..d3324a20aa9 100644
--- a/MantidPlot/src/Mantid/MantidCurve.h
+++ b/MantidPlot/src/Mantid/MantidCurve.h
@@ -10,7 +10,7 @@
 #include "../PlotCurve.h"
 #include "MantidAPI/Workspace_fwd.h"
 #include "MantidQtWidgets/Common/WorkspaceObserver.h"
-#include "MantidQtWidgets/LegacyQwt/MantidQwtWorkspaceData.h"
+#include "MantidQtWidgets/Plotting/Qwt/MantidQwtWorkspaceData.h"
 
 class Graph;
 class ErrorBarSettings;
diff --git a/MantidPlot/src/Mantid/MantidMDCurve.h b/MantidPlot/src/Mantid/MantidMDCurve.h
index 0bc5c6d3d3b..d3d1cbcd399 100644
--- a/MantidPlot/src/Mantid/MantidMDCurve.h
+++ b/MantidPlot/src/Mantid/MantidMDCurve.h
@@ -9,7 +9,7 @@
 
 #include "MantidAPI/IMDWorkspace.h"
 #include "MantidCurve.h"
-#include "MantidQtWidgets/LegacyQwt/MantidQwtIMDWorkspaceData.h"
+#include "MantidQtWidgets/Plotting/Qwt/MantidQwtIMDWorkspaceData.h"
 #include <boost/shared_ptr.hpp>
 
 // Forward definitions
diff --git a/MantidPlot/src/Mantid/MantidMatrixCurve.cpp b/MantidPlot/src/Mantid/MantidMatrixCurve.cpp
index 4280e398c0f..7d0aa76c673 100644
--- a/MantidPlot/src/Mantid/MantidMatrixCurve.cpp
+++ b/MantidPlot/src/Mantid/MantidMatrixCurve.cpp
@@ -13,8 +13,8 @@
 #include "MantidAPI/Axis.h"
 #include "MantidAPI/MatrixWorkspace.h"
 
-#include "MantidQtWidgets/LegacyQwt/QwtWorkspaceBinData.h"
-#include "MantidQtWidgets/LegacyQwt/QwtWorkspaceSpectrumData.h"
+#include "MantidQtWidgets/Plotting/Qwt/QwtWorkspaceBinData.h"
+#include "MantidQtWidgets/Plotting/Qwt/QwtWorkspaceSpectrumData.h"
 
 #include "../ApplicationWindow.h"
 #include "../Graph.h"
diff --git a/MantidPlot/src/Mantid/MantidUI.h b/MantidPlot/src/Mantid/MantidUI.h
index e874cd3eb9b..93f5ce9ddb6 100644
--- a/MantidPlot/src/Mantid/MantidUI.h
+++ b/MantidPlot/src/Mantid/MantidUI.h
@@ -28,7 +28,7 @@
 
 #include "MantidQtWidgets/Common/AlgorithmDialog.h"
 #include "MantidQtWidgets/Common/MantidAlgorithmMetatype.h"
-#include "MantidQtWidgets/LegacyQwt/QwtWorkspaceSpectrumData.h"
+#include "MantidQtWidgets/Plotting/Qwt/QwtWorkspaceSpectrumData.h"
 
 #include "MantidPlotUtilities.h"
 
diff --git a/MantidPlot/src/Plot.cpp b/MantidPlot/src/Plot.cpp
index a5847175b1f..7af1aa6c265 100644
--- a/MantidPlot/src/Plot.cpp
+++ b/MantidPlot/src/Plot.cpp
@@ -31,8 +31,8 @@
 #include "Graph.h"
 #include "Grid.h"
 #include "LegendWidget.h"
-#include "MantidQtWidgets/LegacyQwt/ScaleEngine.h"
-#include "MantidQtWidgets/LegacyQwt/qwt_compat.h"
+#include "MantidQtWidgets/Plotting/Qwt/ScaleEngine.h"
+#include "MantidQtWidgets/Plotting/Qwt/qwt_compat.h"
 #include "PlotCurve.h"
 #include "ScaleDraw.h"
 #include "Spectrogram.h"
diff --git a/MantidPlot/src/Plot3DDialog.cpp b/MantidPlot/src/Plot3DDialog.cpp
index fc28c236dd6..44e1cac3beb 100644
--- a/MantidPlot/src/Plot3DDialog.cpp
+++ b/MantidPlot/src/Plot3DDialog.cpp
@@ -41,7 +41,7 @@
 #include <QWidgetList>
 
 #include "MantidKernel/ConfigService.h"
-#include "MantidQtWidgets/LegacyQwt/MantidColorMap.h"
+#include "MantidQtWidgets/Plotting/Qwt/MantidColorMap.h"
 #include <qwt3d_color.h>
 
 using Mantid::Kernel::ConfigService;
diff --git a/MantidPlot/src/PlotCurve.cpp b/MantidPlot/src/PlotCurve.cpp
index bcae3c9eb1b..a18fdce95ee 100644
--- a/MantidPlot/src/PlotCurve.cpp
+++ b/MantidPlot/src/PlotCurve.cpp
@@ -32,9 +32,9 @@
 #include "Mantid/ErrorBarSettings.h"
 #include "MantidAPI/AnalysisDataService.h"
 #include "MantidAPI/MatrixWorkspace.h"
-#include "MantidQtWidgets/LegacyQwt/QwtWorkspaceBinData.h"
-#include "MantidQtWidgets/LegacyQwt/QwtWorkspaceSpectrumData.h"
-#include "MantidQtWidgets/LegacyQwt/ScaleEngine.h"
+#include "MantidQtWidgets/Plotting/Qwt/QwtWorkspaceBinData.h"
+#include "MantidQtWidgets/Plotting/Qwt/QwtWorkspaceSpectrumData.h"
+#include "MantidQtWidgets/Plotting/Qwt/ScaleEngine.h"
 #include "PatternBox.h"
 #include "ScaleDraw.h"
 #include "SymbolBox.h"
diff --git a/MantidPlot/src/PlotDialog.cpp b/MantidPlot/src/PlotDialog.cpp
index aa78aa019dc..e67d27b1de4 100644
--- a/MantidPlot/src/PlotDialog.cpp
+++ b/MantidPlot/src/PlotDialog.cpp
@@ -49,7 +49,7 @@
 #include <MantidQtWidgets/Common/pixmaps.h>
 
 #include "MantidKernel/ConfigService.h"
-#include "MantidQtWidgets/LegacyQwt/MantidColorMap.h"
+#include "MantidQtWidgets/Plotting/Qwt/MantidColorMap.h"
 #include <QCheckBox>
 #include <QComboBox>
 #include <QDateTime>
diff --git a/MantidPlot/src/ScaleDetails.cpp b/MantidPlot/src/ScaleDetails.cpp
index b5e3889c4ab..a8646fb5210 100644
--- a/MantidPlot/src/ScaleDetails.cpp
+++ b/MantidPlot/src/ScaleDetails.cpp
@@ -12,8 +12,8 @@
 #include "ApplicationWindow.h"
 #include "MantidQtWidgets/Common/DoubleSpinBox.h"
 
-#include "MantidQtWidgets/LegacyQwt/ScaleEngine.h"
-#include "MantidQtWidgets/LegacyQwt/qwt_compat.h"
+#include "MantidQtWidgets/Plotting/Qwt/ScaleEngine.h"
+#include "MantidQtWidgets/Plotting/Qwt/qwt_compat.h"
 #include "Plot.h"
 
 #include "MantidKernel/Logger.h"
diff --git a/MantidPlot/src/ScaleDraw.cpp b/MantidPlot/src/ScaleDraw.cpp
index 3ddc53b4f18..66a2ded1310 100644
--- a/MantidPlot/src/ScaleDraw.cpp
+++ b/MantidPlot/src/ScaleDraw.cpp
@@ -17,7 +17,7 @@
  ***************************************************************************/
 #include "ScaleDraw.h"
 #include "Graph.h"
-#include "MantidQtWidgets/LegacyQwt/ScaleEngine.h"
+#include "MantidQtWidgets/Plotting/Qwt/ScaleEngine.h"
 #include "MyParser.h"
 
 #include <QPainter>
diff --git a/MantidPlot/src/Spectrogram.cpp b/MantidPlot/src/Spectrogram.cpp
index c97cf47309f..161ac1242d4 100644
--- a/MantidPlot/src/Spectrogram.cpp
+++ b/MantidPlot/src/Spectrogram.cpp
@@ -26,7 +26,7 @@
  *                                                                         *
  ***************************************************************************/
 #include "Spectrogram.h"
-#include "MantidQtWidgets/LegacyQwt/qwt_compat.h"
+#include "MantidQtWidgets/Plotting/Qwt/qwt_compat.h"
 #include <QColor>
 #include <QPainter>
 #include <QPen>
@@ -43,8 +43,8 @@
 #include "MantidKernel/Strings.h"
 #include "MantidKernel/make_unique.h"
 #include "MantidQtWidgets/Common/PlotAxis.h"
-#include "MantidQtWidgets/LegacyQwt/QwtRasterDataMD.h"
-#include "MantidQtWidgets/LegacyQwt/SignalRange.h"
+#include "MantidQtWidgets/Plotting/Qwt/QwtRasterDataMD.h"
+#include "MantidQtWidgets/Plotting/Qwt/SignalRange.h"
 
 #include "MantidQtWidgets/Common/TSVSerialiser.h"
 
diff --git a/MantidPlot/src/Spectrogram.h b/MantidPlot/src/Spectrogram.h
index a3ef8acc9f0..fee08702411 100644
--- a/MantidPlot/src/Spectrogram.h
+++ b/MantidPlot/src/Spectrogram.h
@@ -42,7 +42,7 @@
 #include "MantidAPI/IMDWorkspace.h"
 #include "MantidQtWidgets/Common/WorkspaceObserver.h"
 #include "MantidQtWidgets/InstrumentView/InstrumentWidget.h"
-#include "MantidQtWidgets/LegacyQwt/MantidColorMap.h"
+#include "MantidQtWidgets/Plotting/Qwt/MantidColorMap.h"
 
 #include <QPainter>
 #include <boost/shared_ptr.hpp>
diff --git a/buildconfig/CMake/QtTargetFunctions.cmake b/buildconfig/CMake/QtTargetFunctions.cmake
index e34bce07227..3b8cdcf195e 100644
--- a/buildconfig/CMake/QtTargetFunctions.cmake
+++ b/buildconfig/CMake/QtTargetFunctions.cmake
@@ -159,9 +159,11 @@ function (mtd_add_qt_target)
   endif()
 
   if (PARSED_LIBRARY)
-    add_library (${_target} ${_target_exclude_from_all} ${ALL_SRC} ${UI_HEADERS} ${PARSED_NOMOC} ${RES_FILES})
+    add_library (${_target} ${_target_exclude_from_all} ${ALL_SRC} ${UI_HEADERS}
+      ${PARSED_MOC} ${PARSED_NOMOC} ${RES_FILES})
   elseif (PARSED_EXECUTABLE)
-    add_executable (${_target} ${_target_exclude_from_all} ${ALL_SRC} ${UI_HEADERS} ${PARSED_NOMOC} ${RES_FILES})
+    add_executable (${_target} ${_target_exclude_from_all} ${ALL_SRC} ${UI_HEADERS}
+      ${PARSED_NOMOC} ${PARSED_NOMOC} ${RES_FILES})
   else ()
     message (FATAL_ERROR "Unknown target type. Options=LIBRARY,EXECUTABLE")
   endif()
diff --git a/qt/paraview_ext/VatesSimpleGui/ViewWidgets/CMakeLists.txt b/qt/paraview_ext/VatesSimpleGui/ViewWidgets/CMakeLists.txt
index 7bfcd02b630..30a1361721e 100644
--- a/qt/paraview_ext/VatesSimpleGui/ViewWidgets/CMakeLists.txt
+++ b/qt/paraview_ext/VatesSimpleGui/ViewWidgets/CMakeLists.txt
@@ -121,7 +121,7 @@ mtd_add_qt_library(
 	Qwt5
   MTD_QT_LINK_LIBS
 	MantidQtWidgetsCommon
-	MantidQtWidgetsLegacyQwt
+	MantidQtWidgetsPlotting
 	VatesSimpleGuiQtWidgets
 	MantidQtWidgetsFactory
 	MantidQtWidgetsSliceViewer
diff --git a/qt/python/mantidqtpython/CMakeLists.txt b/qt/python/mantidqtpython/CMakeLists.txt
index ca1c9d89ed8..6422f10fe9e 100644
--- a/qt/python/mantidqtpython/CMakeLists.txt
+++ b/qt/python/mantidqtpython/CMakeLists.txt
@@ -95,7 +95,7 @@ mtd_add_sip_module(MODULE_NAME mantidqtpython
                    LINK_LIBS
                      ${TCMALLOC_LIBRARIES_LINKTIME}
                      MantidQtWidgetsCommonQt4
-                     MantidQtWidgetsLegacyQwtQt4
+                     MantidQtWidgetsPlottingQt4
                      MantidQtWidgetsSliceViewerQt4
                      MantidQtWidgetsFactoryQt4
                      MantidQtWidgetsRefDetectorViewQt4
diff --git a/qt/scientific_interfaces/CMakeLists.txt b/qt/scientific_interfaces/CMakeLists.txt
index bf24f52fec6..c2fa584c50f 100644
--- a/qt/scientific_interfaces/CMakeLists.txt
+++ b/qt/scientific_interfaces/CMakeLists.txt
@@ -58,7 +58,6 @@ set ( TEST_FILES
   test/ReflSettingsPresenterTest.h
   test/ReflSettingsTabPresenterTest.h
   test/RunMapTest.h
-  test/UserInputValidatorTest.h
 )
 
 mtd_add_qt_tests (TARGET_NAME MantidQtScientificInterfacesTest
diff --git a/qt/scientific_interfaces/DynamicPDF/CMakeLists.txt b/qt/scientific_interfaces/DynamicPDF/CMakeLists.txt
index b66aa17016b..152711fe205 100644
--- a/qt/scientific_interfaces/DynamicPDF/CMakeLists.txt
+++ b/qt/scientific_interfaces/DynamicPDF/CMakeLists.txt
@@ -61,7 +61,7 @@ mtd_add_qt_library (TARGET_NAME MantidScientificInterfacesDynamicPDF
     Qwt5
   MTD_QT_LINK_LIBS
     MantidQtWidgetsCommon
-    MantidQtWidgetsLegacyQwt
+    MantidQtWidgetsPlotting
   INSTALL_DIR_BASE
     ${PLUGINS_DIR}
   OSX_INSTALL_RPATH
diff --git a/qt/scientific_interfaces/DynamicPDF/DPDFBackgroundRemover.ui b/qt/scientific_interfaces/DynamicPDF/DPDFBackgroundRemover.ui
index de63f42d2c0..a5eb9cb9093 100644
--- a/qt/scientific_interfaces/DynamicPDF/DPDFBackgroundRemover.ui
+++ b/qt/scientific_interfaces/DynamicPDF/DPDFBackgroundRemover.ui
@@ -245,7 +245,7 @@
   <customwidget>
    <class>MantidQt::MantidWidgets::DisplayCurveFit</class>
    <extends>QWidget</extends>
-   <header>MantidQtWidgets/LegacyQwt/DisplayCurveFit.h</header>
+   <header>MantidQtWidgets/Plotting/Qwt/DisplayCurveFit.h</header>
    <container>1</container>
   </customwidget>
   <customwidget>
diff --git a/qt/scientific_interfaces/DynamicPDF/DPDFDisplayControl.cpp b/qt/scientific_interfaces/DynamicPDF/DPDFDisplayControl.cpp
index a31163d0f08..2886ccb8e43 100644
--- a/qt/scientific_interfaces/DynamicPDF/DPDFDisplayControl.cpp
+++ b/qt/scientific_interfaces/DynamicPDF/DPDFDisplayControl.cpp
@@ -14,7 +14,7 @@
 #include "MantidAPI/AnalysisDataService.h"
 #include "MantidAPI/MatrixWorkspace.h"
 #include "MantidKernel/Exception.h"
-#include "MantidQtWidgets/LegacyQwt/DisplayCurveFit.h"
+#include "MantidQtWidgets/Plotting/Qwt/DisplayCurveFit.h"
 
 namespace {
 Mantid::Kernel::Logger g_log("DynamicPDF");
diff --git a/qt/scientific_interfaces/DynamicPDF/DPDFFourierTransform.cpp b/qt/scientific_interfaces/DynamicPDF/DPDFFourierTransform.cpp
index 23aa5febbcc..154d07a9b6f 100644
--- a/qt/scientific_interfaces/DynamicPDF/DPDFFourierTransform.cpp
+++ b/qt/scientific_interfaces/DynamicPDF/DPDFFourierTransform.cpp
@@ -17,7 +17,7 @@
 #include "MantidQtWidgets/Common/AlgorithmRunner.h"
 #include "MantidQtWidgets/Common/QtPropertyBrowser/qtpropertymanager.h"
 #include "MantidQtWidgets/Common/QtPropertyBrowser/qttreepropertybrowser.h"
-#include "MantidQtWidgets/LegacyQwt/RangeSelector.h"
+#include "MantidQtWidgets/Plotting/RangeSelector.h"
 // 3rd party library headers
 #include <QMessageBox>
 
diff --git a/qt/scientific_interfaces/DynamicPDF/DPDFFourierTransform.ui b/qt/scientific_interfaces/DynamicPDF/DPDFFourierTransform.ui
index 31c4dc6aad9..2fb13927155 100644
--- a/qt/scientific_interfaces/DynamicPDF/DPDFFourierTransform.ui
+++ b/qt/scientific_interfaces/DynamicPDF/DPDFFourierTransform.ui
@@ -61,7 +61,7 @@
   <customwidget>
    <class>MantidQt::MantidWidgets::PreviewPlot</class>
    <extends>QWidget</extends>
-   <header>MantidQtWidgets/LegacyQwt/PreviewPlot.h</header>
+   <header>MantidQtWidgets/Plotting/PreviewPlot.h</header>
    <container>1</container>
   </customwidget>
  </customwidgets>
diff --git a/qt/scientific_interfaces/DynamicPDF/SliceSelector.ui b/qt/scientific_interfaces/DynamicPDF/SliceSelector.ui
index 87bee7b41be..b97b2bd2205 100644
--- a/qt/scientific_interfaces/DynamicPDF/SliceSelector.ui
+++ b/qt/scientific_interfaces/DynamicPDF/SliceSelector.ui
@@ -229,7 +229,7 @@
   <customwidget>
    <class>MantidQt::MantidWidgets::MWView</class>
    <extends>QWidget</extends>
-   <header>MantidQtWidgets/LegacyQwt/MWView.h</header>
+   <header>MantidQtWidgets/Plotting/Qwt/MWView.h</header>
   </customwidget>
   <customwidget>
    <class>MantidQt::MantidWidgets::DataSelector</class>
@@ -239,7 +239,7 @@
   <customwidget>
    <class>MantidQt::MantidWidgets::PreviewPlot</class>
    <extends>QWidget</extends>
-   <header>MantidQtWidgets/LegacyQwt/PreviewPlot.h</header>
+   <header>MantidQtWidgets/Plotting/PreviewPlot.h</header>
    <container>1</container>
   </customwidget>
  </customwidgets>
diff --git a/qt/scientific_interfaces/EnggDiffraction/CMakeLists.txt b/qt/scientific_interfaces/EnggDiffraction/CMakeLists.txt
index 39ba2c283bc..75bba736011 100644
--- a/qt/scientific_interfaces/EnggDiffraction/CMakeLists.txt
+++ b/qt/scientific_interfaces/EnggDiffraction/CMakeLists.txt
@@ -104,7 +104,7 @@ mtd_add_qt_library (TARGET_NAME MantidScientificInterfacesEnggDiffraction
       Qwt5
   MTD_QT_LINK_LIBS
     MantidQtWidgetsCommon
-    MantidQtWidgetsLegacyQwt
+    MantidQtWidgetsPlotting
     MantidScientificInterfacesMuon
   INSTALL_DIR_BASE
     ${PLUGINS_DIR}
diff --git a/qt/scientific_interfaces/EnggDiffraction/EnggDiffFittingPresenter.cpp b/qt/scientific_interfaces/EnggDiffraction/EnggDiffFittingPresenter.cpp
index 1ea63ad837f..9320841a0c3 100644
--- a/qt/scientific_interfaces/EnggDiffraction/EnggDiffFittingPresenter.cpp
+++ b/qt/scientific_interfaces/EnggDiffraction/EnggDiffFittingPresenter.cpp
@@ -12,7 +12,7 @@
 #include "MantidAPI/MatrixWorkspace.h"
 #include "MantidAPI/Run.h"
 #include "MantidAPI/WorkspaceFactory.h"
-#include "MantidQtWidgets/LegacyQwt/QwtHelper.h"
+#include "MantidQtWidgets/Plotting/Qwt/QwtHelper.h"
 
 #include <boost/algorithm/string.hpp>
 #include <boost/lexical_cast.hpp>
diff --git a/qt/scientific_interfaces/EnggDiffraction/EnggDiffFittingViewQtWidget.cpp b/qt/scientific_interfaces/EnggDiffraction/EnggDiffFittingViewQtWidget.cpp
index 3709f359c1d..cc5fe1a6c29 100644
--- a/qt/scientific_interfaces/EnggDiffraction/EnggDiffFittingViewQtWidget.cpp
+++ b/qt/scientific_interfaces/EnggDiffraction/EnggDiffFittingViewQtWidget.cpp
@@ -11,7 +11,7 @@
 #include "MantidAPI/IPeakFunction.h"
 #include "MantidKernel/make_unique.h"
 #include "MantidQtWidgets/Common/AlgorithmInputHistory.h"
-#include "MantidQtWidgets/LegacyQwt/PeakPicker.h"
+#include "MantidQtWidgets/Plotting/Qwt/PeakPicker.h"
 
 #include <array>
 #include <iomanip>
diff --git a/qt/scientific_interfaces/EnggDiffraction/EnggDiffGSASFittingPresenter.cpp b/qt/scientific_interfaces/EnggDiffraction/EnggDiffGSASFittingPresenter.cpp
index b9fb2b70714..068109ab6aa 100644
--- a/qt/scientific_interfaces/EnggDiffraction/EnggDiffGSASFittingPresenter.cpp
+++ b/qt/scientific_interfaces/EnggDiffraction/EnggDiffGSASFittingPresenter.cpp
@@ -6,7 +6,7 @@
 // SPDX - License - Identifier: GPL - 3.0 +
 #include "EnggDiffGSASFittingPresenter.h"
 #include "EnggDiffGSASRefinementMethod.h"
-#include "MantidQtWidgets/LegacyQwt/QwtHelper.h"
+#include "MantidQtWidgets/Plotting/Qwt/QwtHelper.h"
 
 namespace {
 
diff --git a/qt/scientific_interfaces/EnggDiffraction/EnggDiffMultiRunFittingWidgetPresenter.cpp b/qt/scientific_interfaces/EnggDiffraction/EnggDiffMultiRunFittingWidgetPresenter.cpp
index 038261a3705..577fb20026b 100644
--- a/qt/scientific_interfaces/EnggDiffraction/EnggDiffMultiRunFittingWidgetPresenter.cpp
+++ b/qt/scientific_interfaces/EnggDiffraction/EnggDiffMultiRunFittingWidgetPresenter.cpp
@@ -10,7 +10,7 @@
 #include "MantidAPI/AnalysisDataService.h"
 #include "MantidAPI/Run.h"
 #include "MantidKernel/make_unique.h"
-#include "MantidQtWidgets/LegacyQwt/QwtHelper.h"
+#include "MantidQtWidgets/Plotting/Qwt/QwtHelper.h"
 
 #include <boost/algorithm/string.hpp>
 #include <cctype>
diff --git a/qt/scientific_interfaces/EnggDiffraction/EnggDiffractionViewQtGUI.h b/qt/scientific_interfaces/EnggDiffraction/EnggDiffractionViewQtGUI.h
index 7ca837efc5d..e9b0aeee810 100644
--- a/qt/scientific_interfaces/EnggDiffraction/EnggDiffractionViewQtGUI.h
+++ b/qt/scientific_interfaces/EnggDiffraction/EnggDiffractionViewQtGUI.h
@@ -14,7 +14,7 @@
 #include "IEnggDiffractionView.h"
 #include "MantidAPI/IPeakFunction.h"
 #include "MantidQtWidgets/Common/UserSubWindow.h"
-#include "MantidQtWidgets/LegacyQwt/PeakPicker.h"
+#include "MantidQtWidgets/Plotting/Qwt/PeakPicker.h"
 
 #include "ui_EnggDiffractionQtGUI.h"
 #include "ui_EnggDiffractionQtTabCalib.h"
diff --git a/qt/scientific_interfaces/General/CMakeLists.txt b/qt/scientific_interfaces/General/CMakeLists.txt
index df77fbd9394..a631657e0f6 100644
--- a/qt/scientific_interfaces/General/CMakeLists.txt
+++ b/qt/scientific_interfaces/General/CMakeLists.txt
@@ -4,7 +4,6 @@ set ( SRC_FILES
 	MantidEVWorker.cpp
 	SampleTransmission.cpp
 	StepScan.cpp
-	UserInputValidator.cpp
 )
 
 # Include files aren't required, but this makes them appear in Visual Studio
@@ -17,7 +16,6 @@ set ( INC_FILES
 	SampleTransmission.h
 	StepScan.h
 	Updateable.h
-	UserInputValidator.h
 )
 
 set ( MOC_FILES
@@ -56,7 +54,7 @@ mtd_add_qt_library (TARGET_NAME MantidScientificInterfacesGeneral
     Qwt5
   MTD_QT_LINK_LIBS
     MantidQtWidgetsCommon
-    MantidQtWidgetsLegacyQwt
+    MantidQtWidgetsPlotting
   INSTALL_DIR_BASE
       ${PLUGINS_DIR}
   OSX_INSTALL_RPATH
diff --git a/qt/scientific_interfaces/General/DataComparison.cpp b/qt/scientific_interfaces/General/DataComparison.cpp
index 876389fdda0..6fd6137e650 100644
--- a/qt/scientific_interfaces/General/DataComparison.cpp
+++ b/qt/scientific_interfaces/General/DataComparison.cpp
@@ -9,7 +9,7 @@
 #include "MantidAPI/AlgorithmManager.h"
 #include "MantidAPI/MatrixWorkspace.h"
 #include "MantidAPI/WorkspaceGroup.h"
-#include "MantidQtWidgets/LegacyQwt/QwtWorkspaceSpectrumData.h"
+#include "MantidQtWidgets/Plotting/Qwt/QwtWorkspaceSpectrumData.h"
 
 namespace {
 Mantid::Kernel::Logger g_log("DataComparison");
diff --git a/qt/scientific_interfaces/General/SampleTransmission.cpp b/qt/scientific_interfaces/General/SampleTransmission.cpp
index f9bfe5f2b75..514131225f2 100644
--- a/qt/scientific_interfaces/General/SampleTransmission.cpp
+++ b/qt/scientific_interfaces/General/SampleTransmission.cpp
@@ -12,7 +12,7 @@
 #include "MantidAPI/AlgorithmManager.h"
 #include "MantidKernel/Statistics.h"
 #include "MantidQtWidgets/Common/HelpWindow.h"
-#include "UserInputValidator.h"
+#include "MantidQtWidgets/Common/UserInputValidator.h"
 
 namespace {
 Mantid::Kernel::Logger g_log("SampleTransmission");
diff --git a/qt/scientific_interfaces/General/SampleTransmission.ui b/qt/scientific_interfaces/General/SampleTransmission.ui
index 9dc007df491..e3e98f18685 100644
--- a/qt/scientific_interfaces/General/SampleTransmission.ui
+++ b/qt/scientific_interfaces/General/SampleTransmission.ui
@@ -352,7 +352,7 @@
   <customwidget>
    <class>MantidQt::MantidWidgets::PreviewPlot</class>
    <extends>QWidget</extends>
-   <header>MantidQtWidgets/LegacyQwt/PreviewPlot.h</header>
+   <header>MantidQtWidgets/Plotting/PreviewPlot.h</header>
    <container>1</container>
   </customwidget>
  </customwidgets>
diff --git a/qt/scientific_interfaces/ISISSANS/CMakeLists.txt b/qt/scientific_interfaces/ISISSANS/CMakeLists.txt
index a8642d5c3d8..38c25a1b186 100644
--- a/qt/scientific_interfaces/ISISSANS/CMakeLists.txt
+++ b/qt/scientific_interfaces/ISISSANS/CMakeLists.txt
@@ -61,7 +61,7 @@ mtd_add_qt_library (TARGET_NAME MantidScientificInterfacesISISSANS
     Qwt5
   MTD_QT_LINK_LIBS
     MantidQtWidgetsCommon
-    MantidQtWidgetsLegacyQwt
+    MantidQtWidgetsPlotting
     MantidScientificInterfacesMuon
   INSTALL_DIR_BASE
     ${PLUGINS_DIR}
diff --git a/qt/scientific_interfaces/ISISSANS/SANSPlotSpecial.cpp b/qt/scientific_interfaces/ISISSANS/SANSPlotSpecial.cpp
index 6f2881b5085..500d87fc294 100644
--- a/qt/scientific_interfaces/ISISSANS/SANSPlotSpecial.cpp
+++ b/qt/scientific_interfaces/ISISSANS/SANSPlotSpecial.cpp
@@ -11,7 +11,7 @@
 #include "MantidAPI/MatrixWorkspace.h"
 #include "MantidKernel/PhysicalConstants.h"
 
-#include "MantidQtWidgets/LegacyQwt/RangeSelector.h"
+#include "MantidQtWidgets/Plotting/RangeSelector.h"
 
 #include "qwt_plot_curve.h"
 #include <QLineEdit>
diff --git a/qt/scientific_interfaces/Indirect/AbsorptionCorrections.h b/qt/scientific_interfaces/Indirect/AbsorptionCorrections.h
index ee7f2586164..deddecf4f19 100644
--- a/qt/scientific_interfaces/Indirect/AbsorptionCorrections.h
+++ b/qt/scientific_interfaces/Indirect/AbsorptionCorrections.h
@@ -13,7 +13,7 @@
 #include "MantidAPI/MatrixWorkspace.h"
 #include "MantidAPI/WorkspaceGroup.h"
 
-#include "../General/UserInputValidator.h"
+#include "MantidQtWidgets/Common/UserInputValidator.h"
 
 namespace MantidQt {
 namespace CustomInterfaces {
diff --git a/qt/scientific_interfaces/Indirect/ApplyAbsorptionCorrections.cpp b/qt/scientific_interfaces/Indirect/ApplyAbsorptionCorrections.cpp
index 81e32c3bee3..17d6293176c 100644
--- a/qt/scientific_interfaces/Indirect/ApplyAbsorptionCorrections.cpp
+++ b/qt/scientific_interfaces/Indirect/ApplyAbsorptionCorrections.cpp
@@ -5,12 +5,12 @@
 //     & Institut Laue - Langevin
 // SPDX - License - Identifier: GPL - 3.0 +
 #include "ApplyAbsorptionCorrections.h"
-#include "../General/UserInputValidator.h"
 #include "MantidAPI/AnalysisDataService.h"
 #include "MantidAPI/Run.h"
 #include "MantidAPI/TextAxis.h"
 #include "MantidAPI/WorkspaceGroup.h"
 #include "MantidQtWidgets/Common/SignalBlocker.h"
+#include "MantidQtWidgets/Common/UserInputValidator.h"
 
 #include <QStringList>
 
diff --git a/qt/scientific_interfaces/Indirect/ApplyAbsorptionCorrections.ui b/qt/scientific_interfaces/Indirect/ApplyAbsorptionCorrections.ui
index f5bd49501f9..0dce7834d8a 100644
--- a/qt/scientific_interfaces/Indirect/ApplyAbsorptionCorrections.ui
+++ b/qt/scientific_interfaces/Indirect/ApplyAbsorptionCorrections.ui
@@ -430,7 +430,7 @@
   <customwidget>
    <class>MantidQt::MantidWidgets::PreviewPlot</class>
    <extends>QWidget</extends>
-   <header>MantidQtWidgets/LegacyQwt/PreviewPlot.h</header>
+   <header>MantidQtWidgets/Plotting/PreviewPlot.h</header>
    <container>1</container>
   </customwidget>
  </customwidgets>
diff --git a/qt/scientific_interfaces/Indirect/CMakeLists.txt b/qt/scientific_interfaces/Indirect/CMakeLists.txt
index 519fb99c6ed..b5e79a393b6 100644
--- a/qt/scientific_interfaces/Indirect/CMakeLists.txt
+++ b/qt/scientific_interfaces/Indirect/CMakeLists.txt
@@ -183,6 +183,7 @@ set ( MOC_FILES
     IndirectFitOutputOptionsView.h
     IndirectFitPlotPresenter.h
     IndirectFitPlotView.h
+    IndirectInstrumentConfig.h
     IndirectLoadILL.h
     IndirectMolDyn.h
     IndirectMoments.h
@@ -234,6 +235,7 @@ set ( UI_FILES
    IndirectFitDataView.ui
    IndirectFitOutputOptions.ui
    IndirectFitPreviewPlot.ui
+   IndirectInstrumentConfig.ui
    IndirectLoadILL.ui
    IndirectMolDyn.ui
    IndirectMoments.ui
@@ -280,7 +282,7 @@ mtd_add_qt_library (TARGET_NAME MantidScientificInterfacesIndirect
     Qwt5
   MTD_QT_LINK_LIBS
     MantidQtWidgetsCommon
-    MantidQtWidgetsLegacyQwt
+    MantidQtWidgetsPlotting
     MantidScientificInterfacesGeneral
   INSTALL_DIR_BASE
     ${PLUGINS_DIR}
diff --git a/qt/scientific_interfaces/Indirect/CalculatePaalmanPings.cpp b/qt/scientific_interfaces/Indirect/CalculatePaalmanPings.cpp
index 681b15be90c..aacf0a435b2 100644
--- a/qt/scientific_interfaces/Indirect/CalculatePaalmanPings.cpp
+++ b/qt/scientific_interfaces/Indirect/CalculatePaalmanPings.cpp
@@ -5,7 +5,6 @@
 //     & Institut Laue - Langevin
 // SPDX - License - Identifier: GPL - 3.0 +
 #include "CalculatePaalmanPings.h"
-#include "../General/UserInputValidator.h"
 #include "MantidAPI/AnalysisDataService.h"
 #include "MantidAPI/Axis.h"
 #include "MantidAPI/MatrixWorkspace.h"
@@ -14,6 +13,7 @@
 #include "MantidKernel/Material.h"
 #include "MantidKernel/Unit.h"
 #include "MantidQtWidgets/Common/SignalBlocker.h"
+#include "MantidQtWidgets/Common/UserInputValidator.h"
 #include "MantidQtWidgets/Common/WorkspaceSelector.h"
 
 #include <QDoubleValidator>
diff --git a/qt/scientific_interfaces/Indirect/ContainerSubtraction.cpp b/qt/scientific_interfaces/Indirect/ContainerSubtraction.cpp
index fe3c2de7786..dd19b34e425 100644
--- a/qt/scientific_interfaces/Indirect/ContainerSubtraction.cpp
+++ b/qt/scientific_interfaces/Indirect/ContainerSubtraction.cpp
@@ -5,7 +5,7 @@
 //     & Institut Laue - Langevin
 // SPDX - License - Identifier: GPL - 3.0 +
 #include "ContainerSubtraction.h"
-#include "../General/UserInputValidator.h"
+#include "MantidQtWidgets/Common/UserInputValidator.h"
 
 #include "MantidAPI/Axis.h"
 #include "MantidAPI/Run.h"
diff --git a/qt/scientific_interfaces/Indirect/ContainerSubtraction.ui b/qt/scientific_interfaces/Indirect/ContainerSubtraction.ui
index c5d27fbd3e2..ec5528118dc 100644
--- a/qt/scientific_interfaces/Indirect/ContainerSubtraction.ui
+++ b/qt/scientific_interfaces/Indirect/ContainerSubtraction.ui
@@ -390,7 +390,7 @@
   <customwidget>
    <class>MantidQt::MantidWidgets::PreviewPlot</class>
    <extends>QWidget</extends>
-   <header>MantidQtWidgets/LegacyQwt/PreviewPlot.h</header>
+   <header>MantidQtWidgets/Plotting/PreviewPlot.h</header>
    <container>1</container>
   </customwidget>
  </customwidgets>
diff --git a/qt/scientific_interfaces/Indirect/ConvFit.cpp b/qt/scientific_interfaces/Indirect/ConvFit.cpp
index 64fc0a7359e..f556c0b4e2d 100644
--- a/qt/scientific_interfaces/Indirect/ConvFit.cpp
+++ b/qt/scientific_interfaces/Indirect/ConvFit.cpp
@@ -7,10 +7,10 @@
 #include "ConvFit.h"
 #include "ConvFitDataPresenter.h"
 
-#include "../General/UserInputValidator.h"
+#include "MantidQtWidgets/Common/UserInputValidator.h"
 
 #include "MantidQtWidgets/Common/SignalBlocker.h"
-#include "MantidQtWidgets/LegacyQwt/RangeSelector.h"
+#include "MantidQtWidgets/Plotting/RangeSelector.h"
 
 #include "MantidAPI/AlgorithmManager.h"
 #include "MantidAPI/FunctionFactory.h"
diff --git a/qt/scientific_interfaces/Indirect/DensityOfStates.cpp b/qt/scientific_interfaces/Indirect/DensityOfStates.cpp
index 1a9f8b9f493..1439db11eba 100644
--- a/qt/scientific_interfaces/Indirect/DensityOfStates.cpp
+++ b/qt/scientific_interfaces/Indirect/DensityOfStates.cpp
@@ -6,7 +6,7 @@
 // SPDX - License - Identifier: GPL - 3.0 +
 #include "DensityOfStates.h"
 
-#include "../General/UserInputValidator.h"
+#include "MantidQtWidgets/Common/UserInputValidator.h"
 
 #include "MantidAPI/ITableWorkspace.h"
 #include "MantidAPI/TableRow.h"
diff --git a/qt/scientific_interfaces/Indirect/Elwin.cpp b/qt/scientific_interfaces/Indirect/Elwin.cpp
index 79ba0def1ef..238b6998364 100644
--- a/qt/scientific_interfaces/Indirect/Elwin.cpp
+++ b/qt/scientific_interfaces/Indirect/Elwin.cpp
@@ -5,11 +5,11 @@
 //     & Institut Laue - Langevin
 // SPDX - License - Identifier: GPL - 3.0 +
 #include "Elwin.h"
-#include "../General/UserInputValidator.h"
+#include "MantidQtWidgets/Common/UserInputValidator.h"
 
 #include "MantidGeometry/Instrument.h"
 #include "MantidQtWidgets/Common/SignalBlocker.h"
-#include "MantidQtWidgets/LegacyQwt/RangeSelector.h"
+#include "MantidQtWidgets/Plotting/RangeSelector.h"
 
 #include <QFileInfo>
 
diff --git a/qt/scientific_interfaces/Indirect/Elwin.ui b/qt/scientific_interfaces/Indirect/Elwin.ui
index f5b32112c1d..2da67cd0261 100644
--- a/qt/scientific_interfaces/Indirect/Elwin.ui
+++ b/qt/scientific_interfaces/Indirect/Elwin.ui
@@ -371,7 +371,7 @@
   <customwidget>
    <class>MantidQt::MantidWidgets::PreviewPlot</class>
    <extends>QWidget</extends>
-   <header>MantidQtWidgets/LegacyQwt/PreviewPlot.h</header>
+   <header>MantidQtWidgets/Plotting/PreviewPlot.h</header>
    <container>1</container>
   </customwidget>
   <customwidget>
diff --git a/qt/scientific_interfaces/Indirect/IIndirectFitDataView.h b/qt/scientific_interfaces/Indirect/IIndirectFitDataView.h
index a133532bf16..ebb26b6e0e6 100644
--- a/qt/scientific_interfaces/Indirect/IIndirectFitDataView.h
+++ b/qt/scientific_interfaces/Indirect/IIndirectFitDataView.h
@@ -7,8 +7,8 @@
 #ifndef MANTIDQTCUSTOMINTERFACESIDA_IINDIRECTFITDATAVIEW_H_
 #define MANTIDQTCUSTOMINTERFACESIDA_IINDIRECTFITDATAVIEW_H_
 
-#include "../General/UserInputValidator.h"
 #include "DllConfig.h"
+#include "MantidQtWidgets/Common/UserInputValidator.h"
 
 #include <QObject>
 #include <QTabWidget>
@@ -62,4 +62,4 @@ signals:
 } // namespace CustomInterfaces
 } // namespace MantidQt
 
-#endif
\ No newline at end of file
+#endif
diff --git a/qt/scientific_interfaces/Indirect/ILLEnergyTransfer.cpp b/qt/scientific_interfaces/Indirect/ILLEnergyTransfer.cpp
index 1275939d7cd..099f8a3fa79 100644
--- a/qt/scientific_interfaces/Indirect/ILLEnergyTransfer.cpp
+++ b/qt/scientific_interfaces/Indirect/ILLEnergyTransfer.cpp
@@ -6,7 +6,7 @@
 // SPDX - License - Identifier: GPL - 3.0 +
 #include "ILLEnergyTransfer.h"
 
-#include "../General/UserInputValidator.h"
+#include "MantidQtWidgets/Common/UserInputValidator.h"
 
 #include <QFileInfo>
 #include <QInputDialog>
diff --git a/qt/scientific_interfaces/Indirect/ISISCalibration.h b/qt/scientific_interfaces/Indirect/ISISCalibration.h
index 64546021813..a7260fbabe2 100644
--- a/qt/scientific_interfaces/Indirect/ISISCalibration.h
+++ b/qt/scientific_interfaces/Indirect/ISISCalibration.h
@@ -7,9 +7,9 @@
 #ifndef MANTIDQTCUSTOMINTERFACES_ISISCALIBRATION_H_
 #define MANTIDQTCUSTOMINTERFACES_ISISCALIBRATION_H_
 
-#include "../General/UserInputValidator.h"
 #include "IndirectDataReductionTab.h"
 #include "MantidKernel/System.h"
+#include "MantidQtWidgets/Common/UserInputValidator.h"
 #include "ui_ISISCalibration.h"
 
 namespace MantidQt {
diff --git a/qt/scientific_interfaces/Indirect/ISISCalibration.ui b/qt/scientific_interfaces/Indirect/ISISCalibration.ui
index 31d197a5daf..dcffb19d037 100644
--- a/qt/scientific_interfaces/Indirect/ISISCalibration.ui
+++ b/qt/scientific_interfaces/Indirect/ISISCalibration.ui
@@ -350,7 +350,7 @@
   <customwidget>
    <class>MantidQt::MantidWidgets::PreviewPlot</class>
    <extends>QWidget</extends>
-   <header>MantidQtWidgets/LegacyQwt/PreviewPlot.h</header>
+   <header>MantidQtWidgets/Plotting/PreviewPlot.h</header>
    <container>1</container>
   </customwidget>
  </customwidgets>
diff --git a/qt/scientific_interfaces/Indirect/ISISDiagnostics.cpp b/qt/scientific_interfaces/Indirect/ISISDiagnostics.cpp
index f0ec6cb954b..c17c217a177 100644
--- a/qt/scientific_interfaces/Indirect/ISISDiagnostics.cpp
+++ b/qt/scientific_interfaces/Indirect/ISISDiagnostics.cpp
@@ -6,10 +6,10 @@
 // SPDX - License - Identifier: GPL - 3.0 +
 #include "ISISDiagnostics.h"
 
-#include "../General/UserInputValidator.h"
 #include "MantidAPI/MatrixWorkspace.h"
 #include "MantidAPI/WorkspaceGroup.h"
 #include "MantidKernel/Logger.h"
+#include "MantidQtWidgets/Common/UserInputValidator.h"
 
 #include <QFileInfo>
 
diff --git a/qt/scientific_interfaces/Indirect/ISISDiagnostics.ui b/qt/scientific_interfaces/Indirect/ISISDiagnostics.ui
index e3d7e441779..552c5bcb2c6 100644
--- a/qt/scientific_interfaces/Indirect/ISISDiagnostics.ui
+++ b/qt/scientific_interfaces/Indirect/ISISDiagnostics.ui
@@ -271,7 +271,7 @@
   <customwidget>
    <class>MantidQt::MantidWidgets::PreviewPlot</class>
    <extends>QWidget</extends>
-   <header>MantidQtWidgets/LegacyQwt/PreviewPlot.h</header>
+   <header>MantidQtWidgets/Plotting/PreviewPlot.h</header>
    <container>1</container>
   </customwidget>
  </customwidgets>
diff --git a/qt/scientific_interfaces/Indirect/ISISEnergyTransfer.cpp b/qt/scientific_interfaces/Indirect/ISISEnergyTransfer.cpp
index 437e5aafce2..2cada32ab36 100644
--- a/qt/scientific_interfaces/Indirect/ISISEnergyTransfer.cpp
+++ b/qt/scientific_interfaces/Indirect/ISISEnergyTransfer.cpp
@@ -6,10 +6,10 @@
 // SPDX - License - Identifier: GPL - 3.0 +
 #include "ISISEnergyTransfer.h"
 
-#include "../General/UserInputValidator.h"
 #include "MantidAPI/MatrixWorkspace.h"
 #include "MantidAPI/WorkspaceGroup.h"
 #include "MantidAPI/WorkspaceHistory.h"
+#include "MantidQtWidgets/Common/UserInputValidator.h"
 
 #include <QFileInfo>
 
diff --git a/qt/scientific_interfaces/Indirect/IndirectBayesTab.cpp b/qt/scientific_interfaces/Indirect/IndirectBayesTab.cpp
index 91442e6ba5d..69c3650ad11 100644
--- a/qt/scientific_interfaces/Indirect/IndirectBayesTab.cpp
+++ b/qt/scientific_interfaces/Indirect/IndirectBayesTab.cpp
@@ -5,10 +5,6 @@
 //     & Institut Laue - Langevin
 // SPDX - License - Identifier: GPL - 3.0 +
 #include "IndirectBayesTab.h"
-#include "MantidAPI/AlgorithmManager.h"
-#include "MantidAPI/AnalysisDataService.h"
-#include "MantidQtWidgets/Common/UserSubWindow.h"
-#include "MantidQtWidgets/LegacyQwt/QwtWorkspaceSpectrumData.h"
 
 namespace MantidQt {
 namespace CustomInterfaces {
diff --git a/qt/scientific_interfaces/Indirect/IndirectBayesTab.h b/qt/scientific_interfaces/Indirect/IndirectBayesTab.h
index ff9162e5c6c..712b94f5d56 100644
--- a/qt/scientific_interfaces/Indirect/IndirectBayesTab.h
+++ b/qt/scientific_interfaces/Indirect/IndirectBayesTab.h
@@ -8,21 +8,7 @@
 #define MANTID_CUSTOMINTERFACES_INDIRECTBAYESTAB_H_
 
 #include "IndirectTab.h"
-#include "MantidAPI/MatrixWorkspace_fwd.h"
-#include "MantidQtWidgets/Common/AlgorithmRunner.h"
-#include "MantidQtWidgets/LegacyQwt/QwtWorkspaceSpectrumData.h"
-#include "MantidQtWidgets/LegacyQwt/RangeSelector.h"
-#include <MantidQtWidgets/Common/QtPropertyBrowser/QtDoublePropertyManager>
-#include <MantidQtWidgets/Common/QtPropertyBrowser/QtIntPropertyManager>
-#include <MantidQtWidgets/Common/QtPropertyBrowser/QtTreePropertyBrowser>
-
-#include <QDoubleValidator>
-#include <QMap>
 #include <QSettings>
-#include <QWidget>
-
-#include <qwt_plot.h>
-#include <qwt_plot_curve.h>
 
 // Suppress a warning coming out of code that isn't ours
 #if defined(__INTEL_COMPILER)
diff --git a/qt/scientific_interfaces/Indirect/IndirectDataReduction.ui b/qt/scientific_interfaces/Indirect/IndirectDataReduction.ui
index d377616ef67..469a8a542d5 100644
--- a/qt/scientific_interfaces/Indirect/IndirectDataReduction.ui
+++ b/qt/scientific_interfaces/Indirect/IndirectDataReduction.ui
@@ -145,7 +145,7 @@
   <customwidget>
    <class>MantidQt::MantidWidgets::IndirectInstrumentConfig</class>
    <extends>QComboBox</extends>
-   <header>MantidQtWidgets/Common/IndirectInstrumentConfig.h</header>
+   <header>IndirectInstrumentConfig.h</header>
   </customwidget>
  </customwidgets>
  <tabstops>
diff --git a/qt/scientific_interfaces/Indirect/IndirectDataReductionTab.h b/qt/scientific_interfaces/Indirect/IndirectDataReductionTab.h
index 519f3879a30..1878bbccd03 100644
--- a/qt/scientific_interfaces/Indirect/IndirectDataReductionTab.h
+++ b/qt/scientific_interfaces/Indirect/IndirectDataReductionTab.h
@@ -7,24 +7,8 @@
 #ifndef MANTID_CUSTOMINTERFACES_INDIRECTDATAREDUCTIONTAB_H_
 #define MANTID_CUSTOMINTERFACES_INDIRECTDATAREDUCTIONTAB_H_
 
+#include "IndirectInstrumentConfig.h"
 #include "IndirectTab.h"
-#include "MantidAPI/AlgorithmManager.h"
-#include "MantidAPI/AnalysisDataService.h"
-#include "MantidKernel/System.h"
-#include "MantidQtWidgets/Common/AlgorithmRunner.h"
-#include "MantidQtWidgets/Common/BatchAlgorithmRunner.h"
-#include "MantidQtWidgets/Common/IndirectInstrumentConfig.h"
-#include "MantidQtWidgets/Common/PythonRunner.h"
-#include "MantidQtWidgets/LegacyQwt/QwtWorkspaceSpectrumData.h"
-#include "MantidQtWidgets/LegacyQwt/RangeSelector.h"
-
-#include <MantidQtWidgets/Common/QtPropertyBrowser/QtIntPropertyManager>
-#include <MantidQtWidgets/Common/QtPropertyBrowser/QtTreePropertyBrowser>
-#include <QDoubleValidator>
-#include <QMap>
-
-#include <qwt_plot.h>
-#include <qwt_plot_curve.h>
 
 // Suppress a warning coming out of code that isn't ours
 #if defined(__INTEL_COMPILER)
diff --git a/qt/scientific_interfaces/Indirect/IndirectDiffractionReduction.ui b/qt/scientific_interfaces/Indirect/IndirectDiffractionReduction.ui
index 9177d3a29d1..73d313f6b22 100644
--- a/qt/scientific_interfaces/Indirect/IndirectDiffractionReduction.ui
+++ b/qt/scientific_interfaces/Indirect/IndirectDiffractionReduction.ui
@@ -906,7 +906,7 @@
   <customwidget>
    <class>MantidQt::MantidWidgets::IndirectInstrumentConfig</class>
    <extends>QComboBox</extends>
-   <header>MantidQtWidgets/Common/IndirectInstrumentConfig.h</header>
+   <header>IndirectInstrumentConfig.h</header>
   </customwidget>
  </customwidgets>
  <tabstops>
diff --git a/qt/scientific_interfaces/Indirect/IndirectFitDataView.h b/qt/scientific_interfaces/Indirect/IndirectFitDataView.h
index 7f24863b9f1..bc48c48f4ec 100644
--- a/qt/scientific_interfaces/Indirect/IndirectFitDataView.h
+++ b/qt/scientific_interfaces/Indirect/IndirectFitDataView.h
@@ -11,8 +11,8 @@
 
 #include "IIndirectFitDataView.h"
 
-#include "../General/UserInputValidator.h"
 #include "DllConfig.h"
+#include "MantidQtWidgets/Common/UserInputValidator.h"
 
 #include <QTabWidget>
 
diff --git a/qt/scientific_interfaces/Indirect/IndirectFitPreviewPlot.ui b/qt/scientific_interfaces/Indirect/IndirectFitPreviewPlot.ui
index 91658db41ed..dd30cc80ef7 100644
--- a/qt/scientific_interfaces/Indirect/IndirectFitPreviewPlot.ui
+++ b/qt/scientific_interfaces/Indirect/IndirectFitPreviewPlot.ui
@@ -213,7 +213,7 @@ background: transparent;
   <customwidget>
    <class>MantidQt::MantidWidgets::PreviewPlot</class>
    <extends>QWidget</extends>
-   <header>MantidQtWidgets/LegacyQwt/PreviewPlot.h</header>
+   <header>MantidQtWidgets/Plotting/PreviewPlot.h</header>
    <container>1</container>
   </customwidget>
  </customwidgets>
diff --git a/qt/widgets/common/src/IndirectInstrumentConfig.cpp b/qt/scientific_interfaces/Indirect/IndirectInstrumentConfig.cpp
similarity index 99%
rename from qt/widgets/common/src/IndirectInstrumentConfig.cpp
rename to qt/scientific_interfaces/Indirect/IndirectInstrumentConfig.cpp
index 888d083a1b5..1fe7965fc9f 100644
--- a/qt/widgets/common/src/IndirectInstrumentConfig.cpp
+++ b/qt/scientific_interfaces/Indirect/IndirectInstrumentConfig.cpp
@@ -4,7 +4,7 @@
 //     NScD Oak Ridge National Laboratory, European Spallation Source
 //     & Institut Laue - Langevin
 // SPDX - License - Identifier: GPL - 3.0 +
-#include "MantidQtWidgets/Common/IndirectInstrumentConfig.h"
+#include "IndirectInstrumentConfig.h"
 
 #include "MantidAPI/AlgorithmManager.h"
 #include "MantidAPI/ExperimentInfo.h"
diff --git a/qt/widgets/common/inc/MantidQtWidgets/Common/IndirectInstrumentConfig.h b/qt/scientific_interfaces/Indirect/IndirectInstrumentConfig.h
similarity index 98%
rename from qt/widgets/common/inc/MantidQtWidgets/Common/IndirectInstrumentConfig.h
rename to qt/scientific_interfaces/Indirect/IndirectInstrumentConfig.h
index 44fb55a49c7..c069e1c6a69 100644
--- a/qt/widgets/common/inc/MantidQtWidgets/Common/IndirectInstrumentConfig.h
+++ b/qt/scientific_interfaces/Indirect/IndirectInstrumentConfig.h
@@ -7,7 +7,7 @@
 #ifndef MANTIDQTMANTIDWIDGETS_INDIRECTINSTRUMENTCONFIG_H_
 #define MANTIDQTMANTIDWIDGETS_INDIRECTINSTRUMENTCONFIG_H_
 
-#include "DllOption.h"
+#include "DllConfig.h"
 #include "ui_IndirectInstrumentConfig.h"
 
 #include "MantidQtWidgets/Common/AlgorithmRunner.h"
@@ -30,7 +30,7 @@ are populated by loading an empty instrument.
 @author Dan Nixon
 */
 
-class EXPORT_OPT_MANTIDQT_COMMON IndirectInstrumentConfig
+class MANTIDQT_INDIRECT_DLL IndirectInstrumentConfig
     : public API::MantidWidget {
   Q_OBJECT
 
diff --git a/qt/widgets/common/inc/MantidQtWidgets/Common/IndirectInstrumentConfig.ui b/qt/scientific_interfaces/Indirect/IndirectInstrumentConfig.ui
similarity index 100%
rename from qt/widgets/common/inc/MantidQtWidgets/Common/IndirectInstrumentConfig.ui
rename to qt/scientific_interfaces/Indirect/IndirectInstrumentConfig.ui
diff --git a/qt/scientific_interfaces/Indirect/IndirectLoadILL.ui b/qt/scientific_interfaces/Indirect/IndirectLoadILL.ui
index f719f3cd323..ee3a57c486e 100644
--- a/qt/scientific_interfaces/Indirect/IndirectLoadILL.ui
+++ b/qt/scientific_interfaces/Indirect/IndirectLoadILL.ui
@@ -250,7 +250,7 @@
   <customwidget>
    <class>MantidQt::MantidWidgets::IndirectInstrumentConfig</class>
    <extends>QComboBox</extends>
-   <header>MantidQtWidgets/Common/IndirectInstrumentConfig.h</header>
+   <header>IndirectInstrumentConfig.h</header>
   </customwidget>
  </customwidgets>
  <resources/>
diff --git a/qt/scientific_interfaces/Indirect/IndirectMolDyn.cpp b/qt/scientific_interfaces/Indirect/IndirectMolDyn.cpp
index 3d7bfa55c18..90eeddafcd2 100644
--- a/qt/scientific_interfaces/Indirect/IndirectMolDyn.cpp
+++ b/qt/scientific_interfaces/Indirect/IndirectMolDyn.cpp
@@ -6,8 +6,8 @@
 // SPDX - License - Identifier: GPL - 3.0 +
 #include "IndirectMolDyn.h"
 
-#include "../General/UserInputValidator.h"
 #include "MantidAPI/WorkspaceGroup.h"
+#include "MantidQtWidgets/Common/UserInputValidator.h"
 
 #include <QFileInfo>
 #include <QString>
diff --git a/qt/scientific_interfaces/Indirect/IndirectMoments.cpp b/qt/scientific_interfaces/Indirect/IndirectMoments.cpp
index 2686fba0ab2..922263ed029 100644
--- a/qt/scientific_interfaces/Indirect/IndirectMoments.cpp
+++ b/qt/scientific_interfaces/Indirect/IndirectMoments.cpp
@@ -6,8 +6,8 @@
 // SPDX - License - Identifier: GPL - 3.0 +
 #include "IndirectMoments.h"
 
-#include "../General/UserInputValidator.h"
 #include "MantidAPI/WorkspaceGroup.h"
+#include "MantidQtWidgets/Common/UserInputValidator.h"
 
 #include <QDoubleValidator>
 #include <QFileInfo>
diff --git a/qt/scientific_interfaces/Indirect/IndirectMoments.ui b/qt/scientific_interfaces/Indirect/IndirectMoments.ui
index cbebc1e3949..05fcf2b0139 100644
--- a/qt/scientific_interfaces/Indirect/IndirectMoments.ui
+++ b/qt/scientific_interfaces/Indirect/IndirectMoments.ui
@@ -278,7 +278,7 @@
   <customwidget>
    <class>MantidQt::MantidWidgets::PreviewPlot</class>
    <extends>QWidget</extends>
-   <header>MantidQtWidgets/LegacyQwt/PreviewPlot.h</header>
+   <header>MantidQtWidgets/Plotting/PreviewPlot.h</header>
    <container>1</container>
   </customwidget>
  </customwidgets>
diff --git a/qt/scientific_interfaces/Indirect/IndirectSassena.cpp b/qt/scientific_interfaces/Indirect/IndirectSassena.cpp
index 0f645c472e9..09848915ad4 100644
--- a/qt/scientific_interfaces/Indirect/IndirectSassena.cpp
+++ b/qt/scientific_interfaces/Indirect/IndirectSassena.cpp
@@ -6,7 +6,7 @@
 // SPDX - License - Identifier: GPL - 3.0 +
 #include "IndirectSassena.h"
 
-#include "../General/UserInputValidator.h"
+#include "MantidQtWidgets/Common/UserInputValidator.h"
 
 #include <QFileInfo>
 #include <QString>
diff --git a/qt/scientific_interfaces/Indirect/IndirectSpectrumSelectionPresenter.h b/qt/scientific_interfaces/Indirect/IndirectSpectrumSelectionPresenter.h
index b90d6d2fac3..a9ec7fbb579 100644
--- a/qt/scientific_interfaces/Indirect/IndirectSpectrumSelectionPresenter.h
+++ b/qt/scientific_interfaces/Indirect/IndirectSpectrumSelectionPresenter.h
@@ -10,8 +10,8 @@
 #include "IndirectFittingModel.h"
 #include "IndirectSpectrumSelectionView.h"
 
-#include "../General/UserInputValidator.h"
 #include "DllConfig.h"
+#include "MantidQtWidgets/Common/UserInputValidator.h"
 
 #include <boost/optional.hpp>
 #include <boost/variant.hpp>
diff --git a/qt/scientific_interfaces/Indirect/IndirectSpectrumSelectionView.h b/qt/scientific_interfaces/Indirect/IndirectSpectrumSelectionView.h
index 552350943d0..949f2e2786c 100644
--- a/qt/scientific_interfaces/Indirect/IndirectSpectrumSelectionView.h
+++ b/qt/scientific_interfaces/Indirect/IndirectSpectrumSelectionView.h
@@ -9,10 +9,10 @@
 
 #include "ui_IndirectSpectrumSelector.h"
 
-#include "../General/UserInputValidator.h"
 #include "DllConfig.h"
 #include "MantidKernel/System.h"
 #include "MantidQtWidgets/Common/MantidWidget.h"
+#include "MantidQtWidgets/Common/UserInputValidator.h"
 
 #include <cstddef>
 
diff --git a/qt/scientific_interfaces/Indirect/IndirectSqw.cpp b/qt/scientific_interfaces/Indirect/IndirectSqw.cpp
index 1a1e5811b86..9f1b8dbac9e 100644
--- a/qt/scientific_interfaces/Indirect/IndirectSqw.cpp
+++ b/qt/scientific_interfaces/Indirect/IndirectSqw.cpp
@@ -5,7 +5,7 @@
 //     & Institut Laue - Langevin
 // SPDX - License - Identifier: GPL - 3.0 +
 #include "IndirectSqw.h"
-#include "../General/UserInputValidator.h"
+#include "MantidQtWidgets/Common/UserInputValidator.h"
 
 #include "MantidAPI/MatrixWorkspace.h"
 #include "MantidQtWidgets/Common/SignalBlocker.h"
diff --git a/qt/scientific_interfaces/Indirect/IndirectSqw.ui b/qt/scientific_interfaces/Indirect/IndirectSqw.ui
index a9506848558..b4a2c2988be 100644
--- a/qt/scientific_interfaces/Indirect/IndirectSqw.ui
+++ b/qt/scientific_interfaces/Indirect/IndirectSqw.ui
@@ -7,7 +7,7 @@
     <x>0</x>
     <y>0</y>
     <width>602</width>
-    <height>475</height>
+    <height>525</height>
    </rect>
   </property>
   <property name="minimumSize">
@@ -560,7 +560,7 @@
   <customwidget>
    <class>MantidQt::MantidWidgets::ContourPreviewPlot</class>
    <extends>QWidget</extends>
-   <header>MantidQtWidgets/LegacyQwt/ContourPreviewPlot.h</header>
+   <header>MantidQtWidgets/Plotting/Qwt/ContourPreviewPlot.h</header>
    <container>1</container>
   </customwidget>
  </customwidgets>
diff --git a/qt/scientific_interfaces/Indirect/IndirectSymmetrise.ui b/qt/scientific_interfaces/Indirect/IndirectSymmetrise.ui
index e852648f04a..31f8c03b3be 100644
--- a/qt/scientific_interfaces/Indirect/IndirectSymmetrise.ui
+++ b/qt/scientific_interfaces/Indirect/IndirectSymmetrise.ui
@@ -233,7 +233,7 @@
   <customwidget>
    <class>MantidQt::MantidWidgets::PreviewPlot</class>
    <extends>QWidget</extends>
-   <header>MantidQtWidgets/LegacyQwt/PreviewPlot.h</header>
+   <header>MantidQtWidgets/Plotting/PreviewPlot.h</header>
    <container>1</container>
   </customwidget>
  </customwidgets>
diff --git a/qt/scientific_interfaces/Indirect/IndirectTab.cpp b/qt/scientific_interfaces/Indirect/IndirectTab.cpp
index 8098863abda..81bff2bc5db 100644
--- a/qt/scientific_interfaces/Indirect/IndirectTab.cpp
+++ b/qt/scientific_interfaces/Indirect/IndirectTab.cpp
@@ -15,7 +15,7 @@
 #include "MantidKernel/Unit.h"
 #include "MantidQtWidgets/Common/AlgorithmDialog.h"
 #include "MantidQtWidgets/Common/InterfaceManager.h"
-#include "MantidQtWidgets/LegacyQwt/RangeSelector.h"
+#include "MantidQtWidgets/Plotting/RangeSelector.h"
 
 #include <QMessageBox>
 
diff --git a/qt/scientific_interfaces/Indirect/IndirectTab.h b/qt/scientific_interfaces/Indirect/IndirectTab.h
index bbcdedd571e..1203f132e4c 100644
--- a/qt/scientific_interfaces/Indirect/IndirectTab.h
+++ b/qt/scientific_interfaces/Indirect/IndirectTab.h
@@ -11,24 +11,23 @@
 #include "MantidAPI/AnalysisDataService.h"
 #include "MantidAPI/ITableWorkspace.h"
 #include "MantidKernel/DateAndTime.h"
-#include "MantidKernel/System.h"
 #include "MantidQtWidgets/Common/AlgorithmRunner.h"
 #include "MantidQtWidgets/Common/BatchAlgorithmRunner.h"
 #include "MantidQtWidgets/Common/PythonRunner.h"
 #include "MantidQtWidgets/Common/QtPropertyBrowser/QtIntPropertyManager"
 #include "MantidQtWidgets/Common/QtPropertyBrowser/QtTreePropertyBrowser"
-#include "MantidQtWidgets/LegacyQwt/PreviewPlot.h"
-#include "MantidQtWidgets/LegacyQwt/QwtWorkspaceSpectrumData.h"
-#include "MantidQtWidgets/LegacyQwt/RangeSelector.h"
+
+#if QT_VERSION < QT_VERSION_CHECK(5, 0, 0)
+#include "MantidQtWidgets/Plotting/PreviewPlot.h"
+#include "MantidQtWidgets/Plotting/RangeSelector.h"
+#endif
 
 #include <QDoubleValidator>
 #include <QMap>
 #include <QPair>
 
-#include <qwt_plot.h>
-#include <qwt_plot_curve.h>
-
 #include <algorithm>
+#include <map>
 
 // Suppress a warning coming out of code that isn't ours
 #if defined(__INTEL_COMPILER)
diff --git a/qt/scientific_interfaces/Indirect/IndirectTransmission.ui b/qt/scientific_interfaces/Indirect/IndirectTransmission.ui
index 0cf2636f037..5cd5635e7d9 100644
--- a/qt/scientific_interfaces/Indirect/IndirectTransmission.ui
+++ b/qt/scientific_interfaces/Indirect/IndirectTransmission.ui
@@ -239,7 +239,7 @@
   <customwidget>
    <class>MantidQt::MantidWidgets::PreviewPlot</class>
    <extends>QWidget</extends>
-   <header>MantidQtWidgets/LegacyQwt/PreviewPlot.h</header>
+   <header>MantidQtWidgets/Plotting/PreviewPlot.h</header>
    <container>1</container>
   </customwidget>
  </customwidgets>
diff --git a/qt/scientific_interfaces/Indirect/IndirectTransmissionCalc.cpp b/qt/scientific_interfaces/Indirect/IndirectTransmissionCalc.cpp
index b143cd9f4aa..e034fa16f58 100644
--- a/qt/scientific_interfaces/Indirect/IndirectTransmissionCalc.cpp
+++ b/qt/scientific_interfaces/Indirect/IndirectTransmissionCalc.cpp
@@ -5,11 +5,11 @@
 //     & Institut Laue - Langevin
 // SPDX - License - Identifier: GPL - 3.0 +
 #include "IndirectTransmissionCalc.h"
-#include "../General/UserInputValidator.h"
 #include "MantidAPI/AlgorithmManager.h"
 #include "MantidAPI/ExperimentInfo.h"
 #include "MantidAPI/ITableWorkspace.h"
 #include "MantidAPI/MatrixWorkspace.h"
+#include "MantidQtWidgets/Common/UserInputValidator.h"
 
 #include <QTreeWidgetItem>
 
diff --git a/qt/scientific_interfaces/Indirect/IndirectTransmissionCalc.ui b/qt/scientific_interfaces/Indirect/IndirectTransmissionCalc.ui
index cbc9e8dbd50..3b681233eae 100644
--- a/qt/scientific_interfaces/Indirect/IndirectTransmissionCalc.ui
+++ b/qt/scientific_interfaces/Indirect/IndirectTransmissionCalc.ui
@@ -245,7 +245,7 @@
   <customwidget>
    <class>MantidQt::MantidWidgets::IndirectInstrumentConfig</class>
    <extends>QComboBox</extends>
-   <header>MantidQtWidgets/Common/IndirectInstrumentConfig.h</header>
+   <header>IndirectInstrumentConfig.h</header>
   </customwidget>
  </customwidgets>
  <resources/>
diff --git a/qt/scientific_interfaces/Indirect/Iqt.cpp b/qt/scientific_interfaces/Indirect/Iqt.cpp
index 15e4fe45dc2..0cd68c1c28d 100644
--- a/qt/scientific_interfaces/Indirect/Iqt.cpp
+++ b/qt/scientific_interfaces/Indirect/Iqt.cpp
@@ -10,9 +10,9 @@
 #include "MantidAPI/MatrixWorkspace.h"
 #include "MantidGeometry/Instrument.h"
 #include "MantidQtWidgets/Common/SignalBlocker.h"
-#include "MantidQtWidgets/LegacyQwt/RangeSelector.h"
+#include "MantidQtWidgets/Plotting/RangeSelector.h"
 
-#include "../General/UserInputValidator.h"
+#include "MantidQtWidgets/Common/UserInputValidator.h"
 
 #include <qwt_plot.h>
 
diff --git a/qt/scientific_interfaces/Indirect/Iqt.ui b/qt/scientific_interfaces/Indirect/Iqt.ui
index 4c245b8f990..4188d0de211 100644
--- a/qt/scientific_interfaces/Indirect/Iqt.ui
+++ b/qt/scientific_interfaces/Indirect/Iqt.ui
@@ -470,7 +470,7 @@
   <customwidget>
    <class>MantidQt::MantidWidgets::PreviewPlot</class>
    <extends>QWidget</extends>
-   <header>MantidQtWidgets/LegacyQwt/PreviewPlot.h</header>
+   <header>MantidQtWidgets/Plotting/PreviewPlot.h</header>
    <container>1</container>
   </customwidget>
   <customwidget>
diff --git a/qt/scientific_interfaces/Indirect/IqtFit.cpp b/qt/scientific_interfaces/Indirect/IqtFit.cpp
index 35609c4ab4d..06db240f4b5 100644
--- a/qt/scientific_interfaces/Indirect/IqtFit.cpp
+++ b/qt/scientific_interfaces/Indirect/IqtFit.cpp
@@ -6,10 +6,10 @@
 // SPDX - License - Identifier: GPL - 3.0 +
 #include "IqtFit.h"
 
-#include "../General/UserInputValidator.h"
+#include "MantidQtWidgets/Common/UserInputValidator.h"
 
 #include "MantidQtWidgets/Common/SignalBlocker.h"
-#include "MantidQtWidgets/LegacyQwt/RangeSelector.h"
+#include "MantidQtWidgets/Plotting/RangeSelector.h"
 
 #include "MantidAPI/AlgorithmManager.h"
 #include "MantidAPI/AnalysisDataService.h"
diff --git a/qt/scientific_interfaces/Indirect/JumpFit.cpp b/qt/scientific_interfaces/Indirect/JumpFit.cpp
index d3b421b9859..44ea7036a5d 100644
--- a/qt/scientific_interfaces/Indirect/JumpFit.cpp
+++ b/qt/scientific_interfaces/Indirect/JumpFit.cpp
@@ -7,13 +7,13 @@
 #include "JumpFit.h"
 #include "JumpFitDataPresenter.h"
 
-#include "../General/UserInputValidator.h"
 #include "MantidAPI/AlgorithmManager.h"
 #include "MantidAPI/FunctionFactory.h"
 #include "MantidAPI/IFunction.h"
 #include "MantidAPI/ITableWorkspace.h"
 #include "MantidAPI/Run.h"
 #include "MantidAPI/WorkspaceGroup.h"
+#include "MantidQtWidgets/Common/UserInputValidator.h"
 
 #include "MantidQtWidgets/Common/SignalBlocker.h"
 
diff --git a/qt/scientific_interfaces/Indirect/MSDFit.cpp b/qt/scientific_interfaces/Indirect/MSDFit.cpp
index 2e1faad3679..1ed15cbadf0 100644
--- a/qt/scientific_interfaces/Indirect/MSDFit.cpp
+++ b/qt/scientific_interfaces/Indirect/MSDFit.cpp
@@ -5,14 +5,14 @@
 //     & Institut Laue - Langevin
 // SPDX - License - Identifier: GPL - 3.0 +
 #include "MSDFit.h"
-#include "../General/UserInputValidator.h"
+#include "MantidQtWidgets/Common/UserInputValidator.h"
 
 #include "MantidAPI/AnalysisDataService.h"
 #include "MantidAPI/FunctionFactory.h"
 #include "MantidAPI/WorkspaceGroup.h"
 
 #include "MantidQtWidgets/Common/SignalBlocker.h"
-#include "MantidQtWidgets/LegacyQwt/RangeSelector.h"
+#include "MantidQtWidgets/Plotting/RangeSelector.h"
 
 #include <QFileInfo>
 
diff --git a/qt/scientific_interfaces/Indirect/Quasi.cpp b/qt/scientific_interfaces/Indirect/Quasi.cpp
index 13de4ff2a34..3bd17bae7d7 100644
--- a/qt/scientific_interfaces/Indirect/Quasi.cpp
+++ b/qt/scientific_interfaces/Indirect/Quasi.cpp
@@ -5,8 +5,8 @@
 //     & Institut Laue - Langevin
 // SPDX - License - Identifier: GPL - 3.0 +
 #include "Quasi.h"
-#include "../General/UserInputValidator.h"
 #include "MantidAPI/TextAxis.h"
+#include "MantidQtWidgets/Common/UserInputValidator.h"
 
 using namespace Mantid::API;
 
diff --git a/qt/scientific_interfaces/Indirect/Quasi.ui b/qt/scientific_interfaces/Indirect/Quasi.ui
index d87faf9a12c..c160f190abe 100644
--- a/qt/scientific_interfaces/Indirect/Quasi.ui
+++ b/qt/scientific_interfaces/Indirect/Quasi.ui
@@ -498,7 +498,7 @@
   <customwidget>
    <class>MantidQt::MantidWidgets::PreviewPlot</class>
    <extends>QWidget</extends>
-   <header>MantidQtWidgets/LegacyQwt/PreviewPlot.h</header>
+   <header>MantidQtWidgets/Plotting/PreviewPlot.h</header>
    <container>1</container>
   </customwidget>
   <customwidget>
diff --git a/qt/scientific_interfaces/Indirect/ResNorm.cpp b/qt/scientific_interfaces/Indirect/ResNorm.cpp
index 4636470d276..4f4f0c7eaab 100644
--- a/qt/scientific_interfaces/Indirect/ResNorm.cpp
+++ b/qt/scientific_interfaces/Indirect/ResNorm.cpp
@@ -6,9 +6,9 @@
 // SPDX - License - Identifier: GPL - 3.0 +
 #include "ResNorm.h"
 
-#include "../General/UserInputValidator.h"
 #include "MantidAPI/ITableWorkspace.h"
 #include "MantidAPI/WorkspaceFactory.h"
+#include "MantidQtWidgets/Common/UserInputValidator.h"
 
 #include <map>
 #include <string>
diff --git a/qt/scientific_interfaces/Indirect/ResNorm.ui b/qt/scientific_interfaces/Indirect/ResNorm.ui
index 8108ee7ad6e..822d035a93f 100644
--- a/qt/scientific_interfaces/Indirect/ResNorm.ui
+++ b/qt/scientific_interfaces/Indirect/ResNorm.ui
@@ -322,7 +322,7 @@
   <customwidget>
    <class>MantidQt::MantidWidgets::PreviewPlot</class>
    <extends>QWidget</extends>
-   <header>MantidQtWidgets/LegacyQwt/PreviewPlot.h</header>
+   <header>MantidQtWidgets/Plotting/PreviewPlot.h</header>
    <container>1</container>
   </customwidget>
  </customwidgets>
diff --git a/qt/scientific_interfaces/Indirect/Stretch.cpp b/qt/scientific_interfaces/Indirect/Stretch.cpp
index 9da7c9402c8..af0a3440bc8 100644
--- a/qt/scientific_interfaces/Indirect/Stretch.cpp
+++ b/qt/scientific_interfaces/Indirect/Stretch.cpp
@@ -5,7 +5,7 @@
 //     & Institut Laue - Langevin
 // SPDX - License - Identifier: GPL - 3.0 +
 #include "Stretch.h"
-#include "../General/UserInputValidator.h"
+#include "MantidQtWidgets/Common/UserInputValidator.h"
 
 #include "MantidAPI/AlgorithmManager.h"
 #include "MantidAPI/WorkspaceGroup.h"
diff --git a/qt/scientific_interfaces/Indirect/Stretch.ui b/qt/scientific_interfaces/Indirect/Stretch.ui
index a0e9a9c25eb..6a162d953fc 100644
--- a/qt/scientific_interfaces/Indirect/Stretch.ui
+++ b/qt/scientific_interfaces/Indirect/Stretch.ui
@@ -422,7 +422,7 @@
   <customwidget>
    <class>MantidQt::MantidWidgets::PreviewPlot</class>
    <extends>QWidget</extends>
-   <header>MantidQtWidgets/LegacyQwt/PreviewPlot.h</header>
+   <header>MantidQtWidgets/Plotting/PreviewPlot.h</header>
    <container>1</container>
   </customwidget>
  </customwidgets>
diff --git a/qt/scientific_interfaces/Indirect/test/CMakeLists.txt b/qt/scientific_interfaces/Indirect/test/CMakeLists.txt
index 5a9215e41d9..0411497165a 100644
--- a/qt/scientific_interfaces/Indirect/test/CMakeLists.txt
+++ b/qt/scientific_interfaces/Indirect/test/CMakeLists.txt
@@ -48,7 +48,7 @@ mtd_add_qt_tests (TARGET_NAME MantidQtInterfacesIndirectTest
   MTD_QT_LINK_LIBS
     MantidScientificInterfacesIndirect
     MantidQtWidgetsCommon
-    MantidQtWidgetsLegacyQwt
+    MantidQtWidgetsPlotting
   PARENT_DEPENDENCIES
     GUITests
 )
diff --git a/qt/scientific_interfaces/MultiDatasetFit/CMakeLists.txt b/qt/scientific_interfaces/MultiDatasetFit/CMakeLists.txt
index a2e0489308c..94c749e38eb 100644
--- a/qt/scientific_interfaces/MultiDatasetFit/CMakeLists.txt
+++ b/qt/scientific_interfaces/MultiDatasetFit/CMakeLists.txt
@@ -66,7 +66,7 @@ mtd_add_qt_library (TARGET_NAME MantidScientificInterfacesMultiDatasetFit
       Qwt5
   MTD_QT_LINK_LIBS
     MantidQtWidgetsCommon
-    MantidQtWidgetsLegacyQwt
+    MantidQtWidgetsPlotting
   INSTALL_DIR_BASE
     ${PLUGINS_DIR}
   OSX_INSTALL_RPATH
diff --git a/qt/scientific_interfaces/MultiDatasetFit/MDFDatasetPlotData.cpp b/qt/scientific_interfaces/MultiDatasetFit/MDFDatasetPlotData.cpp
index 531a6000523..e6d4e903a01 100644
--- a/qt/scientific_interfaces/MultiDatasetFit/MDFDatasetPlotData.cpp
+++ b/qt/scientific_interfaces/MultiDatasetFit/MDFDatasetPlotData.cpp
@@ -5,7 +5,7 @@
 //     & Institut Laue - Langevin
 // SPDX - License - Identifier: GPL - 3.0 +
 #include "MDFDatasetPlotData.h"
-#include "MantidQtWidgets/LegacyQwt/ErrorCurve.h"
+#include "MantidQtWidgets/Plotting/Qwt/ErrorCurve.h"
 
 #include "MantidAPI/AnalysisDataService.h"
 #include "MantidAPI/MatrixWorkspace.h"
diff --git a/qt/scientific_interfaces/MultiDatasetFit/MDFFunctionPlotData.cpp b/qt/scientific_interfaces/MultiDatasetFit/MDFFunctionPlotData.cpp
index 0fd65f6f69f..b7e0db3da25 100644
--- a/qt/scientific_interfaces/MultiDatasetFit/MDFFunctionPlotData.cpp
+++ b/qt/scientific_interfaces/MultiDatasetFit/MDFFunctionPlotData.cpp
@@ -5,7 +5,7 @@
 //     & Institut Laue - Langevin
 // SPDX - License - Identifier: GPL - 3.0 +
 #include "MDFFunctionPlotData.h"
-#include "MantidQtWidgets/LegacyQwt/ErrorCurve.h"
+#include "MantidQtWidgets/Plotting/Qwt/ErrorCurve.h"
 #include "MultiDatasetFit.h"
 
 #include "MantidAPI/AnalysisDataService.h"
diff --git a/qt/scientific_interfaces/MultiDatasetFit/MDFPlotController.cpp b/qt/scientific_interfaces/MultiDatasetFit/MDFPlotController.cpp
index cdcaa0cc8ee..d89d37f3dc6 100644
--- a/qt/scientific_interfaces/MultiDatasetFit/MDFPlotController.cpp
+++ b/qt/scientific_interfaces/MultiDatasetFit/MDFPlotController.cpp
@@ -15,7 +15,7 @@
 #include "MantidAPI/FunctionFactory.h"
 #include "MantidAPI/WorkspaceGroup.h"
 #include "MantidQtWidgets/Common/PythonRunner.h"
-#include "MantidQtWidgets/LegacyQwt/RangeSelector.h"
+#include "MantidQtWidgets/Plotting/RangeSelector.h"
 
 #include <boost/make_shared.hpp>
 
diff --git a/qt/scientific_interfaces/Muon/ALCBaselineModellingPresenter.cpp b/qt/scientific_interfaces/Muon/ALCBaselineModellingPresenter.cpp
index ee09d3b7efb..434d0df9eaf 100644
--- a/qt/scientific_interfaces/Muon/ALCBaselineModellingPresenter.cpp
+++ b/qt/scientific_interfaces/Muon/ALCBaselineModellingPresenter.cpp
@@ -10,7 +10,7 @@
 #include "MantidAPI/FunctionFactory.h"
 #include "MantidAPI/MatrixWorkspace.h"
 
-#include "MantidQtWidgets/LegacyQwt/QwtHelper.h"
+#include "MantidQtWidgets/Plotting/Qwt/QwtHelper.h"
 
 using namespace Mantid::API;
 
diff --git a/qt/scientific_interfaces/Muon/ALCBaselineModellingView.cpp b/qt/scientific_interfaces/Muon/ALCBaselineModellingView.cpp
index 5f172568b48..30efea77c9f 100644
--- a/qt/scientific_interfaces/Muon/ALCBaselineModellingView.cpp
+++ b/qt/scientific_interfaces/Muon/ALCBaselineModellingView.cpp
@@ -10,7 +10,7 @@
 #include "MantidAPI/FunctionDomain1D.h"
 #include "MantidAPI/FunctionFactory.h"
 #include "MantidQtWidgets/Common/HelpWindow.h"
-#include "MantidQtWidgets/LegacyQwt/ErrorCurve.h"
+#include "MantidQtWidgets/Plotting/Qwt/ErrorCurve.h"
 
 #include <boost/scoped_array.hpp>
 
diff --git a/qt/scientific_interfaces/Muon/ALCBaselineModellingView.h b/qt/scientific_interfaces/Muon/ALCBaselineModellingView.h
index 24b51743098..015df807874 100644
--- a/qt/scientific_interfaces/Muon/ALCBaselineModellingView.h
+++ b/qt/scientific_interfaces/Muon/ALCBaselineModellingView.h
@@ -11,7 +11,7 @@
 
 #include "DllConfig.h"
 #include "IALCBaselineModellingView.h"
-#include "MantidQtWidgets/LegacyQwt/RangeSelector.h"
+#include "MantidQtWidgets/Plotting/RangeSelector.h"
 
 #include "ui_ALCBaselineModellingView.h"
 
diff --git a/qt/scientific_interfaces/Muon/ALCDataLoadingPresenter.cpp b/qt/scientific_interfaces/Muon/ALCDataLoadingPresenter.cpp
index 9b9a8171e1d..0ae7b9e0bd9 100644
--- a/qt/scientific_interfaces/Muon/ALCDataLoadingPresenter.cpp
+++ b/qt/scientific_interfaces/Muon/ALCDataLoadingPresenter.cpp
@@ -14,7 +14,7 @@
 
 #include "ALCLatestFileFinder.h"
 #include "MantidQtWidgets/Common/AlgorithmInputHistory.h"
-#include "MantidQtWidgets/LegacyQwt/QwtHelper.h"
+#include "MantidQtWidgets/Plotting/Qwt/QwtHelper.h"
 #include "MuonAnalysisHelper.h"
 
 #include <Poco/ActiveResult.h>
diff --git a/qt/scientific_interfaces/Muon/ALCDataLoadingView.cpp b/qt/scientific_interfaces/Muon/ALCDataLoadingView.cpp
index 793e82ff41b..d1acf05ed77 100644
--- a/qt/scientific_interfaces/Muon/ALCDataLoadingView.cpp
+++ b/qt/scientific_interfaces/Muon/ALCDataLoadingView.cpp
@@ -8,7 +8,7 @@
 
 #include "MantidQtWidgets/Common/HelpWindow.h"
 #include "MantidQtWidgets/Common/LogValueSelector.h"
-#include "MantidQtWidgets/LegacyQwt/ErrorCurve.h"
+#include "MantidQtWidgets/Plotting/Qwt/ErrorCurve.h"
 
 #include <QMessageBox>
 
diff --git a/qt/scientific_interfaces/Muon/ALCPeakFittingPresenter.cpp b/qt/scientific_interfaces/Muon/ALCPeakFittingPresenter.cpp
index 7a8443e3d05..18b4f750212 100644
--- a/qt/scientific_interfaces/Muon/ALCPeakFittingPresenter.cpp
+++ b/qt/scientific_interfaces/Muon/ALCPeakFittingPresenter.cpp
@@ -10,7 +10,7 @@
 #include "MantidAPI/FunctionFactory.h"
 #include "MantidAPI/MatrixWorkspace.h"
 
-#include "MantidQtWidgets/LegacyQwt/QwtHelper.h"
+#include "MantidQtWidgets/Plotting/Qwt/QwtHelper.h"
 
 using namespace Mantid::API;
 
diff --git a/qt/scientific_interfaces/Muon/ALCPeakFittingView.cpp b/qt/scientific_interfaces/Muon/ALCPeakFittingView.cpp
index faabc639935..afaa137f8da 100644
--- a/qt/scientific_interfaces/Muon/ALCPeakFittingView.cpp
+++ b/qt/scientific_interfaces/Muon/ALCPeakFittingView.cpp
@@ -7,7 +7,7 @@
 #include "ALCPeakFittingView.h"
 
 #include "MantidQtWidgets/Common/HelpWindow.h"
-#include "MantidQtWidgets/LegacyQwt/ErrorCurve.h"
+#include "MantidQtWidgets/Plotting/Qwt/ErrorCurve.h"
 
 #include <QMessageBox>
 
diff --git a/qt/scientific_interfaces/Muon/ALCPeakFittingView.h b/qt/scientific_interfaces/Muon/ALCPeakFittingView.h
index 0e32d5ca144..e985a372b66 100644
--- a/qt/scientific_interfaces/Muon/ALCPeakFittingView.h
+++ b/qt/scientific_interfaces/Muon/ALCPeakFittingView.h
@@ -11,7 +11,7 @@
 
 #include "DllConfig.h"
 #include "IALCPeakFittingView.h"
-#include "MantidQtWidgets/LegacyQwt/PeakPicker.h"
+#include "MantidQtWidgets/Plotting/Qwt/PeakPicker.h"
 
 #include "ui_ALCPeakFittingView.h"
 
diff --git a/qt/scientific_interfaces/Muon/CMakeLists.txt b/qt/scientific_interfaces/Muon/CMakeLists.txt
index 669f63374ab..6b3a0656318 100644
--- a/qt/scientific_interfaces/Muon/CMakeLists.txt
+++ b/qt/scientific_interfaces/Muon/CMakeLists.txt
@@ -104,7 +104,7 @@ mtd_add_qt_library (TARGET_NAME MantidScientificInterfacesMuon
       Qwt5
   MTD_QT_LINK_LIBS
     MantidQtWidgetsCommon
-    MantidQtWidgetsLegacyQwt
+    MantidQtWidgetsPlotting
     MantidScientificInterfacesMultiDatasetFit
   INSTALL_DIR_BASE
     ${PLUGINS_DIR}
diff --git a/qt/widgets/CMakeLists.txt b/qt/widgets/CMakeLists.txt
index 24c152049e7..7a98d120a65 100644
--- a/qt/widgets/CMakeLists.txt
+++ b/qt/widgets/CMakeLists.txt
@@ -3,11 +3,11 @@
 ###########################################################################
 add_subdirectory ( common )
 add_subdirectory ( mplcpp )
+add_subdirectory ( plotting )
 add_subdirectory ( instrumentview )
 add_subdirectory ( plugins )
 
 if ( ENABLE_MANTIDPLOT ) 
-  add_subdirectory ( legacyqwt )
   add_subdirectory ( sliceviewer )
   add_subdirectory ( spectrumviewer )
   add_subdirectory ( refdetectorview)
diff --git a/qt/widgets/common/CMakeLists.txt b/qt/widgets/common/CMakeLists.txt
index 20f559e4e92..5f2bae45eec 100644
--- a/qt/widgets/common/CMakeLists.txt
+++ b/qt/widgets/common/CMakeLists.txt
@@ -58,6 +58,7 @@ set ( QT5_SRC_FILES
   src/TextPropertyWidget.cpp
   src/TSVSerialiser.cpp
   src/UserFunctionDialog.cpp
+  src/UserInputValidator.cpp
   src/UserSubWindow.cpp
   src/VatesViewerInterface.cpp
   src/WidgetScrollbarDecorator.cpp
@@ -163,7 +164,7 @@ set ( QT5_MOC_FILES
   inc/MantidQtWidgets/Common/WorkspacePresenter/WorkspaceTreeWidget.h
   inc/MantidQtWidgets/Common/WorkspacePresenter/WorkspaceTreeWidgetSimple.h
   inc/MantidQtWidgets/Common/WorkspaceSelector.h
-
+  
   inc/MantidQtWidgets/Common/AlgorithmProgress/AlgorithmProgressDialogPresenter.h
   inc/MantidQtWidgets/Common/AlgorithmProgress/AlgorithmProgressDialogWidget.h
   inc/MantidQtWidgets/Common/AlgorithmProgress/AlgorithmProgressPresenter.h
@@ -211,6 +212,7 @@ set ( QT5_INC_FILES
   inc/MantidQtWidgets/Common/pixmaps.h
   inc/MantidQtWidgets/Common/PropertyWidgetFactory.h
   inc/MantidQtWidgets/Common/SequentialFitDialog.h
+  inc/MantidQtWidgets/Common/UserInputValidator.h
   inc/MantidQtWidgets/Common/WidgetScrollbarDecorator.h
   inc/MantidQtWidgets/Common/Batch/QtStandardItemTreeAdapter.h
   inc/MantidQtWidgets/Common/Batch/QtBasicNavigation.h
@@ -295,6 +297,7 @@ set ( SRC_FILES
   src/SyncedCheckboxes.cpp
   src/TextPropertyWidget.cpp
   src/TSVSerialiser.cpp
+  src/UserInputValidator.cpp
   src/UserSubWindow.cpp
   src/VatesViewerInterface.cpp
   src/WidgetScrollbarDecorator.cpp
@@ -359,7 +362,6 @@ set ( SRC_FILES
   src/FunctionBrowser.cpp
   src/HintingLineEdit.cpp
   src/IndirectFitPropertyBrowser.cpp
-  src/IndirectInstrumentConfig.cpp
   src/InputController.cpp
   src/InstrumentSelector.cpp
   src/LineEditWithClear.cpp
@@ -470,7 +472,6 @@ set ( MOC_FILES
   inc/MantidQtWidgets/Common/CatalogSelector.h
   inc/MantidQtWidgets/Common/InstrumentSelector.h
   inc/MantidQtWidgets/Common/IndirectFitPropertyBrowser.h
-  inc/MantidQtWidgets/Common/IndirectInstrumentConfig.h
   inc/MantidQtWidgets/Common/InputController.h
   inc/MantidQtWidgets/Common/MantidWSIndexDialog.h
   inc/MantidQtWidgets/Common/MantidTreeModel.h
@@ -523,7 +524,7 @@ set ( MOC_FILES
 
 # Include files aren't required, but this makes them appear in Visual Studio
 set ( INC_FILES
-	${MOC_FILES}
+  ${MOC_FILES}
   inc/MantidQtWidgets/Common/AlgorithmHistoryWindow.h
   inc/MantidQtWidgets/Common/AlgorithmInputHistory.h
   inc/MantidQtWidgets/Common/AlgorithmRunner.h
@@ -556,6 +557,7 @@ set ( INC_FILES
   inc/MantidQtWidgets/Common/SelectionNotificationService.h
   inc/MantidQtWidgets/Common/SignalBlocker.h
   inc/MantidQtWidgets/Common/TSVSerialiser.h
+  inc/MantidQtWidgets/Common/UserInputValidator.h
   inc/MantidQtWidgets/Common/WidgetScrollbarDecorator.h
   inc/MantidQtWidgets/Common/WindowIcons.h
   inc/MantidQtWidgets/Common/WorkspaceIcons.h
@@ -677,7 +679,6 @@ set ( UI_FILES
   inc/MantidQtWidgets/Common/DataSelector.ui
   inc/MantidQtWidgets/Common/CatalogSearch.ui
   inc/MantidQtWidgets/Common/CatalogSelector.ui
-  inc/MantidQtWidgets/Common/IndirectInstrumentConfig.ui
   inc/MantidQtWidgets/Common/LogValueSelector.ui
   inc/MantidQtWidgets/Common/MultifitSetupDialog.ui
   inc/MantidQtWidgets/Common/MuonFitDataSelector.ui
@@ -824,6 +825,7 @@ set( TEST_FILES
   test/SignalBlockerTest.h
   test/AlgorithmHintStrategyTest.h
   test/TrackedActionTest.h
+  test/UserInputValidatorTest.h
   test/DataProcessorUI/CommandsTest.h
   test/DataProcessorUI/GenerateNotebookTest.h
   test/DataProcessorUI/OneLevelTreeManagerTest.h
@@ -882,6 +884,7 @@ set( QT5_TEST_FILES
   test/FindFilesThreadPoolManagerTest.h
   test/FindFilesWorkerTest.h
   test/InterfaceManagerTest.h
+  test/UserInputValidatorTest.h
   test/WorkspacePresenter/ADSAdapterTest.h
   test/WorkspacePresenter/WorkspacePresenterTest.h
 )
diff --git a/qt/scientific_interfaces/General/UserInputValidator.h b/qt/widgets/common/inc/MantidQtWidgets/Common/UserInputValidator.h
similarity index 100%
rename from qt/scientific_interfaces/General/UserInputValidator.h
rename to qt/widgets/common/inc/MantidQtWidgets/Common/UserInputValidator.h
diff --git a/qt/scientific_interfaces/General/UserInputValidator.cpp b/qt/widgets/common/src/UserInputValidator.cpp
similarity index 99%
rename from qt/scientific_interfaces/General/UserInputValidator.cpp
rename to qt/widgets/common/src/UserInputValidator.cpp
index f40b69b20c1..4d354f7d1a6 100644
--- a/qt/scientific_interfaces/General/UserInputValidator.cpp
+++ b/qt/widgets/common/src/UserInputValidator.cpp
@@ -4,7 +4,7 @@
 //     NScD Oak Ridge National Laboratory, European Spallation Source
 //     & Institut Laue - Langevin
 // SPDX - License - Identifier: GPL - 3.0 +
-#include "UserInputValidator.h"
+#include "MantidQtWidgets/Common/UserInputValidator.h"
 #include <QLabel>
 #include <QLineEdit>
 #include <QString>
diff --git a/qt/scientific_interfaces/test/UserInputValidatorTest.h b/qt/widgets/common/test/UserInputValidatorTest.h
similarity index 98%
rename from qt/scientific_interfaces/test/UserInputValidatorTest.h
rename to qt/widgets/common/test/UserInputValidatorTest.h
index 757dcbe3f8f..ab2af23b11c 100644
--- a/qt/scientific_interfaces/test/UserInputValidatorTest.h
+++ b/qt/widgets/common/test/UserInputValidatorTest.h
@@ -10,7 +10,7 @@
 #include <cxxtest/TestSuite.h>
 #include <string>
 
-#include "../General/UserInputValidator.h"
+#include "MantidQtWidgets/Common/UserInputValidator.h"
 
 using namespace MantidQt::CustomInterfaces;
 
diff --git a/qt/widgets/factory/CMakeLists.txt b/qt/widgets/factory/CMakeLists.txt
index f5df842bd8a..dc97e138faf 100644
--- a/qt/widgets/factory/CMakeLists.txt
+++ b/qt/widgets/factory/CMakeLists.txt
@@ -37,7 +37,7 @@ mtd_add_qt_library (TARGET_NAME MantidQtWidgetsFactory
     Qwt5
   MTD_QT_LINK_LIBS
     MantidQtWidgetsCommon
-    MantidQtWidgetsLegacyQwt
+    MantidQtWidgetsPlotting
     MantidQtWidgetsSliceViewer
   INSTALL_DIR
     ${LIB_DIR}
diff --git a/qt/widgets/instrumentview/CMakeLists.txt b/qt/widgets/instrumentview/CMakeLists.txt
index f0339ba4770..947307278e7 100644
--- a/qt/widgets/instrumentview/CMakeLists.txt
+++ b/qt/widgets/instrumentview/CMakeLists.txt
@@ -163,7 +163,7 @@ mtd_add_qt_library (TARGET_NAME MantidQtWidgetsInstrumentView
     Qwt5
   MTD_QT_LINK_LIBS
     MantidQtWidgetsCommon
-    MantidQtWidgetsLegacyQwt
+    MantidQtWidgetsPlotting
   INSTALL_DIR
     ${LIB_DIR}
   OSX_INSTALL_RPATH
diff --git a/qt/widgets/instrumentview/inc/MantidQtWidgets/InstrumentView/ColorBar.h b/qt/widgets/instrumentview/inc/MantidQtWidgets/InstrumentView/ColorBar.h
index 988d35a7290..a1b041738af 100644
--- a/qt/widgets/instrumentview/inc/MantidQtWidgets/InstrumentView/ColorBar.h
+++ b/qt/widgets/instrumentview/inc/MantidQtWidgets/InstrumentView/ColorBar.h
@@ -10,7 +10,7 @@
 #include <QtGlobal>
 
 #if QT_VERSION < QT_VERSION_CHECK(5, 0, 0)
-#include "MantidQtWidgets/LegacyQwt/DraggableColorBarWidget.h"
+#include "MantidQtWidgets/Plotting/Qwt/DraggableColorBarWidget.h"
 #elif QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)
 #include "MantidQtWidgets/MplCpp/ColorbarWidget.h"
 #endif
diff --git a/qt/widgets/instrumentview/inc/MantidQtWidgets/InstrumentView/ColorMap.h b/qt/widgets/instrumentview/inc/MantidQtWidgets/InstrumentView/ColorMap.h
index b8e464e9a8e..d06df31b6e2 100644
--- a/qt/widgets/instrumentview/inc/MantidQtWidgets/InstrumentView/ColorMap.h
+++ b/qt/widgets/instrumentview/inc/MantidQtWidgets/InstrumentView/ColorMap.h
@@ -10,7 +10,7 @@
 #include <QtGlobal>
 
 #if QT_VERSION < QT_VERSION_CHECK(5, 0, 0)
-#include "MantidQtWidgets/LegacyQwt/MantidColorMap.h"
+#include "MantidQtWidgets/Plotting/Qwt/MantidColorMap.h"
 #elif QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)
 #include "MantidQtWidgets/MplCpp/MantidColorMap.h"
 #endif
diff --git a/qt/widgets/instrumentview/src/MiniPlotQwt.cpp b/qt/widgets/instrumentview/src/MiniPlotQwt.cpp
index dd0f9fa6b5e..a3c41276950 100644
--- a/qt/widgets/instrumentview/src/MiniPlotQwt.cpp
+++ b/qt/widgets/instrumentview/src/MiniPlotQwt.cpp
@@ -8,7 +8,7 @@
 #include "MantidKernel/Logger.h"
 #include "MantidQtWidgets/InstrumentView/PeakMarker2D.h"
 
-#include <MantidQtWidgets/LegacyQwt/qwt_compat.h>
+#include <MantidQtWidgets/Plotting/Qwt/qwt_compat.h>
 #include <qwt_plot_canvas.h>
 #include <qwt_plot_curve.h>
 #include <qwt_plot_zoomer.h>
diff --git a/qt/widgets/legacyqwt/CMakeLists.txt b/qt/widgets/legacyqwt/CMakeLists.txt
deleted file mode 100644
index 8dee1e3953b..00000000000
--- a/qt/widgets/legacyqwt/CMakeLists.txt
+++ /dev/null
@@ -1,131 +0,0 @@
- set ( SRC_FILES
-  src/ContourPreviewPlot.cpp
-  src/DraggableColorBarWidget.cpp
-  src/MantidColorMap.cpp
-  src/MantidQwtIMDWorkspaceData.cpp
-  src/MantidQwtWorkspaceData.cpp
-  src/MWView.cpp
-  src/PowerScaleEngine.cpp
-  src/QwtHelper.cpp
-  src/QwtRasterDataMD.cpp
-  src/QwtRasterDataMDNonOrthogonal.cpp
-  src/QwtWorkspaceBinData.cpp
-  src/QwtWorkspaceSpectrumData.cpp
-  src/ScaleEngine.cpp
-  src/ColorBarWidget.cpp
-  src/DisplayCurveFit.cpp
-  src/ErrorCurve.cpp
-  src/PeakPicker.cpp
-  src/PreviewPlot.cpp
-  src/RangeSelector.cpp
-  src/SafeQwtPlot.cpp
-  src/SignalRange.cpp
-)
-
-set ( MOC_FILES
-  inc/MantidQtWidgets/LegacyQwt/ContourPreviewPlot.h
-  inc/MantidQtWidgets/LegacyQwt/DraggableColorBarWidget.h
-  inc/MantidQtWidgets/LegacyQwt/ColorBarWidget.h
-  inc/MantidQtWidgets/LegacyQwt/MWView.h
-  inc/MantidQtWidgets/LegacyQwt/RangeSelector.h
-  inc/MantidQtWidgets/LegacyQwt/PeakPicker.h
-  inc/MantidQtWidgets/LegacyQwt/DisplayCurveFit.h
-  inc/MantidQtWidgets/LegacyQwt/PreviewPlot.h
-  inc/MantidQtWidgets/LegacyQwt/SafeQwtPlot.h
-)
-
-# Include files aren't required, but this makes them appear in Visual Studio
-set ( INC_FILES
-  inc/MantidQtWidgets/LegacyQwt/ContourPreviewPlot.h
-  inc/MantidQtWidgets/LegacyQwt/MantidQwtWorkspaceData.h
-  inc/MantidQtWidgets/LegacyQwt/QwtRasterDataMD.h
-  inc/MantidQtWidgets/LegacyQwt/QwtRasterDataMDNonOrthogonal.h
-  inc/MantidQtWidgets/LegacyQwt/QwtWorkspaceBinData.h
-  inc/MantidQtWidgets/LegacyQwt/PowerScaleEngine.h
-  inc/MantidQtWidgets/LegacyQwt/ScaleEngine.h
-  inc/MantidQtWidgets/LegacyQwt/MantidQwtIMDWorkspaceData.h
-  inc/MantidQtWidgets/LegacyQwt/SafeQwtPlot.h
-  inc/MantidQtWidgets/LegacyQwt/MantidColorMap.h
-  inc/MantidQtWidgets/LegacyQwt/ErrorCurve.h
-  inc/MantidQtWidgets/LegacyQwt/QwtWorkspaceSpectrumData.h
-  inc/MantidQtWidgets/LegacyQwt/QwtHelper.h
-  inc/MantidQtWidgets/LegacyQwt/qwt_compat.h
-  inc/MantidQtWidgets/LegacyQwt/SignalRange.h
-)
-
-set ( UI_FILES
-  inc/MantidQtWidgets/LegacyQwt/ColorBarWidget.ui
-  inc/MantidQtWidgets/LegacyQwt/ContourPreviewPlot.ui
-  inc/MantidQtWidgets/LegacyQwt/DisplayCurveFit.ui
-  inc/MantidQtWidgets/LegacyQwt/MWView.ui
-  inc/MantidQtWidgets/LegacyQwt/PreviewPlot.ui
-)
-
-###########################################################################
-# Target
-###########################################################################
-mtd_add_qt_library (TARGET_NAME MantidQtWidgetsLegacyQwt
-  QT_VERSION 4
-  SRC ${SRC_FILES}
-  MOC ${MOC_FILES}
-  NOMOC ${INC_FILES}
-  UI ${UI_FILES}
-  DEFS
-    IN_MANTIDQT_LEGACYQWT
-  INCLUDE_DIRS
-    inc
-  SYSTEM_INCLUDE_DIRS
-    ${Boost_INCLUDE_DIRS}
-  LINK_LIBS
-    ${TCMALLOC_LIBRARIES_LINKTIME}
-    ${CORE_MANTIDLIBS}
-    ${POCO_LIBRARIES}
-    ${Boost_LIBRARIES}
-  QT4_LINK_LIBS
-    Qwt5
-  MTD_QT_LINK_LIBS
-    MantidQtWidgetsCommon
-  INSTALL_DIR
-    ${LIB_DIR}
-  OSX_INSTALL_RPATH
-    @loader_path/../MacOS
-  LINUX_INSTALL_RPATH
-    "\$ORIGIN/../${LIB_DIR}"
-)
-
-###########################################################################
-# Testing
-###########################################################################
-set( TEST_FILES
-  test/ContourPreviewPlotTest.h
-  test/MantidColorMapTest.h
-  test/QwtWorkspaceBinDataTest.h
-  test/QwtWorkspaceSpectrumDataTest.h
-)
-
-mtd_add_qt_tests (TARGET_NAME MantidQtWidgetsLegacyQwtTest
-  QT_VERSION 4
-  SRC ${TEST_FILES}
-  INCLUDE_DIRS
-    ../../../Framework/DataObjects/inc
-    ../../../Framework/TestHelpers/inc
-  TEST_HELPER_SRCS
-    ../../../Framework/TestHelpers/src/TearDownWorld.cpp
-    ../../../Framework/TestHelpers/src/ComponentCreationHelper.cpp
-    ../../../Framework/TestHelpers/src/InstrumentCreationHelper.cpp
-    ../../../Framework/TestHelpers/src/WorkspaceCreationHelper.cpp
-  LINK_LIBS
-    ${CORE_MANTIDLIBS}
-    DataObjects
-    ${POCO_LIBRARIES}
-    ${Boost_LIBRARIES}
-    ${GMOCK_LIBRARIES}
-    ${GTEST_LIBRARIES}
-  QT4_LINK_LIBS
-    Qwt5
-  MTD_QT_LINK_LIBS
-    MantidQtWidgetsCommon
-    MantidQtWidgetsLegacyQwt
-  PARENT_DEPENDENCIES
-    GUITests
-)
diff --git a/qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/DllOption.h b/qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/DllOption.h
deleted file mode 100644
index 4893bacc9b7..00000000000
--- a/qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/DllOption.h
+++ /dev/null
@@ -1,20 +0,0 @@
-// Mantid Repository : https://github.com/mantidproject/mantid
-//
-// Copyright &copy; 2018 ISIS Rutherford Appleton Laboratory UKRI,
-//     NScD Oak Ridge National Laboratory, European Spallation Source
-//     & Institut Laue - Langevin
-// SPDX - License - Identifier: GPL - 3.0 +
-#ifndef MANTIDQT_LEGACYQWT_DLLOPTION_H_
-#define MANTIDQT_LEGACYQWT_DLLOPTION_H_
-
-#include "MantidKernel/System.h"
-
-#ifdef IN_MANTIDQT_LEGACYQWT
-#define EXPORT_OPT_MANTIDQT_LEGACYQWT DLLExport
-#define EXTERN_MANTIDQT_LEGACYQWT
-#else
-#define EXPORT_OPT_MANTIDQT_LEGACYQWT DLLImport
-#define EXTERN_MANTIDQT_LEGACYQWT extern
-#endif /* IN_MANTIDQT_LEGACYQWT */
-
-#endif // MANTIDQT_LEGACYQWT_DLLOPTION_H_
diff --git a/qt/widgets/mplcpp/inc/MantidQtWidgets/MplCpp/MantidColorMap.h b/qt/widgets/mplcpp/inc/MantidQtWidgets/MplCpp/MantidColorMap.h
index 53f27300094..053a8914866 100644
--- a/qt/widgets/mplcpp/inc/MantidQtWidgets/MplCpp/MantidColorMap.h
+++ b/qt/widgets/mplcpp/inc/MantidQtWidgets/MplCpp/MantidColorMap.h
@@ -23,7 +23,7 @@ namespace MplCpp {
 /**
  * @brief The MantidColormap exists to provide an matplotlib-based
  * implementation that satisfies the same colormap interface used by the Qt4
- * Qwt-based version in the LegacyQwt library.
+ * Qwt-based version in the Plotting library.
  */
 class MANTID_MPLCPP_DLL MantidColorMap {
 public:
diff --git a/qt/widgets/mplcpp/src/MantidColorMap.cpp b/qt/widgets/mplcpp/src/MantidColorMap.cpp
index 23769fc6cef..c8170b47211 100644
--- a/qt/widgets/mplcpp/src/MantidColorMap.cpp
+++ b/qt/widgets/mplcpp/src/MantidColorMap.cpp
@@ -46,7 +46,7 @@ QString MantidColorMap::defaultColorMap() { return defaultCMapName(); }
 
 /**
  * @brief Check if a given color map exists. This interface has to
- * match the existing interface in LegacyQwt.
+ * match the existing interface in Plotting.
  * @param name The name of a colormap
  * @return The same name passed to the function if it exists
  * @throws std::runtime_error if the colomap does not exist
diff --git a/qt/widgets/plotting/CMakeLists.txt b/qt/widgets/plotting/CMakeLists.txt
new file mode 100644
index 00000000000..80cb95a5304
--- /dev/null
+++ b/qt/widgets/plotting/CMakeLists.txt
@@ -0,0 +1,133 @@
+# Plotting support library
+#  For Qt4 this is Qwt based and
+
+###########################################################################
+# Qwt5-based implementation
+###########################################################################
+set ( QWT_SRC_FILES
+  src/Qwt/ContourPreviewPlot.cpp
+  src/Qwt/DraggableColorBarWidget.cpp
+  src/Qwt/MantidColorMap.cpp
+  src/Qwt/MantidQwtIMDWorkspaceData.cpp
+  src/Qwt/MantidQwtWorkspaceData.cpp
+  src/Qwt/MWView.cpp
+  src/Qwt/PowerScaleEngine.cpp
+  src/Qwt/QwtHelper.cpp
+  src/Qwt/QwtRasterDataMD.cpp
+  src/Qwt/QwtRasterDataMDNonOrthogonal.cpp
+  src/Qwt/QwtWorkspaceBinData.cpp
+  src/Qwt/QwtWorkspaceSpectrumData.cpp
+  src/Qwt/ScaleEngine.cpp
+  src/Qwt/ColorBarWidget.cpp
+  src/Qwt/DisplayCurveFit.cpp
+  src/Qwt/ErrorCurve.cpp
+  src/Qwt/PeakPicker.cpp
+  src/Qwt/PreviewPlot.cpp
+  src/Qwt/RangeSelector.cpp
+  src/Qwt/SafeQwtPlot.cpp
+  src/Qwt/SignalRange.cpp
+)
+
+set ( QWT_MOC_FILES
+  inc/MantidQtWidgets/Plotting/Qwt/ContourPreviewPlot.h
+  inc/MantidQtWidgets/Plotting/Qwt/DraggableColorBarWidget.h
+  inc/MantidQtWidgets/Plotting/Qwt/ColorBarWidget.h
+  inc/MantidQtWidgets/Plotting/Qwt/MWView.h
+  inc/MantidQtWidgets/Plotting/Qwt/RangeSelector.h
+  inc/MantidQtWidgets/Plotting/Qwt/PeakPicker.h
+  inc/MantidQtWidgets/Plotting/Qwt/DisplayCurveFit.h
+  inc/MantidQtWidgets/Plotting/Qwt/PreviewPlot.h
+  inc/MantidQtWidgets/Plotting/Qwt/SafeQwtPlot.h
+)
+
+# Include files aren't required, but this makes them appear in Visual Studio
+set ( QWT_INC_FILES
+  inc/MantidQtWidgets/Plotting/DllOption.h
+  inc/MantidQtWidgets/Plotting/PreviewPlot.h
+  inc/MantidQtWidgets/Plotting/Qwt/MantidQwtWorkspaceData.h
+  inc/MantidQtWidgets/Plotting/Qwt/QwtRasterDataMD.h
+  inc/MantidQtWidgets/Plotting/Qwt/QwtRasterDataMDNonOrthogonal.h
+  inc/MantidQtWidgets/Plotting/Qwt/QwtWorkspaceBinData.h
+  inc/MantidQtWidgets/Plotting/Qwt/PowerScaleEngine.h
+  inc/MantidQtWidgets/Plotting/Qwt/ScaleEngine.h
+  inc/MantidQtWidgets/Plotting/Qwt/MantidQwtIMDWorkspaceData.h
+  inc/MantidQtWidgets/Plotting/Qwt/SafeQwtPlot.h
+  inc/MantidQtWidgets/Plotting/Qwt/MantidColorMap.h
+  inc/MantidQtWidgets/Plotting/Qwt/ErrorCurve.h
+  inc/MantidQtWidgets/Plotting/Qwt/QwtWorkspaceSpectrumData.h
+  inc/MantidQtWidgets/Plotting/Qwt/QwtHelper.h
+  inc/MantidQtWidgets/Plotting/Qwt/qwt_compat.h
+  inc/MantidQtWidgets/Plotting/Qwt/SignalRange.h
+)
+
+set ( QWT_UI_FILES
+  inc/MantidQtWidgets/Plotting/Qwt/ContourPreviewPlot.ui
+  inc/MantidQtWidgets/Plotting/Qwt/ColorBarWidget.ui
+  inc/MantidQtWidgets/Plotting/Qwt/DisplayCurveFit.ui
+  inc/MantidQtWidgets/Plotting/Qwt/MWView.ui
+  inc/MantidQtWidgets/Plotting/Qwt/PreviewPlot.ui
+)
+
+mtd_add_qt_library (TARGET_NAME MantidQtWidgetsPlotting
+  QT_VERSION 4
+  SRC ${QWT_SRC_FILES}
+  MOC ${QWT_MOC_FILES}
+  NOMOC ${QWT_INC_FILES}
+  UI ${QWT_UI_FILES}
+  DEFS
+    IN_MANTIDQT_PLOTTING
+  INCLUDE_DIRS
+    inc
+  SYSTEM_INCLUDE_DIRS
+    ${Boost_INCLUDE_DIRS}
+  LINK_LIBS
+    ${TCMALLOC_LIBRARIES_LINKTIME}
+    ${CORE_MANTIDLIBS}
+    ${POCO_LIBRARIES}
+    ${Boost_LIBRARIES}
+  QT4_LINK_LIBS
+    Qwt5
+  MTD_QT_LINK_LIBS
+    MantidQtWidgetsCommon
+  INSTALL_DIR
+    ${LIB_DIR}
+  OSX_INSTALL_RPATH
+    @loader_path/../MacOS
+  LINUX_INSTALL_RPATH
+    "\$ORIGIN/../${LIB_DIR}"
+)
+
+set( TEST_FILES
+  test/ContourPreviewPlotTest.h
+  test/MantidColorMapTest.h
+  test/QwtWorkspaceBinDataTest.h
+  test/QwtWorkspaceSpectrumDataTest.h
+  test/SignalRangeTest.h
+)
+
+mtd_add_qt_tests (TARGET_NAME MantidQtWidgetsPlottingTest
+  QT_VERSION 4
+  SRC ${TEST_FILES}
+  INCLUDE_DIRS
+    ../../../Framework/DataObjects/inc
+    ../../../Framework/TestHelpers/inc
+  TEST_HELPER_SRCS
+    ../../../Framework/TestHelpers/src/TearDownWorld.cpp
+    ../../../Framework/TestHelpers/src/ComponentCreationHelper.cpp
+    ../../../Framework/TestHelpers/src/InstrumentCreationHelper.cpp
+    ../../../Framework/TestHelpers/src/WorkspaceCreationHelper.cpp
+  LINK_LIBS
+    ${CORE_MANTIDLIBS}
+    DataObjects
+    ${POCO_LIBRARIES}
+    ${Boost_LIBRARIES}
+    ${GMOCK_LIBRARIES}
+    ${GTEST_LIBRARIES}
+  QT4_LINK_LIBS
+    Qwt5
+  MTD_QT_LINK_LIBS
+    MantidQtWidgetsCommon
+    MantidQtWidgetsPlotting
+  PARENT_DEPENDENCIES
+    GUITests
+)
diff --git a/qt/widgets/plotting/inc/MantidQtWidgets/Plotting/DllOption.h b/qt/widgets/plotting/inc/MantidQtWidgets/Plotting/DllOption.h
new file mode 100644
index 00000000000..43e4f07d851
--- /dev/null
+++ b/qt/widgets/plotting/inc/MantidQtWidgets/Plotting/DllOption.h
@@ -0,0 +1,20 @@
+// Mantid Repository : https://github.com/mantidproject/mantid
+//
+// Copyright &copy; 2018 ISIS Rutherford Appleton Laboratory UKRI,
+//     NScD Oak Ridge National Laboratory, European Spallation Source
+//     & Institut Laue - Langevin
+// SPDX - License - Identifier: GPL - 3.0 +
+#ifndef MANTIDQT_PLOTTING_DLLOPTION_H_
+#define MANTIDQT_PLOTTING_DLLOPTION_H_
+
+#include "MantidKernel/System.h"
+
+#ifdef IN_MANTIDQT_PLOTTING
+#define EXPORT_OPT_MANTIDQT_PLOTTING DLLExport
+#define EXTERN_MANTIDQT_PLOTTING
+#else
+#define EXPORT_OPT_MANTIDQT_PLOTTING DLLImport
+#define EXTERN_MANTIDQT_PLOTTING extern
+#endif /* IN_MANTIDQT_PLOTTING */
+
+#endif // MANTIDQT_PLOTTING_DLLOPTION_H_
diff --git a/qt/widgets/plotting/inc/MantidQtWidgets/Plotting/PreviewPlot.h b/qt/widgets/plotting/inc/MantidQtWidgets/Plotting/PreviewPlot.h
new file mode 100644
index 00000000000..2d1cae701dc
--- /dev/null
+++ b/qt/widgets/plotting/inc/MantidQtWidgets/Plotting/PreviewPlot.h
@@ -0,0 +1,18 @@
+// Mantid Repository : https://github.com/mantidproject/mantid
+//
+// Copyright &copy; 2011 ISIS Rutherford Appleton Laboratory UKRI,
+//     NScD Oak Ridge National Laboratory, European Spallation Source
+//     & Institut Laue - Langevin
+// SPDX - License - Identifier: GPL - 3.0 +
+#ifndef MANTIDQTMANTIDWIDGETS_PREVIEWPLOT_H_
+#define MANTIDQTMANTIDWIDGETS_PREVIEWPLOT_H_
+
+#include <QtGlobal>
+
+#if QT_VERSION < QT_VERSION_CHECK(5, 0, 0)
+#include "MantidQtWidgets/Plotting/Qwt/PreviewPlot.h"
+#else
+#error "PreviewPlot not implemented for Qtglobal >= 5"
+#endif
+
+#endif // MANTIDQTMANTIDWIDGETS_PREVIEWPLOT_H_
diff --git a/qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/ColorBarWidget.h b/qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/ColorBarWidget.h
similarity index 96%
rename from qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/ColorBarWidget.h
rename to qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/ColorBarWidget.h
index aa7ce8d8760..e5e7da1e227 100644
--- a/qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/ColorBarWidget.h
+++ b/qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/ColorBarWidget.h
@@ -7,8 +7,8 @@
 #ifndef MANTID_MANTIDWIDGETS_COLORBARWIDGET_H_
 #define MANTID_MANTIDWIDGETS_COLORBARWIDGET_H_
 
-#include "MantidQtWidgets/LegacyQwt/DllOption.h"
-#include "MantidQtWidgets/LegacyQwt/MantidColorMap.h"
+#include "MantidQtWidgets/Plotting/DllOption.h"
+#include "MantidQtWidgets/Plotting/Qwt/MantidColorMap.h"
 #include "ui_ColorBarWidget.h"
 #include <QMouseEvent>
 #include <QWidget>
@@ -43,7 +43,7 @@ signals:
  * @author Janik Zikovsky
  * @date Oct 31, 2011.
  */
-class EXPORT_OPT_MANTIDQT_LEGACYQWT ColorBarWidget : public QWidget {
+class EXPORT_OPT_MANTIDQT_PLOTTING ColorBarWidget : public QWidget {
   Q_OBJECT
   Q_PROPERTY(double minimum READ getMinimum WRITE setMinimum)
   Q_PROPERTY(double maximum READ getMaximum WRITE setMaximum)
diff --git a/qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/ColorBarWidget.ui b/qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/ColorBarWidget.ui
similarity index 100%
rename from qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/ColorBarWidget.ui
rename to qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/ColorBarWidget.ui
diff --git a/qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/ContourPreviewPlot.h b/qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/ContourPreviewPlot.h
similarity index 97%
rename from qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/ContourPreviewPlot.h
rename to qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/ContourPreviewPlot.h
index bf062458cf3..17597114466 100644
--- a/qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/ContourPreviewPlot.h
+++ b/qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/ContourPreviewPlot.h
@@ -9,12 +9,12 @@
 
 #include "ui_ContourPreviewPlot.h"
 
-#include "DllOption.h"
 #include "MantidAPI/IMDWorkspace.h"
 #include "MantidAPI/MatrixWorkspace_fwd.h"
 #include "MantidGeometry/MDGeometry/MDHistoDimension.h"
 #include "MantidQtWidgets/Common/MdSettings.h"
 #include "MantidQtWidgets/Common/WorkspaceObserver.h"
+#include "MantidQtWidgets/Plotting/DllOption.h"
 
 #include <qwt_plot_spectrogram.h>
 
@@ -42,7 +42,7 @@ using MWDimension_const_sptr =
     boost::shared_ptr<Mantid::API::MWDimension const>;
 using DimensionRange = std::pair<Mantid::coord_t, Mantid::coord_t>;
 
-class EXPORT_OPT_MANTIDQT_LEGACYQWT ContourPreviewPlot
+class EXPORT_OPT_MANTIDQT_PLOTTING ContourPreviewPlot
     : public QWidget,
       public MantidQt::API::WorkspaceObserver {
   Q_OBJECT
diff --git a/qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/ContourPreviewPlot.ui b/qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/ContourPreviewPlot.ui
similarity index 96%
rename from qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/ContourPreviewPlot.ui
rename to qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/ContourPreviewPlot.ui
index cfac215cf6c..37dd43e83ba 100644
--- a/qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/ContourPreviewPlot.ui
+++ b/qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/ContourPreviewPlot.ui
@@ -114,12 +114,12 @@
   <customwidget>
    <class>MantidQt::MantidWidgets::ColorBarWidget</class>
    <extends>QWidget</extends>
-   <header>MantidQtWidgets/LegacyQwt/ColorBarWidget.h</header>
+   <header>MantidQtWidgets/Plotting/Qwt/ColorBarWidget.h</header>
   </customwidget>
   <customwidget>
    <class>MantidQt::MantidWidgets::SafeQwtPlot</class>
    <extends>QwtPlot</extends>
-   <header>MantidQtWidgets/LegacyQwt/SafeQwtPlot.h</header>
+   <header>MantidQtWidgets/Plotting/Qwt/SafeQwtPlot.h</header>
    <container>1</container>
   </customwidget>
  </customwidgets>
diff --git a/qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/DisplayCurveFit.h b/qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/DisplayCurveFit.h
similarity index 95%
rename from qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/DisplayCurveFit.h
rename to qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/DisplayCurveFit.h
index e6dd0afaa8e..caa326b6533 100644
--- a/qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/DisplayCurveFit.h
+++ b/qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/DisplayCurveFit.h
@@ -7,9 +7,9 @@
 #ifndef MANTID_MANTIDWIDGETS_DISPLAYCURVEFIT_H_
 #define MANTID_MANTIDWIDGETS_DISPLAYCURVEFIT_H_
 // includes for interface development
-#include "DllOption.h"
 #include "MantidQtWidgets/Common/MantidWidget.h"
-#include "MantidQtWidgets/LegacyQwt/RangeSelector.h"
+#include "MantidQtWidgets/Plotting/DllOption.h"
+#include "MantidQtWidgets/Plotting/Qwt/RangeSelector.h"
 #include "ui_DisplayCurveFit.h"
 // includes for workspace handling
 #include "MantidAPI/MatrixWorkspace.h"
@@ -39,7 +39,7 @@ class RangeSelector;
 
   @date 2016-02-11
 */
-class EXPORT_OPT_MANTIDQT_LEGACYQWT DisplayCurveFit : public API::MantidWidget {
+class EXPORT_OPT_MANTIDQT_PLOTTING DisplayCurveFit : public API::MantidWidget {
   Q_OBJECT
 
 public:
diff --git a/qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/DisplayCurveFit.ui b/qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/DisplayCurveFit.ui
similarity index 97%
rename from qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/DisplayCurveFit.ui
rename to qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/DisplayCurveFit.ui
index eb41a4d393e..9780714d671 100644
--- a/qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/DisplayCurveFit.ui
+++ b/qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/DisplayCurveFit.ui
@@ -84,7 +84,7 @@
   <customwidget>
    <class>MantidQt::MantidWidgets::PreviewPlot</class>
    <extends>QWidget</extends>
-   <header>MantidQtWidgets/LegacyQwt/PreviewPlot.h</header>
+   <header>MantidQtWidgets/Plotting/Qwt/PreviewPlot.h</header>
    <container>1</container>
   </customwidget>
  </customwidgets>
diff --git a/qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/DraggableColorBarWidget.h b/qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/DraggableColorBarWidget.h
similarity index 95%
rename from qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/DraggableColorBarWidget.h
rename to qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/DraggableColorBarWidget.h
index f30d2949534..f5d99aeb904 100644
--- a/qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/DraggableColorBarWidget.h
+++ b/qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/DraggableColorBarWidget.h
@@ -7,7 +7,7 @@
 #ifndef DRAGGABLECOLORBARWIDGET_H_
 #define DRAGGABLECOLORBARWIDGET_H_
 
-#include "DllOption.h"
+#include "MantidQtWidgets/Plotting/DllOption.h"
 #include <QFrame>
 
 class MantidColorMap;
@@ -23,7 +23,7 @@ namespace MantidWidgets {
 /**
  * Displays a color map with numeric axis and editable bounds
  */
-class EXPORT_OPT_MANTIDQT_LEGACYQWT DraggableColorBarWidget : public QFrame {
+class EXPORT_OPT_MANTIDQT_PLOTTING DraggableColorBarWidget : public QFrame {
   Q_OBJECT
   enum DragType { Bottom, Top };
 
diff --git a/qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/ErrorCurve.h b/qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/ErrorCurve.h
similarity index 91%
rename from qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/ErrorCurve.h
rename to qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/ErrorCurve.h
index 93d81de1df8..737b50215a2 100644
--- a/qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/ErrorCurve.h
+++ b/qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/ErrorCurve.h
@@ -7,7 +7,7 @@
 #ifndef MANTIDWIDGETS_ERRORCURVE_H
 #define MANTIDWIDGETS_ERRORCURVE_H
 
-#include "DllOption.h"
+#include "MantidQtWidgets/Plotting/DllOption.h"
 #include <qwt_plot_curve.h>
 #include <qwt_plot_item.h>
 
@@ -15,7 +15,7 @@ namespace MantidQt {
 namespace MantidWidgets {
 
 /// Curve to draw error bars.
-class EXPORT_OPT_MANTIDQT_LEGACYQWT ErrorCurve : public QwtPlotItem {
+class EXPORT_OPT_MANTIDQT_PLOTTING ErrorCurve : public QwtPlotItem {
 
 public:
   ErrorCurve(const QwtPlotCurve *dataCurve,
diff --git a/qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/MWView.h b/qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/MWView.h
similarity index 97%
rename from qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/MWView.h
rename to qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/MWView.h
index 99bab26b4c2..84ba598336c 100644
--- a/qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/MWView.h
+++ b/qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/MWView.h
@@ -8,8 +8,8 @@
 #define MANTID_MANTIDWIDGETS_MWVIEW_H_
 
 // includes for interface development
-#include "DllOption.h"
 #include "MantidQtWidgets/Common/MdSettings.h"
+#include "MantidQtWidgets/Plotting/DllOption.h"
 #include "ui_MWView.h"
 #include <QWidget>
 #include <qwt_plot_spectrogram.h>
@@ -51,7 +51,7 @@ using MWDimension_const_sptr =
 
   @date 2016-02-05
 */
-class EXPORT_OPT_MANTIDQT_LEGACYQWT MWView
+class EXPORT_OPT_MANTIDQT_PLOTTING MWView
     : public QWidget,
       public MantidQt::API::WorkspaceObserver {
   Q_OBJECT
diff --git a/qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/MWView.ui b/qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/MWView.ui
similarity index 93%
rename from qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/MWView.ui
rename to qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/MWView.ui
index 220ac58f545..585027bced9 100644
--- a/qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/MWView.ui
+++ b/qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/MWView.ui
@@ -56,12 +56,12 @@
   <customwidget>
    <class>MantidQt::MantidWidgets::ColorBarWidget</class>
    <extends>QWidget</extends>
-   <header>MantidQtWidgets/LegacyQwt/ColorBarWidget.h</header>
+   <header>MantidQtWidgets/Plotting/Qwt/ColorBarWidget.h</header>
   </customwidget>
   <customwidget>
    <class>MantidQt::MantidWidgets::SafeQwtPlot</class>
    <extends>QwtPlot</extends>
-   <header>MantidQtWidgets/LegacyQwt/SafeQwtPlot.h</header>
+   <header>MantidQtWidgets/Plotting/Qwt/SafeQwtPlot.h</header>
    <container>1</container>
   </customwidget>
  </customwidgets>
diff --git a/qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/MantidColorMap.h b/qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/MantidColorMap.h
similarity index 96%
rename from qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/MantidColorMap.h
rename to qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/MantidColorMap.h
index 25da61fcbb6..f5390632702 100644
--- a/qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/MantidColorMap.h
+++ b/qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/MantidColorMap.h
@@ -10,8 +10,8 @@
 //---------------------------------------------
 // Includes
 //---------------------------------------------
-#include "DllOption.h"
 #include "MantidQtWidgets/Common/GraphOptions.h"
+#include "MantidQtWidgets/Plotting/DllOption.h"
 #include "qwt_color_map.h"
 
 /**
@@ -19,7 +19,7 @@
    from a file.
    There is also a mode which indicates the scale type.
 */
-class EXPORT_OPT_MANTIDQT_LEGACYQWT MantidColorMap : public QwtColorMap {
+class EXPORT_OPT_MANTIDQT_PLOTTING MantidColorMap : public QwtColorMap {
 
 public:
   /// Define the possible scale types
diff --git a/qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/MantidQwtIMDWorkspaceData.h b/qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/MantidQwtIMDWorkspaceData.h
similarity index 95%
rename from qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/MantidQwtIMDWorkspaceData.h
rename to qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/MantidQwtIMDWorkspaceData.h
index 4f196d7fdbb..da531a52ea2 100644
--- a/qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/MantidQwtIMDWorkspaceData.h
+++ b/qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/MantidQwtIMDWorkspaceData.h
@@ -9,8 +9,8 @@
 
 #include "MantidAPI/IMDWorkspace.h"
 #include "MantidKernel/VMD.h"
-#include "MantidQtWidgets/LegacyQwt/DllOption.h"
-#include "MantidQtWidgets/LegacyQwt/MantidQwtWorkspaceData.h"
+#include "MantidQtWidgets/Plotting/DllOption.h"
+#include "MantidQtWidgets/Plotting/Qwt/MantidQwtWorkspaceData.h"
 #include <boost/weak_ptr.hpp>
 
 /** This class is used to plot MDWorkspace line plots.
@@ -19,7 +19,7 @@
  * It implements the QwtData interface.
  *
  */
-class EXPORT_OPT_MANTIDQT_LEGACYQWT MantidQwtIMDWorkspaceData
+class EXPORT_OPT_MANTIDQT_PLOTTING MantidQwtIMDWorkspaceData
     : public MantidQwtWorkspaceData {
 public:
   /// For PlotAxisChoice, auto-determine it
diff --git a/qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/MantidQwtWorkspaceData.h b/qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/MantidQwtWorkspaceData.h
similarity index 93%
rename from qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/MantidQwtWorkspaceData.h
rename to qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/MantidQwtWorkspaceData.h
index cb0b13da93a..19e6c8c61e0 100644
--- a/qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/MantidQwtWorkspaceData.h
+++ b/qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/MantidQwtWorkspaceData.h
@@ -7,7 +7,7 @@
 #ifndef MANTIDQTAPI_MANTIDQWTWORKSPACEDATA_H
 #define MANTIDQTAPI_MANTIDQWTWORKSPACEDATA_H
 
-#include "DllOption.h"
+#include "MantidQtWidgets/Plotting/DllOption.h"
 #include "qwt_data.h"
 
 //-----------------------------------------------------------------------------
@@ -22,7 +22,7 @@ class MatrixWorkspace;
 /**
  * Base class for Workspace Qwt data types
  */
-class EXPORT_OPT_MANTIDQT_LEGACYQWT MantidQwtWorkspaceData : public QwtData {
+class EXPORT_OPT_MANTIDQT_PLOTTING MantidQwtWorkspaceData : public QwtData {
 public:
   MantidQwtWorkspaceData(bool logScaleY);
   MantidQwtWorkspaceData(const MantidQwtWorkspaceData &data);
@@ -87,7 +87,7 @@ private:
 /**
  * Base class for MatrixWorkspace Qwt data types
  */
-class EXPORT_OPT_MANTIDQT_LEGACYQWT MantidQwtMatrixWorkspaceData
+class EXPORT_OPT_MANTIDQT_PLOTTING MantidQwtMatrixWorkspaceData
     : public MantidQwtWorkspaceData {
 public:
   MantidQwtMatrixWorkspaceData(bool logScaleY);
diff --git a/qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/PeakPicker.h b/qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/PeakPicker.h
similarity index 91%
rename from qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/PeakPicker.h
rename to qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/PeakPicker.h
index 2c16bb09730..f013b14c691 100644
--- a/qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/PeakPicker.h
+++ b/qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/PeakPicker.h
@@ -10,7 +10,7 @@
 #include "MantidKernel/System.h"
 
 #include "MantidAPI/IPeakFunction.h"
-#include "MantidQtWidgets/LegacyQwt/DllOption.h"
+#include "MantidQtWidgets/Plotting/DllOption.h"
 
 #include <qwt_plot.h>
 #include <qwt_plot_marker.h>
@@ -22,8 +22,8 @@ namespace MantidWidgets {
 /** PeakPicker : A simplified version of PeakPickerTool, available for use on
   general QwtPlots.
 */
-class EXPORT_OPT_MANTIDQT_LEGACYQWT PeakPicker : public QwtPlotPicker,
-                                                 public QwtPlotItem {
+class EXPORT_OPT_MANTIDQT_PLOTTING PeakPicker : public QwtPlotPicker,
+                                                public QwtPlotItem {
   Q_OBJECT
 
 public:
diff --git a/qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/PowerScaleEngine.h b/qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/PowerScaleEngine.h
similarity index 95%
rename from qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/PowerScaleEngine.h
rename to qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/PowerScaleEngine.h
index 9a86e61136e..52eaf4538b4 100644
--- a/qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/PowerScaleEngine.h
+++ b/qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/PowerScaleEngine.h
@@ -30,12 +30,12 @@
 #ifndef POWER_SCALE_ENGINE_H
 #define POWER_SCALE_ENGINE_H
 
-#include "MantidQtWidgets/LegacyQwt/DllOption.h"
+#include "MantidQtWidgets/Plotting/DllOption.h"
 #include "ScaleEngine.h"
 #include <qwt_scale_engine.h>
 #include <qwt_scale_map.h>
 
-class EXPORT_OPT_MANTIDQT_LEGACYQWT PowerScaleTransformation
+class EXPORT_OPT_MANTIDQT_PLOTTING PowerScaleTransformation
     : public ScaleTransformation {
 public:
   PowerScaleTransformation(const ScaleEngine *engine)
@@ -55,7 +55,7 @@ private:
   \brief A scale engine for power (X^n) scales
 */
 
-class EXPORT_OPT_MANTIDQT_LEGACYQWT PowerScaleEngine : public QwtScaleEngine {
+class EXPORT_OPT_MANTIDQT_PLOTTING PowerScaleEngine : public QwtScaleEngine {
 public:
   void autoScale(int maxSteps, double &x1, double &x2,
                  double &stepSize) const override;
diff --git a/qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/PreviewPlot.h b/qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/PreviewPlot.h
similarity index 92%
rename from qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/PreviewPlot.h
rename to qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/PreviewPlot.h
index e964f77a017..a574fb40d3e 100644
--- a/qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/PreviewPlot.h
+++ b/qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/PreviewPlot.h
@@ -4,15 +4,15 @@
 //     NScD Oak Ridge National Laboratory, European Spallation Source
 //     & Institut Laue - Langevin
 // SPDX - License - Identifier: GPL - 3.0 +
-#ifndef MANTIDQTMANTIDWIDGETS_PREVIEWPLOT_H_
-#define MANTIDQTMANTIDWIDGETS_PREVIEWPLOT_H_
+#ifndef MANTIDQTMANTIDWIDGETS_QWT_PREVIEWPLOT_H_
+#define MANTIDQTMANTIDWIDGETS_QWT_PREVIEWPLOT_H_
 
 #include "ui_PreviewPlot.h"
 
-#include "DllOption.h"
 #include "MantidQtWidgets/Common/MantidWidget.h"
-#include "MantidQtWidgets/LegacyQwt/ErrorCurve.h"
-#include "MantidQtWidgets/LegacyQwt/RangeSelector.h"
+#include "MantidQtWidgets/Plotting/DllOption.h"
+#include "MantidQtWidgets/Plotting/Qwt/ErrorCurve.h"
+#include "MantidQtWidgets/Plotting/Qwt/RangeSelector.h"
 
 #include "MantidAPI/AnalysisDataService.h"
 #include "MantidAPI/MatrixWorkspace.h"
@@ -44,7 +44,7 @@ Gives option to use pan and zoom options to navigate plot.
 // forward declaration
 class DisplayCurveFit;
 
-class EXPORT_OPT_MANTIDQT_LEGACYQWT PreviewPlot : public API::MantidWidget {
+class EXPORT_OPT_MANTIDQT_PLOTTING PreviewPlot : public API::MantidWidget {
   Q_OBJECT
 
   Q_PROPERTY(QColor canvasColour READ canvasColour WRITE setCanvasColour)
@@ -69,7 +69,7 @@ public:
   QPair<double, double> getCurveRange(const QString &curveName);
 
   void addSpectrum(const QString &curveName,
-                   const Mantid::API::MatrixWorkspace_sptr ws,
+                   const Mantid::API::MatrixWorkspace_sptr &ws,
                    const size_t wsIndex = 0,
                    const QColor &curveColour = QColor());
   void addSpectrum(const QString &curveName, const QString &wsName,
@@ -197,4 +197,4 @@ private:
 } // namespace MantidWidgets
 } // namespace MantidQt
 
-#endif // MANTIDQTMANTIDWIDGETS_PREVIEWPLOT_H_
+#endif // MANTIDQTMANTIDWIDGETS_QWT_PREVIEWPLOT_H_
diff --git a/qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/PreviewPlot.ui b/qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/PreviewPlot.ui
similarity index 100%
rename from qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/PreviewPlot.ui
rename to qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/PreviewPlot.ui
diff --git a/qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/QwtHelper.h b/qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/QwtHelper.h
similarity index 77%
rename from qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/QwtHelper.h
rename to qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/QwtHelper.h
index 06880a90174..02ba028bc83 100644
--- a/qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/QwtHelper.h
+++ b/qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/QwtHelper.h
@@ -7,10 +7,10 @@
 #ifndef MANTID_API_QWTHELPER_H_
 #define MANTID_API_QWTHELPER_H_
 
-#include "DllOption.h"
 #include "MantidAPI/IFunction.h"
 #include "MantidAPI/MatrixWorkspace_fwd.h"
 #include "MantidKernel/System.h"
+#include "MantidQtWidgets/Plotting/DllOption.h"
 
 #include <qwt_data.h>
 
@@ -18,30 +18,30 @@ namespace MantidQt {
 namespace API {
 namespace QwtHelper {
 /// Create Qwt curve data from a workspace
-EXPORT_OPT_MANTIDQT_LEGACYQWT boost::shared_ptr<QwtData>
+EXPORT_OPT_MANTIDQT_PLOTTING boost::shared_ptr<QwtData>
 curveDataFromWs(Mantid::API::MatrixWorkspace_const_sptr ws, size_t wsIndex);
 
 /// Create vector of Qwt curve data from a workspace, used for EnggDiffraction
 /// GUI
-EXPORT_OPT_MANTIDQT_LEGACYQWT std::vector<boost::shared_ptr<QwtData>>
+EXPORT_OPT_MANTIDQT_PLOTTING std::vector<boost::shared_ptr<QwtData>>
 curveDataFromWs(Mantid::API::MatrixWorkspace_const_sptr ws);
 
 /// Create error vector from a workspace
-EXPORT_OPT_MANTIDQT_LEGACYQWT std::vector<double>
+EXPORT_OPT_MANTIDQT_PLOTTING std::vector<double>
 curveErrorsFromWs(Mantid::API::MatrixWorkspace_const_sptr ws, size_t wsIndex);
 
 /// Create Qwt curve data from a function
-EXPORT_OPT_MANTIDQT_LEGACYQWT boost::shared_ptr<QwtData>
+EXPORT_OPT_MANTIDQT_PLOTTING boost::shared_ptr<QwtData>
 curveDataFromFunction(Mantid::API::IFunction_const_sptr func,
                       const std::vector<double> &xValues);
 
 /// Create workspace filled with function values
-EXPORT_OPT_MANTIDQT_LEGACYQWT Mantid::API::MatrixWorkspace_sptr
+EXPORT_OPT_MANTIDQT_PLOTTING Mantid::API::MatrixWorkspace_sptr
 createWsFromFunction(Mantid::API::IFunction_const_sptr func,
                      const std::vector<double> &xValues);
 
 /// Creates empty Qwt curve data
-EXPORT_OPT_MANTIDQT_LEGACYQWT boost::shared_ptr<QwtData> emptyCurveData();
+EXPORT_OPT_MANTIDQT_PLOTTING boost::shared_ptr<QwtData> emptyCurveData();
 
 } // namespace QwtHelper
 } // namespace API
diff --git a/qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/QwtRasterDataMD.h b/qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/QwtRasterDataMD.h
similarity index 96%
rename from qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/QwtRasterDataMD.h
rename to qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/QwtRasterDataMD.h
index f0d4fe273d5..9de029cd60e 100644
--- a/qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/QwtRasterDataMD.h
+++ b/qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/QwtRasterDataMD.h
@@ -13,7 +13,7 @@
 #include "MantidGeometry/MDGeometry/IMDDimension.h"
 #include "MantidGeometry/MDGeometry/MDHistoDimension.h"
 #include "MantidGeometry/MDGeometry/MDTypes.h"
-#include "MantidQtWidgets/LegacyQwt/DllOption.h"
+#include "MantidQtWidgets/Plotting/DllOption.h"
 
 #include <qwt_double_interval.h>
 #include <qwt_raster_data.h>
@@ -33,7 +33,7 @@ namespace API {
  * @date Sep 29, 2011
  */
 
-class EXPORT_OPT_MANTIDQT_LEGACYQWT QwtRasterDataMD : public QwtRasterData {
+class EXPORT_OPT_MANTIDQT_PLOTTING QwtRasterDataMD : public QwtRasterData {
 public:
   QwtRasterDataMD();
   ~QwtRasterDataMD() override;
diff --git a/qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/QwtRasterDataMDNonOrthogonal.h b/qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/QwtRasterDataMDNonOrthogonal.h
similarity index 88%
rename from qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/QwtRasterDataMDNonOrthogonal.h
rename to qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/QwtRasterDataMDNonOrthogonal.h
index 26151b2f7ec..be278292905 100644
--- a/qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/QwtRasterDataMDNonOrthogonal.h
+++ b/qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/QwtRasterDataMDNonOrthogonal.h
@@ -9,14 +9,14 @@
 
 #include "MantidAPI/IMDWorkspace.h"
 #include "MantidKernel/Matrix.h"
-#include "MantidQtWidgets/LegacyQwt/DllOption.h"
-#include "MantidQtWidgets/LegacyQwt/QwtRasterDataMD.h"
+#include "MantidQtWidgets/Plotting/DllOption.h"
+#include "MantidQtWidgets/Plotting/Qwt/QwtRasterDataMD.h"
 #include <array>
 
 namespace MantidQt {
 namespace API {
 
-class EXPORT_OPT_MANTIDQT_LEGACYQWT QwtRasterDataMDNonOrthogonal
+class EXPORT_OPT_MANTIDQT_PLOTTING QwtRasterDataMDNonOrthogonal
     : public QwtRasterDataMD {
 public:
   QwtRasterDataMDNonOrthogonal();
diff --git a/qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/QwtWorkspaceBinData.h b/qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/QwtWorkspaceBinData.h
similarity index 93%
rename from qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/QwtWorkspaceBinData.h
rename to qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/QwtWorkspaceBinData.h
index 539cf631fa5..d8e39c4af4d 100644
--- a/qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/QwtWorkspaceBinData.h
+++ b/qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/QwtWorkspaceBinData.h
@@ -7,10 +7,10 @@
 #ifndef MANTIDQTAPI_QWTWORKSPACEBINDATA_H
 #define MANTIDQTAPI_QWTWORKSPACEBINDATA_H
 
-#include "DllOption.h"
 #include "MantidAPI/MatrixWorkspace_fwd.h"
 #include "MantidKernel/cow_ptr.h"
-#include "MantidQtWidgets/LegacyQwt/MantidQwtWorkspaceData.h"
+#include "MantidQtWidgets/Plotting/DllOption.h"
+#include "MantidQtWidgets/Plotting/Qwt/MantidQwtWorkspaceData.h"
 
 #include <boost/shared_ptr.hpp>
 
@@ -21,7 +21,7 @@
 /**  This class implements QwtData with direct access to a spectrum in a
  * MatrixWorkspace.
  */
-class EXPORT_OPT_MANTIDQT_LEGACYQWT QwtWorkspaceBinData
+class EXPORT_OPT_MANTIDQT_PLOTTING QwtWorkspaceBinData
     : public MantidQwtMatrixWorkspaceData {
 public:
   QwtWorkspaceBinData(const Mantid::API::MatrixWorkspace &workspace,
diff --git a/qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/QwtWorkspaceSpectrumData.h b/qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/QwtWorkspaceSpectrumData.h
similarity index 95%
rename from qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/QwtWorkspaceSpectrumData.h
rename to qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/QwtWorkspaceSpectrumData.h
index 796405aef51..139e92f6e56 100644
--- a/qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/QwtWorkspaceSpectrumData.h
+++ b/qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/QwtWorkspaceSpectrumData.h
@@ -7,11 +7,11 @@
 #ifndef MANTIDQTAPI_QWTWORKSPACESPECTRUMDATA_H
 #define MANTIDQTAPI_QWTWORKSPACESPECTRUMDATA_H
 
-#include "DllOption.h"
 #include "MantidAPI/MatrixWorkspace_fwd.h"
 #include "MantidKernel/cow_ptr.h"
 #include "MantidQtWidgets/Common/DistributionOptions.h"
-#include "MantidQtWidgets/LegacyQwt/MantidQwtWorkspaceData.h"
+#include "MantidQtWidgets/Plotting/DllOption.h"
+#include "MantidQtWidgets/Plotting/Qwt/MantidQwtWorkspaceData.h"
 
 #include <QString>
 #include <boost/shared_ptr.hpp>
@@ -21,7 +21,7 @@
 /**  This class implements QwtData with direct access to a spectrum in a
  * MatrixWorkspace.
  */
-class EXPORT_OPT_MANTIDQT_LEGACYQWT QwtWorkspaceSpectrumData
+class EXPORT_OPT_MANTIDQT_PLOTTING QwtWorkspaceSpectrumData
     : public MantidQwtMatrixWorkspaceData {
 public:
   QwtWorkspaceSpectrumData(const Mantid::API::MatrixWorkspace &workspace,
diff --git a/qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/RangeSelector.h b/qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/RangeSelector.h
similarity index 96%
rename from qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/RangeSelector.h
rename to qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/RangeSelector.h
index b3057bf0feb..a19f22623f9 100644
--- a/qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/RangeSelector.h
+++ b/qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/RangeSelector.h
@@ -7,7 +7,7 @@
 #ifndef MANTIDQT_MANTIDWIDGET_POSHPLOTTING_H
 #define MANTIDQT_MANTIDWIDGET_POSHPLOTTING_H
 
-#include "DllOption.h"
+#include "MantidQtWidgets/Plotting/DllOption.h"
 
 #include <qwt_plot.h>
 #include <qwt_plot_marker.h>
@@ -24,7 +24,7 @@ class PreviewPlot;
  * @author Michael Whitty, RAL ISIS
  * @date 11/10/2010
  */
-class EXPORT_OPT_MANTIDQT_LEGACYQWT RangeSelector : public QwtPlotPicker {
+class EXPORT_OPT_MANTIDQT_PLOTTING RangeSelector : public QwtPlotPicker {
   Q_OBJECT
 public:
   enum SelectType { XMINMAX, XSINGLE, YMINMAX, YSINGLE };
diff --git a/qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/SafeQwtPlot.h b/qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/SafeQwtPlot.h
similarity index 90%
rename from qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/SafeQwtPlot.h
rename to qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/SafeQwtPlot.h
index d6b8fe861b3..7b97589cfaa 100644
--- a/qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/SafeQwtPlot.h
+++ b/qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/SafeQwtPlot.h
@@ -7,9 +7,8 @@
 #ifndef MANTID_MANTIDWIDGETS_SAFEQWTPLOT_H_
 #define MANTID_MANTIDWIDGETS_SAFEQWTPLOT_H_
 
-#include "DllOption.h"
 #include "MantidAPI/Workspace_fwd.h"
-#include "MantidQtWidgets/LegacyQwt/DllOption.h"
+#include "MantidQtWidgets/Plotting/DllOption.h"
 #include "qwt_text.h"
 #include <QPainter>
 #include <qwt_plot.h>
@@ -28,7 +27,7 @@ namespace MantidWidgets {
 
   @date 2012-01-24
 */
-class EXPORT_OPT_MANTIDQT_LEGACYQWT SafeQwtPlot : public QwtPlot {
+class EXPORT_OPT_MANTIDQT_PLOTTING SafeQwtPlot : public QwtPlot {
   Q_OBJECT
 
 public:
diff --git a/qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/ScaleEngine.h b/qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/ScaleEngine.h
similarity index 96%
rename from qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/ScaleEngine.h
rename to qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/ScaleEngine.h
index 728f915d714..c17d78b257b 100644
--- a/qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/ScaleEngine.h
+++ b/qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/ScaleEngine.h
@@ -30,14 +30,14 @@
 #ifndef SCALE_ENGINE_H
 #define SCALE_ENGINE_H
 
-#include "MantidQtWidgets/LegacyQwt/DllOption.h"
+#include "MantidQtWidgets/Plotting/DllOption.h"
 #include <float.h>
 #include <qwt_scale_engine.h>
 #include <qwt_scale_map.h>
 
 class ScaleEngine;
 
-class EXPORT_OPT_MANTIDQT_LEGACYQWT ScaleTransformation
+class EXPORT_OPT_MANTIDQT_PLOTTING ScaleTransformation
     : public QwtScaleTransformation {
 public:
   enum Type { Linear, Log10, Power };
@@ -57,7 +57,7 @@ protected:
   const ScaleEngine *d_engine;
 };
 
-class EXPORT_OPT_MANTIDQT_LEGACYQWT ScaleEngine : public QwtScaleEngine {
+class EXPORT_OPT_MANTIDQT_PLOTTING ScaleEngine : public QwtScaleEngine {
 public:
   ScaleEngine(ScaleTransformation::Type type = ScaleTransformation::Linear,
               double left_break = -DBL_MAX, double right_break = DBL_MAX);
diff --git a/qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/SignalRange.h b/qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/SignalRange.h
similarity index 94%
rename from qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/SignalRange.h
rename to qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/SignalRange.h
index 36b993fe52c..50b9954bf5c 100644
--- a/qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/SignalRange.h
+++ b/qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/SignalRange.h
@@ -8,7 +8,7 @@
 #define MANTIDQT_API_SIGNALRANGE_H_
 
 #include "MantidAPI/IMDWorkspace.h"
-#include "MantidQtWidgets/LegacyQwt/DllOption.h"
+#include "MantidQtWidgets/Plotting/DllOption.h"
 
 #include <qwt_double_interval.h>
 
@@ -17,7 +17,7 @@ namespace API {
 /**
  Calculates the signal range from a given workspace and optional MDFunction
 */
-class EXPORT_OPT_MANTIDQT_LEGACYQWT SignalRange {
+class EXPORT_OPT_MANTIDQT_PLOTTING SignalRange {
 public:
   SignalRange(const Mantid::API::IMDWorkspace &workspace,
               const Mantid::API::MDNormalization normalization =
diff --git a/qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/qwt_compat.h b/qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/qwt_compat.h
similarity index 100%
rename from qt/widgets/legacyqwt/inc/MantidQtWidgets/LegacyQwt/qwt_compat.h
rename to qt/widgets/plotting/inc/MantidQtWidgets/Plotting/Qwt/qwt_compat.h
diff --git a/qt/widgets/plotting/inc/MantidQtWidgets/Plotting/RangeSelector.h b/qt/widgets/plotting/inc/MantidQtWidgets/Plotting/RangeSelector.h
new file mode 100644
index 00000000000..6d1392748f8
--- /dev/null
+++ b/qt/widgets/plotting/inc/MantidQtWidgets/Plotting/RangeSelector.h
@@ -0,0 +1,18 @@
+// Mantid Repository : https://github.com/mantidproject/mantid
+//
+// Copyright &copy; 2018 ISIS Rutherford Appleton Laboratory UKRI,
+//     NScD Oak Ridge National Laboratory, European Spallation Source
+//     & Institut Laue - Langevin
+// SPDX - License - Identifier: GPL - 3.0 +
+#ifndef MANTIDQT_MANTIDWIDGET_RANGESELECTOR_H
+#define MANTIDQT_MANTIDWIDGET_RANGESELECTOR_H
+
+#include <QtGlobal>
+
+#if QT_VERSION < QT_VERSION_CHECK(5, 0, 0)
+#include "MantidQtWidgets/Plotting/Qwt/RangeSelector.h"
+#else
+#error "RangeSelector not implemented for Qtglobal >= 5"
+#endif
+
+#endif // MANTIDQT_MANTIDWIDGET_RANGESELECTOR_H
diff --git a/qt/widgets/legacyqwt/src/ColorBarWidget.cpp b/qt/widgets/plotting/src/Qwt/ColorBarWidget.cpp
similarity index 98%
rename from qt/widgets/legacyqwt/src/ColorBarWidget.cpp
rename to qt/widgets/plotting/src/Qwt/ColorBarWidget.cpp
index ec168263c80..db9affbe329 100644
--- a/qt/widgets/legacyqwt/src/ColorBarWidget.cpp
+++ b/qt/widgets/plotting/src/Qwt/ColorBarWidget.cpp
@@ -4,11 +4,11 @@
 //     NScD Oak Ridge National Laboratory, European Spallation Source
 //     & Institut Laue - Langevin
 // SPDX - License - Identifier: GPL - 3.0 +
-#include "MantidQtWidgets/LegacyQwt/ColorBarWidget.h"
+#include "MantidQtWidgets/Plotting/Qwt/ColorBarWidget.h"
 #include "MantidQtWidgets/Common/QScienceSpinBox.h"
 #include "MantidQtWidgets/Common/TSVSerialiser.h"
-#include "MantidQtWidgets/LegacyQwt/MantidColorMap.h"
-#include "MantidQtWidgets/LegacyQwt/PowerScaleEngine.h"
+#include "MantidQtWidgets/Plotting/Qwt/MantidColorMap.h"
+#include "MantidQtWidgets/Plotting/Qwt/PowerScaleEngine.h"
 #include <QKeyEvent>
 #include <QToolTip>
 #include <qwt_scale_engine.h>
diff --git a/qt/widgets/legacyqwt/src/ContourPreviewPlot.cpp b/qt/widgets/plotting/src/Qwt/ContourPreviewPlot.cpp
similarity index 98%
rename from qt/widgets/legacyqwt/src/ContourPreviewPlot.cpp
rename to qt/widgets/plotting/src/Qwt/ContourPreviewPlot.cpp
index 5e5d1003676..44d08fcbe1b 100644
--- a/qt/widgets/legacyqwt/src/ContourPreviewPlot.cpp
+++ b/qt/widgets/plotting/src/Qwt/ContourPreviewPlot.cpp
@@ -4,16 +4,16 @@
 //     NScD Oak Ridge National Laboratory, European Spallation Source
 //     & Institut Laue - Langevin
 // SPDX - License - Identifier: GPL - 3.0 +
-#include "MantidQtWidgets/LegacyQwt/ContourPreviewPlot.h"
+#include "MantidQtWidgets/Plotting/Qwt/ContourPreviewPlot.h"
+#include "MantidQtWidgets/Plotting/Qwt/MantidColorMap.h"
+#include "MantidQtWidgets/Plotting/Qwt/QwtRasterDataMD.h"
+#include "MantidQtWidgets/Plotting/Qwt/SignalRange.h"
 
 #include "MantidAPI/MatrixWorkspace.h"
 #include "MantidGeometry/MDGeometry/IMDDimension.h"
 #include "MantidGeometry/MDGeometry/MDHistoDimension.h"
 #include "MantidGeometry/MDGeometry/MDTypes.h"
 #include "MantidKernel/ReadLock.h"
-#include "MantidQtWidgets/LegacyQwt/MantidColorMap.h"
-#include "MantidQtWidgets/LegacyQwt/QwtRasterDataMD.h"
-#include "MantidQtWidgets/LegacyQwt/SignalRange.h"
 
 #include <boost/pointer_cast.hpp>
 #include <boost/shared_ptr.hpp>
diff --git a/qt/widgets/legacyqwt/src/DisplayCurveFit.cpp b/qt/widgets/plotting/src/Qwt/DisplayCurveFit.cpp
similarity index 98%
rename from qt/widgets/legacyqwt/src/DisplayCurveFit.cpp
rename to qt/widgets/plotting/src/Qwt/DisplayCurveFit.cpp
index 1d752347797..9b9baf6c220 100644
--- a/qt/widgets/legacyqwt/src/DisplayCurveFit.cpp
+++ b/qt/widgets/plotting/src/Qwt/DisplayCurveFit.cpp
@@ -4,12 +4,12 @@
 //     NScD Oak Ridge National Laboratory, European Spallation Source
 //     & Institut Laue - Langevin
 // SPDX - License - Identifier: GPL - 3.0 +
-#include "MantidQtWidgets/LegacyQwt/DisplayCurveFit.h"
+#include "MantidQtWidgets/Plotting/Qwt/DisplayCurveFit.h"
 #include "MantidKernel/Logger.h"
 // includes for workspace handling
 
 // includes for interface development
-#include "MantidQtWidgets/LegacyQwt/RangeSelector.h"
+#include "MantidQtWidgets/Plotting/Qwt/RangeSelector.h"
 
 namespace {
 Mantid::Kernel::Logger g_log("DisplayCurveFit");
diff --git a/qt/widgets/legacyqwt/src/DraggableColorBarWidget.cpp b/qt/widgets/plotting/src/Qwt/DraggableColorBarWidget.cpp
similarity index 98%
rename from qt/widgets/legacyqwt/src/DraggableColorBarWidget.cpp
rename to qt/widgets/plotting/src/Qwt/DraggableColorBarWidget.cpp
index 93bd2091c35..4bc80c5c165 100644
--- a/qt/widgets/legacyqwt/src/DraggableColorBarWidget.cpp
+++ b/qt/widgets/plotting/src/Qwt/DraggableColorBarWidget.cpp
@@ -4,9 +4,9 @@
 //     NScD Oak Ridge National Laboratory, European Spallation Source
 //     & Institut Laue - Langevin
 // SPDX - License - Identifier: GPL - 3.0 +
-#include "MantidQtWidgets/LegacyQwt/DraggableColorBarWidget.h"
-#include "MantidQtWidgets/LegacyQwt/MantidColorMap.h"
-#include "MantidQtWidgets/LegacyQwt/PowerScaleEngine.h"
+#include "MantidQtWidgets/Plotting/Qwt/DraggableColorBarWidget.h"
+#include "MantidQtWidgets/Plotting/Qwt/MantidColorMap.h"
+#include "MantidQtWidgets/Plotting/Qwt/PowerScaleEngine.h"
 
 #include "MantidQtWidgets/Common/DoubleSpinBox.h"
 #include "MantidQtWidgets/Common/GraphOptions.h"
diff --git a/qt/widgets/legacyqwt/src/ErrorCurve.cpp b/qt/widgets/plotting/src/Qwt/ErrorCurve.cpp
similarity index 98%
rename from qt/widgets/legacyqwt/src/ErrorCurve.cpp
rename to qt/widgets/plotting/src/Qwt/ErrorCurve.cpp
index c53702c6849..2175c758129 100644
--- a/qt/widgets/legacyqwt/src/ErrorCurve.cpp
+++ b/qt/widgets/plotting/src/Qwt/ErrorCurve.cpp
@@ -4,7 +4,7 @@
 //     NScD Oak Ridge National Laboratory, European Spallation Source
 //     & Institut Laue - Langevin
 // SPDX - License - Identifier: GPL - 3.0 +
-#include "MantidQtWidgets/LegacyQwt/ErrorCurve.h"
+#include "MantidQtWidgets/Plotting/Qwt/ErrorCurve.h"
 
 #include <QPainter>
 #include <qwt_scale_map.h>
diff --git a/qt/widgets/legacyqwt/src/MWView.cpp b/qt/widgets/plotting/src/Qwt/MWView.cpp
similarity index 98%
rename from qt/widgets/legacyqwt/src/MWView.cpp
rename to qt/widgets/plotting/src/Qwt/MWView.cpp
index 47e15c3d854..fbddb6130a0 100644
--- a/qt/widgets/legacyqwt/src/MWView.cpp
+++ b/qt/widgets/plotting/src/Qwt/MWView.cpp
@@ -4,7 +4,7 @@
 //     NScD Oak Ridge National Laboratory, European Spallation Source
 //     & Institut Laue - Langevin
 // SPDX - License - Identifier: GPL - 3.0 +
-#include "MantidQtWidgets/LegacyQwt/MWView.h"
+#include "MantidQtWidgets/Plotting/Qwt/MWView.h"
 // includes for workspace handling
 #include "MantidAPI/AlgorithmManager.h"
 #include "MantidAPI/MatrixWorkspace.h"
@@ -12,12 +12,12 @@
 #include "MantidGeometry/MDGeometry/MDHistoDimension.h"
 #include "MantidGeometry/MDGeometry/MDTypes.h"
 #include "MantidKernel/ReadLock.h"
-#include "MantidQtWidgets/LegacyQwt/SignalRange.h"
+#include "MantidQtWidgets/Plotting/Qwt/SignalRange.h"
 #include <boost/pointer_cast.hpp>
 #include <boost/shared_ptr.hpp>
 // includes for interface development
-#include "MantidQtWidgets/LegacyQwt/MantidColorMap.h"
-#include "MantidQtWidgets/LegacyQwt/QwtRasterDataMD.h"
+#include "MantidQtWidgets/Plotting/Qwt/MantidColorMap.h"
+#include "MantidQtWidgets/Plotting/Qwt/QwtRasterDataMD.h"
 #include <QSettings>
 #include <qwt_color_map.h>
 #include <qwt_double_rect.h>
diff --git a/qt/widgets/legacyqwt/src/MantidColorMap.cpp b/qt/widgets/plotting/src/Qwt/MantidColorMap.cpp
similarity index 99%
rename from qt/widgets/legacyqwt/src/MantidColorMap.cpp
rename to qt/widgets/plotting/src/Qwt/MantidColorMap.cpp
index 44de9157b77..d98c046b41a 100644
--- a/qt/widgets/legacyqwt/src/MantidColorMap.cpp
+++ b/qt/widgets/plotting/src/Qwt/MantidColorMap.cpp
@@ -7,7 +7,7 @@
 //--------------------------------------
 // Includes
 //--------------------------------------
-#include "MantidQtWidgets/LegacyQwt/MantidColorMap.h"
+#include "MantidQtWidgets/Plotting/Qwt/MantidColorMap.h"
 
 // std headers
 #include <cmath>
diff --git a/qt/widgets/legacyqwt/src/MantidQwtIMDWorkspaceData.cpp b/qt/widgets/plotting/src/Qwt/MantidQwtIMDWorkspaceData.cpp
similarity index 99%
rename from qt/widgets/legacyqwt/src/MantidQwtIMDWorkspaceData.cpp
rename to qt/widgets/plotting/src/Qwt/MantidQwtIMDWorkspaceData.cpp
index 5978ab2932e..59ec00ac677 100644
--- a/qt/widgets/legacyqwt/src/MantidQwtIMDWorkspaceData.cpp
+++ b/qt/widgets/plotting/src/Qwt/MantidQwtIMDWorkspaceData.cpp
@@ -4,7 +4,7 @@
 //     NScD Oak Ridge National Laboratory, European Spallation Source
 //     & Institut Laue - Langevin
 // SPDX - License - Identifier: GPL - 3.0 +
-#include "MantidQtWidgets/LegacyQwt/MantidQwtIMDWorkspaceData.h"
+#include "MantidQtWidgets/Plotting/Qwt/MantidQwtIMDWorkspaceData.h"
 #include "MantidAPI/CoordTransform.h"
 #include "MantidAPI/IMDEventWorkspace.h"
 #include "MantidAPI/IMDHistoWorkspace.h"
diff --git a/qt/widgets/legacyqwt/src/MantidQwtWorkspaceData.cpp b/qt/widgets/plotting/src/Qwt/MantidQwtWorkspaceData.cpp
similarity index 98%
rename from qt/widgets/legacyqwt/src/MantidQwtWorkspaceData.cpp
rename to qt/widgets/plotting/src/Qwt/MantidQwtWorkspaceData.cpp
index ddf96828bbe..e776f4c692a 100644
--- a/qt/widgets/legacyqwt/src/MantidQwtWorkspaceData.cpp
+++ b/qt/widgets/plotting/src/Qwt/MantidQwtWorkspaceData.cpp
@@ -4,7 +4,7 @@
 //     NScD Oak Ridge National Laboratory, European Spallation Source
 //     & Institut Laue - Langevin
 // SPDX - License - Identifier: GPL - 3.0 +
-#include "MantidQtWidgets/LegacyQwt/MantidQwtWorkspaceData.h"
+#include "MantidQtWidgets/Plotting/Qwt/MantidQwtWorkspaceData.h"
 
 #include <cmath>
 
diff --git a/qt/widgets/legacyqwt/src/PeakPicker.cpp b/qt/widgets/plotting/src/Qwt/PeakPicker.cpp
similarity index 98%
rename from qt/widgets/legacyqwt/src/PeakPicker.cpp
rename to qt/widgets/plotting/src/Qwt/PeakPicker.cpp
index aa401ef4ca8..6230fba3255 100644
--- a/qt/widgets/legacyqwt/src/PeakPicker.cpp
+++ b/qt/widgets/plotting/src/Qwt/PeakPicker.cpp
@@ -4,7 +4,7 @@
 //     NScD Oak Ridge National Laboratory, European Spallation Source
 //     & Institut Laue - Langevin
 // SPDX - License - Identifier: GPL - 3.0 +
-#include "MantidQtWidgets/LegacyQwt/PeakPicker.h"
+#include "MantidQtWidgets/Plotting/Qwt/PeakPicker.h"
 
 #include <qwt_painter.h>
 #include <qwt_plot_canvas.h>
diff --git a/qt/widgets/legacyqwt/src/PowerScaleEngine.cpp b/qt/widgets/plotting/src/Qwt/PowerScaleEngine.cpp
similarity index 98%
rename from qt/widgets/legacyqwt/src/PowerScaleEngine.cpp
rename to qt/widgets/plotting/src/Qwt/PowerScaleEngine.cpp
index 08f4472f3ca..865bc85dd40 100644
--- a/qt/widgets/legacyqwt/src/PowerScaleEngine.cpp
+++ b/qt/widgets/plotting/src/Qwt/PowerScaleEngine.cpp
@@ -27,8 +27,8 @@
  *                                                                         *
  ***************************************************************************/
 
-#include "MantidQtWidgets/LegacyQwt/PowerScaleEngine.h"
-#include "MantidQtWidgets/LegacyQwt/qwt_compat.h"
+#include "MantidQtWidgets/Plotting/Qwt/PowerScaleEngine.h"
+#include "MantidQtWidgets/Plotting/Qwt/qwt_compat.h"
 
 /*!
   Return a dummy transformation
diff --git a/qt/widgets/legacyqwt/src/PreviewPlot.cpp b/qt/widgets/plotting/src/Qwt/PreviewPlot.cpp
similarity index 99%
rename from qt/widgets/legacyqwt/src/PreviewPlot.cpp
rename to qt/widgets/plotting/src/Qwt/PreviewPlot.cpp
index a0b197c77c2..117c7d35ec3 100644
--- a/qt/widgets/legacyqwt/src/PreviewPlot.cpp
+++ b/qt/widgets/plotting/src/Qwt/PreviewPlot.cpp
@@ -7,7 +7,7 @@
 //------------------------------------------------------
 // Includes
 //------------------------------------------------------
-#include "MantidQtWidgets/LegacyQwt/PreviewPlot.h"
+#include "MantidQtWidgets/Plotting/Qwt/PreviewPlot.h"
 
 #include "MantidAPI/AlgorithmManager.h"
 #include "MantidAPI/AnalysisDataService.h"
@@ -247,7 +247,7 @@ QPair<double, double> PreviewPlot::getCurveRange(const QString &curveName) {
  * @param curveColour Colour of curve to plot
  */
 void PreviewPlot::addSpectrum(const QString &curveName,
-                              const MatrixWorkspace_sptr ws,
+                              const MatrixWorkspace_sptr &ws,
                               const size_t wsIndex, const QColor &curveColour) {
   if (curveName.isEmpty()) {
     g_log.warning("Cannot plot with empty curve name");
diff --git a/qt/widgets/legacyqwt/src/QwtHelper.cpp b/qt/widgets/plotting/src/Qwt/QwtHelper.cpp
similarity index 98%
rename from qt/widgets/legacyqwt/src/QwtHelper.cpp
rename to qt/widgets/plotting/src/Qwt/QwtHelper.cpp
index 32ff81aef2b..fd40f415857 100644
--- a/qt/widgets/legacyqwt/src/QwtHelper.cpp
+++ b/qt/widgets/plotting/src/Qwt/QwtHelper.cpp
@@ -4,7 +4,7 @@
 //     NScD Oak Ridge National Laboratory, European Spallation Source
 //     & Institut Laue - Langevin
 // SPDX - License - Identifier: GPL - 3.0 +
-#include "MantidQtWidgets/LegacyQwt/QwtHelper.h"
+#include "MantidQtWidgets/Plotting/Qwt/QwtHelper.h"
 
 #include "MantidAPI/AlgorithmManager.h"
 #include "MantidAPI/FunctionDomain1D.h"
diff --git a/qt/widgets/legacyqwt/src/QwtRasterDataMD.cpp b/qt/widgets/plotting/src/Qwt/QwtRasterDataMD.cpp
similarity index 99%
rename from qt/widgets/legacyqwt/src/QwtRasterDataMD.cpp
rename to qt/widgets/plotting/src/Qwt/QwtRasterDataMD.cpp
index 54fac47de5d..79a7606be54 100644
--- a/qt/widgets/legacyqwt/src/QwtRasterDataMD.cpp
+++ b/qt/widgets/plotting/src/Qwt/QwtRasterDataMD.cpp
@@ -4,7 +4,7 @@
 //     NScD Oak Ridge National Laboratory, European Spallation Source
 //     & Institut Laue - Langevin
 // SPDX - License - Identifier: GPL - 3.0 +
-#include "MantidQtWidgets/LegacyQwt/QwtRasterDataMD.h"
+#include "MantidQtWidgets/Plotting/Qwt/QwtRasterDataMD.h"
 #include "MantidAPI/IMDWorkspace.h"
 #include "MantidAPI/MatrixWorkspace.h"
 #include "MantidGeometry/MDGeometry/IMDDimension.h"
diff --git a/qt/widgets/legacyqwt/src/QwtRasterDataMDNonOrthogonal.cpp b/qt/widgets/plotting/src/Qwt/QwtRasterDataMDNonOrthogonal.cpp
similarity index 98%
rename from qt/widgets/legacyqwt/src/QwtRasterDataMDNonOrthogonal.cpp
rename to qt/widgets/plotting/src/Qwt/QwtRasterDataMDNonOrthogonal.cpp
index e8f09f64401..863a841fd7e 100644
--- a/qt/widgets/legacyqwt/src/QwtRasterDataMDNonOrthogonal.cpp
+++ b/qt/widgets/plotting/src/Qwt/QwtRasterDataMDNonOrthogonal.cpp
@@ -4,7 +4,7 @@
 //     NScD Oak Ridge National Laboratory, European Spallation Source
 //     & Institut Laue - Langevin
 // SPDX - License - Identifier: GPL - 3.0 +
-#include "MantidQtWidgets/LegacyQwt/QwtRasterDataMDNonOrthogonal.h"
+#include "MantidQtWidgets/Plotting/Qwt/QwtRasterDataMDNonOrthogonal.h"
 #include "MantidQtWidgets/Common/NonOrthogonal.h"
 
 namespace MantidQt {
diff --git a/qt/widgets/legacyqwt/src/QwtWorkspaceBinData.cpp b/qt/widgets/plotting/src/Qwt/QwtWorkspaceBinData.cpp
similarity index 98%
rename from qt/widgets/legacyqwt/src/QwtWorkspaceBinData.cpp
rename to qt/widgets/plotting/src/Qwt/QwtWorkspaceBinData.cpp
index da2b567a071..ae789126a62 100644
--- a/qt/widgets/legacyqwt/src/QwtWorkspaceBinData.cpp
+++ b/qt/widgets/plotting/src/Qwt/QwtWorkspaceBinData.cpp
@@ -4,7 +4,7 @@
 //     NScD Oak Ridge National Laboratory, European Spallation Source
 //     & Institut Laue - Langevin
 // SPDX - License - Identifier: GPL - 3.0 +
-#include "MantidQtWidgets/LegacyQwt/QwtWorkspaceBinData.h"
+#include "MantidQtWidgets/Plotting/Qwt/QwtWorkspaceBinData.h"
 
 #include "MantidAPI/Axis.h"
 #include "MantidAPI/MatrixWorkspace.h"
diff --git a/qt/widgets/legacyqwt/src/QwtWorkspaceSpectrumData.cpp b/qt/widgets/plotting/src/Qwt/QwtWorkspaceSpectrumData.cpp
similarity index 98%
rename from qt/widgets/legacyqwt/src/QwtWorkspaceSpectrumData.cpp
rename to qt/widgets/plotting/src/Qwt/QwtWorkspaceSpectrumData.cpp
index 00e1142adb7..b5fcd6c493c 100644
--- a/qt/widgets/legacyqwt/src/QwtWorkspaceSpectrumData.cpp
+++ b/qt/widgets/plotting/src/Qwt/QwtWorkspaceSpectrumData.cpp
@@ -4,7 +4,7 @@
 //     NScD Oak Ridge National Laboratory, European Spallation Source
 //     & Institut Laue - Langevin
 // SPDX - License - Identifier: GPL - 3.0 +
-#include "MantidQtWidgets/LegacyQwt/QwtWorkspaceSpectrumData.h"
+#include "MantidQtWidgets/Plotting/Qwt/QwtWorkspaceSpectrumData.h"
 
 #include "MantidAPI/MatrixWorkspace.h"
 #include "MantidQtWidgets/Common/PlotAxis.h"
diff --git a/qt/widgets/legacyqwt/src/RangeSelector.cpp b/qt/widgets/plotting/src/Qwt/RangeSelector.cpp
similarity index 99%
rename from qt/widgets/legacyqwt/src/RangeSelector.cpp
rename to qt/widgets/plotting/src/Qwt/RangeSelector.cpp
index 10f2a576b08..ecfa064815e 100644
--- a/qt/widgets/legacyqwt/src/RangeSelector.cpp
+++ b/qt/widgets/plotting/src/Qwt/RangeSelector.cpp
@@ -4,14 +4,14 @@
 //     NScD Oak Ridge National Laboratory, European Spallation Source
 //     & Institut Laue - Langevin
 // SPDX - License - Identifier: GPL - 3.0 +
-#include "MantidQtWidgets/LegacyQwt/RangeSelector.h"
+#include "MantidQtWidgets/Plotting/Qwt/RangeSelector.h"
 
 #include <qwt_plot_picker.h>
 
 #include <QEvent>
 #include <QMouseEvent>
 
-#include "MantidQtWidgets/LegacyQwt/PreviewPlot.h"
+#include "MantidQtWidgets/Plotting/Qwt/PreviewPlot.h"
 
 using namespace MantidQt::MantidWidgets;
 
diff --git a/qt/widgets/legacyqwt/src/SafeQwtPlot.cpp b/qt/widgets/plotting/src/Qwt/SafeQwtPlot.cpp
similarity index 97%
rename from qt/widgets/legacyqwt/src/SafeQwtPlot.cpp
rename to qt/widgets/plotting/src/Qwt/SafeQwtPlot.cpp
index a6811b91e14..4078168a355 100644
--- a/qt/widgets/legacyqwt/src/SafeQwtPlot.cpp
+++ b/qt/widgets/plotting/src/Qwt/SafeQwtPlot.cpp
@@ -4,7 +4,7 @@
 //     NScD Oak Ridge National Laboratory, European Spallation Source
 //     & Institut Laue - Langevin
 // SPDX - License - Identifier: GPL - 3.0 +
-#include "MantidQtWidgets/LegacyQwt/SafeQwtPlot.h"
+#include "MantidQtWidgets/Plotting/Qwt/SafeQwtPlot.h"
 #include "MantidAPI/Workspace.h"
 #include "MantidKernel/ReadLock.h"
 #include "MantidKernel/System.h"
diff --git a/qt/widgets/legacyqwt/src/ScaleEngine.cpp b/qt/widgets/plotting/src/Qwt/ScaleEngine.cpp
similarity index 98%
rename from qt/widgets/legacyqwt/src/ScaleEngine.cpp
rename to qt/widgets/plotting/src/Qwt/ScaleEngine.cpp
index 280bd0e3d01..91ca4bbb2a8 100644
--- a/qt/widgets/legacyqwt/src/ScaleEngine.cpp
+++ b/qt/widgets/plotting/src/Qwt/ScaleEngine.cpp
@@ -27,9 +27,9 @@
  *   Boston, MA  02110-1301  USA                                           *
  *                                                                         *
  ***************************************************************************/
-#include "MantidQtWidgets/LegacyQwt/ScaleEngine.h"
-#include "MantidQtWidgets/LegacyQwt/PowerScaleEngine.h"
-#include "MantidQtWidgets/LegacyQwt/qwt_compat.h"
+#include "MantidQtWidgets/Plotting/Qwt/ScaleEngine.h"
+#include "MantidQtWidgets/Plotting/Qwt/PowerScaleEngine.h"
+#include "MantidQtWidgets/Plotting/Qwt/qwt_compat.h"
 #include <climits>
 
 QwtScaleTransformation *ScaleEngine::transformation() const {
diff --git a/qt/widgets/legacyqwt/src/SignalRange.cpp b/qt/widgets/plotting/src/Qwt/SignalRange.cpp
similarity index 98%
rename from qt/widgets/legacyqwt/src/SignalRange.cpp
rename to qt/widgets/plotting/src/Qwt/SignalRange.cpp
index a7932b42f8b..2e5cbf67273 100644
--- a/qt/widgets/legacyqwt/src/SignalRange.cpp
+++ b/qt/widgets/plotting/src/Qwt/SignalRange.cpp
@@ -4,7 +4,7 @@
 //     NScD Oak Ridge National Laboratory, European Spallation Source
 //     & Institut Laue - Langevin
 // SPDX - License - Identifier: GPL - 3.0 +
-#include "MantidQtWidgets/LegacyQwt//SignalRange.h"
+#include "MantidQtWidgets/Plotting/Qwt//SignalRange.h"
 #include "MantidAPI/IMDIterator.h"
 #include "MantidKernel/MultiThreaded.h"
 #include <cmath>
diff --git a/qt/widgets/legacyqwt/test/ContourPreviewPlotTest.h b/qt/widgets/plotting/test/ContourPreviewPlotTest.h
similarity index 97%
rename from qt/widgets/legacyqwt/test/ContourPreviewPlotTest.h
rename to qt/widgets/plotting/test/ContourPreviewPlotTest.h
index 146ecb2b8a1..f77eaf1986c 100644
--- a/qt/widgets/legacyqwt/test/ContourPreviewPlotTest.h
+++ b/qt/widgets/plotting/test/ContourPreviewPlotTest.h
@@ -10,7 +10,7 @@
 #include <cxxtest/TestSuite.h>
 
 #include "MantidAPI/MatrixWorkspace.h"
-#include "MantidQtWidgets/LegacyQwt/ContourPreviewPlot.h"
+#include "MantidQtWidgets/Plotting/Qwt/ContourPreviewPlot.h"
 #include "MantidTestHelpers/WorkspaceCreationHelper.h"
 
 using namespace Mantid::API;
diff --git a/qt/widgets/legacyqwt/test/MantidColorMapTest.h b/qt/widgets/plotting/test/MantidColorMapTest.h
similarity index 97%
rename from qt/widgets/legacyqwt/test/MantidColorMapTest.h
rename to qt/widgets/plotting/test/MantidColorMapTest.h
index 1cf7fa4ef9b..ff874db975b 100644
--- a/qt/widgets/legacyqwt/test/MantidColorMapTest.h
+++ b/qt/widgets/plotting/test/MantidColorMapTest.h
@@ -7,7 +7,7 @@
 #ifndef MANTIDQT_API_MANTIDCOLORMAPTEST_H_
 #define MANTIDQT_API_MANTIDCOLORMAPTEST_H_
 
-#include "MantidQtWidgets/LegacyQwt/MantidColorMap.h"
+#include "MantidQtWidgets/Plotting/Qwt/MantidColorMap.h"
 #include <QRgb>
 #include <cxxtest/TestSuite.h>
 #include <limits>
diff --git a/qt/widgets/legacyqwt/test/QwtWorkspaceBinDataTest.h b/qt/widgets/plotting/test/QwtWorkspaceBinDataTest.h
similarity index 97%
rename from qt/widgets/legacyqwt/test/QwtWorkspaceBinDataTest.h
rename to qt/widgets/plotting/test/QwtWorkspaceBinDataTest.h
index f8269296918..bca678b499b 100644
--- a/qt/widgets/legacyqwt/test/QwtWorkspaceBinDataTest.h
+++ b/qt/widgets/plotting/test/QwtWorkspaceBinDataTest.h
@@ -7,7 +7,7 @@
 #ifndef MANTIDQT_API_MANTIDQWTWORKSPACEBINDATA_H_
 #define MANTIDQT_API_MANTIDQWTWORKSPACEBINDATA_H_
 
-#include "MantidQtWidgets/LegacyQwt/QwtWorkspaceBinData.h"
+#include "MantidQtWidgets/Plotting/Qwt/QwtWorkspaceBinData.h"
 #include <cxxtest/TestSuite.h>
 
 #include "MantidAPI/MatrixWorkspace.h"
diff --git a/qt/widgets/legacyqwt/test/QwtWorkspaceSpectrumDataTest.h b/qt/widgets/plotting/test/QwtWorkspaceSpectrumDataTest.h
similarity index 97%
rename from qt/widgets/legacyqwt/test/QwtWorkspaceSpectrumDataTest.h
rename to qt/widgets/plotting/test/QwtWorkspaceSpectrumDataTest.h
index eeb26361091..15d5f2fe248 100644
--- a/qt/widgets/legacyqwt/test/QwtWorkspaceSpectrumDataTest.h
+++ b/qt/widgets/plotting/test/QwtWorkspaceSpectrumDataTest.h
@@ -8,7 +8,7 @@
 #define MANTIDQT_API_MANTIDQWTWORKSPACESPECTRUMDATA_H_
 
 #include "MantidAPI/MatrixWorkspace.h"
-#include "MantidQtWidgets/LegacyQwt/QwtWorkspaceSpectrumData.h"
+#include "MantidQtWidgets/Plotting/Qwt/QwtWorkspaceSpectrumData.h"
 #include "MantidTestHelpers/WorkspaceCreationHelper.h"
 #include <QRgb>
 #include <cxxtest/TestSuite.h>
diff --git a/qt/widgets/legacyqwt/test/SignalRangeTest.h b/qt/widgets/plotting/test/SignalRangeTest.h
similarity index 85%
rename from qt/widgets/legacyqwt/test/SignalRangeTest.h
rename to qt/widgets/plotting/test/SignalRangeTest.h
index 995dd70b730..6f227baeba2 100644
--- a/qt/widgets/legacyqwt/test/SignalRangeTest.h
+++ b/qt/widgets/plotting/test/SignalRangeTest.h
@@ -11,7 +11,7 @@
 #include "MantidGeometry/MDGeometry/MDImplicitFunction.h"
 #include "MantidKernel/MultiThreaded.h"
 #include "MantidKernel/WarningSuppressions.h"
-#include "MantidQtWidgets/Common/SignalRange.h"
+#include "MantidQtWidgets/Plotting/Qwt/SignalRange.h"
 #include <cxxtest/TestSuite.h>
 #include <gmock/gmock.h>
 #include <gtest/gtest.h>
@@ -29,7 +29,7 @@ private:
     MOCK_CONST_METHOD0(getNPoints, uint64_t());
     MOCK_CONST_METHOD0(getNEvents, uint64_t());
     MOCK_CONST_METHOD2(createIterators,
-                       std::vector<Mantid::API::IMDIterator *>(
+                       std::vector<std::unique_ptr<Mantid::API::IMDIterator>>(
                            size_t, Mantid::Geometry::MDImplicitFunction *));
     MOCK_CONST_METHOD2(getSignalAtCoord,
                        Mantid::signal_t(const Mantid::coord_t *,
@@ -52,6 +52,7 @@ private:
     MOCK_CONST_METHOD0(getSpecialCoordinateSystem,
                        Mantid::Kernel::SpecialCoordinateSystem());
     MOCK_CONST_METHOD0(isMDHistoWorkspace, bool());
+    MOCK_CONST_METHOD0(hasOrientedLattice, bool());
 
   private:
     MockMDWorkspace *doClone() const override {
@@ -76,9 +77,12 @@ private:
     MOCK_CONST_METHOD0(getNormalizedSignalWithMask, Mantid::signal_t());
     MOCK_CONST_METHOD0(getSignal, Mantid::signal_t());
     MOCK_CONST_METHOD0(getError, Mantid::signal_t());
-    MOCK_CONST_METHOD1(getVertexesArray, Mantid::coord_t *(size_t &));
+    MOCK_CONST_METHOD1(getVertexesArray,
+                       std::unique_ptr<Mantid::coord_t[]>(size_t &));
     MOCK_CONST_METHOD3(getVertexesArray,
-                       Mantid::coord_t *(size_t &, const size_t, const bool *));
+                       std::unique_ptr<Mantid::coord_t[]>(size_t &,
+                                                          const size_t,
+                                                          const bool *));
     MOCK_CONST_METHOD0(getCenter, Mantid::Kernel::VMD());
     MOCK_CONST_METHOD0(getNumEvents, size_t());
     MOCK_CONST_METHOD1(getInnerRunIndex, uint16_t(size_t));
@@ -111,10 +115,10 @@ public:
     using namespace ::testing;
 
     int nthreads = PARALLEL_GET_MAX_THREADS;
-    std::vector<Mantid::API::IMDIterator *> iterators(nthreads);
+    std::vector<std::unique_ptr<Mantid::API::IMDIterator>> iterators;
+    iterators.reserve(nthreads);
     for (int i = 0; i < nthreads; ++i) {
-      auto *iterator =
-          new MockMDIterator; // deleted by call to SignalRange below
+      auto iterator = std::make_unique<MockMDIterator>();
       EXPECT_CALL(*iterator, valid()).WillRepeatedly(Return(true));
       EXPECT_CALL(*iterator, next())
           .WillOnce(Return(true))
@@ -122,13 +126,13 @@ public:
       EXPECT_CALL(*iterator, getNormalizedSignal())
           .WillOnce(Return(-1.5))
           .WillRepeatedly(Return(10.0));
-      iterators[i] = iterator;
+      iterators.emplace_back(std::move(iterator));
     }
 
     MockMDWorkspace data;
     EXPECT_CALL(data, createIterators(nthreads, NULL))
         .Times(Exactly(1))
-        .WillOnce(Return(iterators));
+        .WillOnce(Return(ByMove(std::move(iterators))));
 
     MantidQt::API::SignalRange sr(data);
     QwtDoubleInterval range = sr.interval();
@@ -143,10 +147,10 @@ public:
     using namespace ::testing;
 
     int nthreads = PARALLEL_GET_MAX_THREADS;
-    std::vector<Mantid::API::IMDIterator *> iterators(nthreads);
+    std::vector<std::unique_ptr<Mantid::API::IMDIterator>> iterators;
+    iterators.reserve(nthreads);
     for (int i = 0; i < nthreads; ++i) {
-      auto *iterator =
-          new NormalizableMockIterator; // deleted by call to SignalRange below
+      auto iterator = std::make_unique<NormalizableMockIterator>();
       EXPECT_CALL(*iterator, getNumEvents())
           .Times(Exactly(2))
           .WillRepeatedly(Return(2));
@@ -157,13 +161,13 @@ public:
       EXPECT_CALL(*iterator, getSignal())
           .WillOnce(Return(1.5))
           .WillRepeatedly(Return(10.0));
-      iterators[i] = iterator;
+      iterators.emplace_back(std::move(iterator));
     }
 
     MockMDWorkspace data;
     EXPECT_CALL(data, createIterators(nthreads, NULL))
         .Times(Exactly(1))
-        .WillOnce(Return(iterators));
+        .WillOnce(Return(ByMove(std::move(iterators))));
 
     MantidQt::API::SignalRange sr(data, Mantid::API::NumEventsNormalization);
     QwtDoubleInterval range = sr.interval();
@@ -178,10 +182,10 @@ public:
     using namespace ::testing;
 
     int nthreads = PARALLEL_GET_MAX_THREADS;
-    std::vector<Mantid::API::IMDIterator *> iterators(nthreads);
+    std::vector<std::unique_ptr<Mantid::API::IMDIterator>> iterators;
+    iterators.reserve(nthreads);
     for (int i = 0; i < nthreads; ++i) {
-      auto *iterator =
-          new NormalizableMockIterator; // deleted by call to SignalRange below
+      auto iterator = std::make_unique<NormalizableMockIterator>();
       EXPECT_CALL(*iterator, getNumEvents())
           .Times(Exactly(2))
           .WillRepeatedly(Return(2));
@@ -192,7 +196,7 @@ public:
       EXPECT_CALL(*iterator, getSignal())
           .WillOnce(Return(1.5))
           .WillRepeatedly(Return(10.0));
-      iterators[i] = iterator;
+      iterators.emplace_back(std::move(iterator));
     }
 
     MockMDWorkspace data;
@@ -203,7 +207,7 @@ public:
 
     EXPECT_CALL(data, createIterators(nthreads, &function))
         .Times(Exactly(1))
-        .WillOnce(Return(iterators));
+        .WillOnce(Return(ByMove(std::move(iterators))));
 
     MantidQt::API::SignalRange sr(data, function, Mantid::API::NoNormalization);
     QwtDoubleInterval range = sr.interval();
diff --git a/qt/widgets/plugins/designer/CMakeLists.txt b/qt/widgets/plugins/designer/CMakeLists.txt
index 3c16c38ca1d..76dc678231c 100644
--- a/qt/widgets/plugins/designer/CMakeLists.txt
+++ b/qt/widgets/plugins/designer/CMakeLists.txt
@@ -35,7 +35,7 @@ mtd_add_qt_library (TARGET_NAME MantidQtWidgetsPluginsDesigner
     Qwt5
   MTD_QT_LINK_LIBS
     MantidQtWidgetsCommon
-    MantidQtWidgetsLegacyQwt
+    MantidQtWidgetsPlotting
     MantidQtWidgetsSliceViewer
   OUTPUT_SUBDIR
     designer
diff --git a/qt/widgets/plugins/designer/inc/MantidQtWidgets/Plugins/Designer/PluginCollectionInterface.h b/qt/widgets/plugins/designer/inc/MantidQtWidgets/Plugins/Designer/PluginCollectionInterface.h
index 47306cfe6c4..d441d67b124 100644
--- a/qt/widgets/plugins/designer/inc/MantidQtWidgets/Plugins/Designer/PluginCollectionInterface.h
+++ b/qt/widgets/plugins/designer/inc/MantidQtWidgets/Plugins/Designer/PluginCollectionInterface.h
@@ -21,11 +21,11 @@
 
 #include "MantidQtWidgets/Common/ScriptEditor.h"
 #include "MantidQtWidgets/Common/WorkspaceSelector.h"
-#include "MantidQtWidgets/LegacyQwt/ColorBarWidget.h"
-#include "MantidQtWidgets/LegacyQwt/DisplayCurveFit.h"
-#include "MantidQtWidgets/LegacyQwt/MWView.h"
-#include "MantidQtWidgets/LegacyQwt/PreviewPlot.h"
-#include "MantidQtWidgets/LegacyQwt/SafeQwtPlot.h"
+#include "MantidQtWidgets/Plotting/Qwt/ColorBarWidget.h"
+#include "MantidQtWidgets/Plotting/Qwt/DisplayCurveFit.h"
+#include "MantidQtWidgets/Plotting/Qwt/MWView.h"
+#include "MantidQtWidgets/Plotting/Qwt/PreviewPlot.h"
+#include "MantidQtWidgets/Plotting/Qwt/SafeQwtPlot.h"
 #include "MantidQtWidgets/Plugins/Designer/DesignerPlugin.h"
 #include "MantidQtWidgets/SliceViewer/LineViewer.h"
 #include "MantidQtWidgets/SliceViewer/SliceViewer.h"
diff --git a/qt/widgets/sliceviewer/CMakeLists.txt b/qt/widgets/sliceviewer/CMakeLists.txt
index 43f995ef44c..7b6f194aea7 100644
--- a/qt/widgets/sliceviewer/CMakeLists.txt
+++ b/qt/widgets/sliceviewer/CMakeLists.txt
@@ -139,7 +139,7 @@ mtd_add_qt_library (TARGET_NAME MantidQtWidgetsSliceViewer
     Qwt5
   MTD_QT_LINK_LIBS
     MantidQtWidgetsCommon
-    MantidQtWidgetsLegacyQwt
+    MantidQtWidgetsPlotting
   INSTALL_DIR
     ${LIB_DIR}
   OSX_INSTALL_RPATH
diff --git a/qt/widgets/sliceviewer/inc/MantidQtWidgets/SliceViewer/LinePlotOptions.h b/qt/widgets/sliceviewer/inc/MantidQtWidgets/SliceViewer/LinePlotOptions.h
index 1931801f5d2..8ea943b4a1a 100644
--- a/qt/widgets/sliceviewer/inc/MantidQtWidgets/SliceViewer/LinePlotOptions.h
+++ b/qt/widgets/sliceviewer/inc/MantidQtWidgets/SliceViewer/LinePlotOptions.h
@@ -9,7 +9,7 @@
 
 #include "DllOption.h"
 #include "MantidAPI/IMDWorkspace.h"
-#include "MantidQtWidgets/LegacyQwt/MantidQwtIMDWorkspaceData.h"
+#include "MantidQtWidgets/Plotting/Qwt/MantidQwtIMDWorkspaceData.h"
 #include "ui_LinePlotOptions.h"
 #include <QWidget>
 
diff --git a/qt/widgets/sliceviewer/inc/MantidQtWidgets/SliceViewer/LineViewer.h b/qt/widgets/sliceviewer/inc/MantidQtWidgets/SliceViewer/LineViewer.h
index 98ac565d2a1..fa5decd64d5 100644
--- a/qt/widgets/sliceviewer/inc/MantidQtWidgets/SliceViewer/LineViewer.h
+++ b/qt/widgets/sliceviewer/inc/MantidQtWidgets/SliceViewer/LineViewer.h
@@ -12,7 +12,7 @@
 #include "MantidAPI/IMDWorkspace.h"
 #include "MantidKernel/VMD.h"
 #include "MantidQtWidgets/Common/AlgorithmRunner.h"
-#include "MantidQtWidgets/LegacyQwt/MantidQwtIMDWorkspaceData.h"
+#include "MantidQtWidgets/Plotting/Qwt/MantidQwtIMDWorkspaceData.h"
 #include "MantidQtWidgets/SliceViewer/LinePlotOptions.h"
 #include "ui_LineViewer.h"
 #include <QWidget>
diff --git a/qt/widgets/sliceviewer/inc/MantidQtWidgets/SliceViewer/NonOrthogonalOverlay.h b/qt/widgets/sliceviewer/inc/MantidQtWidgets/SliceViewer/NonOrthogonalOverlay.h
index a80633b2f4b..3bb4fb880cc 100644
--- a/qt/widgets/sliceviewer/inc/MantidQtWidgets/SliceViewer/NonOrthogonalOverlay.h
+++ b/qt/widgets/sliceviewer/inc/MantidQtWidgets/SliceViewer/NonOrthogonalOverlay.h
@@ -13,8 +13,8 @@
 #include "MantidAPI/IMDWorkspace.h"
 #include "MantidKernel/Matrix.h"
 #include "MantidQtWidgets/Common/NonOrthogonal.h"
-#include "MantidQtWidgets/LegacyQwt/QwtRasterDataMD.h"
-#include "MantidQtWidgets/LegacyQwt/QwtRasterDataMDNonOrthogonal.h"
+#include "MantidQtWidgets/Plotting/Qwt/QwtRasterDataMD.h"
+#include "MantidQtWidgets/Plotting/Qwt/QwtRasterDataMDNonOrthogonal.h"
 #include <QPainter>
 #include <QWidget>
 #include <qwt_plot.h>
diff --git a/qt/widgets/sliceviewer/inc/MantidQtWidgets/SliceViewer/SliceViewer.h b/qt/widgets/sliceviewer/inc/MantidQtWidgets/SliceViewer/SliceViewer.h
index 2348539b443..14cdfd78354 100644
--- a/qt/widgets/sliceviewer/inc/MantidQtWidgets/SliceViewer/SliceViewer.h
+++ b/qt/widgets/sliceviewer/inc/MantidQtWidgets/SliceViewer/SliceViewer.h
@@ -18,9 +18,9 @@
 #include "MantidQtWidgets/Common/AlgorithmRunner.h"
 #include "MantidQtWidgets/Common/MdSettings.h"
 #include "MantidQtWidgets/Common/SyncedCheckboxes.h"
-#include "MantidQtWidgets/LegacyQwt/ColorBarWidget.h"
-#include "MantidQtWidgets/LegacyQwt/QwtRasterDataMD.h"
-#include "MantidQtWidgets/LegacyQwt/SafeQwtPlot.h"
+#include "MantidQtWidgets/Plotting/Qwt/ColorBarWidget.h"
+#include "MantidQtWidgets/Plotting/Qwt/QwtRasterDataMD.h"
+#include "MantidQtWidgets/Plotting/Qwt/SafeQwtPlot.h"
 #include "MantidQtWidgets/SliceViewer/CoordinateTransform.h"
 #include "MantidQtWidgets/SliceViewer/LineOverlay.h"
 #include "MantidQtWidgets/SliceViewer/NonOrthogonalOverlay.h"
diff --git a/qt/widgets/sliceviewer/inc/MantidQtWidgets/SliceViewer/SliceViewer.ui b/qt/widgets/sliceviewer/inc/MantidQtWidgets/SliceViewer/SliceViewer.ui
index 9e8ae3cd366..20eee0f2a19 100644
--- a/qt/widgets/sliceviewer/inc/MantidQtWidgets/SliceViewer/SliceViewer.ui
+++ b/qt/widgets/sliceviewer/inc/MantidQtWidgets/SliceViewer/SliceViewer.ui
@@ -909,7 +909,7 @@
   <customwidget>
    <class>MantidQt::MantidWidgets::ColorBarWidget</class>
    <extends>QWidget</extends>
-   <header>MantidQtWidgets/LegacyQwt/ColorBarWidget.h</header>
+   <header>MantidQtWidgets/Plotting/Qwt/ColorBarWidget.h</header>
   </customwidget>
   <customwidget>
    <class>QwtPlot</class>
@@ -920,7 +920,7 @@
   <customwidget>
    <class>MantidQt::MantidWidgets::SafeQwtPlot</class>
    <extends>QwtPlot</extends>
-   <header>MantidQtWidgets/LegacyQwt/SafeQwtPlot.h</header>
+   <header>MantidQtWidgets/Plotting/Qwt/SafeQwtPlot.h</header>
    <container>1</container>
   </customwidget>
  </customwidgets>
diff --git a/qt/widgets/sliceviewer/src/LineViewer.cpp b/qt/widgets/sliceviewer/src/LineViewer.cpp
index 472102b90b1..8604ae615a0 100644
--- a/qt/widgets/sliceviewer/src/LineViewer.cpp
+++ b/qt/widgets/sliceviewer/src/LineViewer.cpp
@@ -17,8 +17,8 @@
 #include "MantidKernel/VMD.h"
 #include "MantidQtWidgets/Common/AlgorithmRunner.h"
 #include "MantidQtWidgets/Common/TSVSerialiser.h"
-#include "MantidQtWidgets/LegacyQwt/MantidQwtIMDWorkspaceData.h"
-#include "MantidQtWidgets/LegacyQwt/QwtWorkspaceSpectrumData.h"
+#include "MantidQtWidgets/Plotting/Qwt/MantidQwtIMDWorkspaceData.h"
+#include "MantidQtWidgets/Plotting/Qwt/QwtWorkspaceSpectrumData.h"
 #include "MantidQtWidgets/SliceViewer/LinePlotOptions.h"
 #include <qwt_plot.h>
 #include <qwt_plot_curve.h>
diff --git a/qt/widgets/sliceviewer/src/SliceViewer.cpp b/qt/widgets/sliceviewer/src/SliceViewer.cpp
index 9ae5d35759b..fec8b288675 100644
--- a/qt/widgets/sliceviewer/src/SliceViewer.cpp
+++ b/qt/widgets/sliceviewer/src/SliceViewer.cpp
@@ -30,8 +30,8 @@
 #include "MantidQtWidgets/Common/SelectWorkspacesDialog.h"
 #include "MantidQtWidgets/Common/SignalBlocker.h"
 #include "MantidQtWidgets/Common/TSVSerialiser.h"
-#include "MantidQtWidgets/LegacyQwt/QwtRasterDataMDNonOrthogonal.h"
-#include "MantidQtWidgets/LegacyQwt/SignalRange.h"
+#include "MantidQtWidgets/Plotting/Qwt/QwtRasterDataMDNonOrthogonal.h"
+#include "MantidQtWidgets/Plotting/Qwt/SignalRange.h"
 #include "MantidQtWidgets/SliceViewer/CompositePeaksPresenter.h"
 #include "MantidQtWidgets/SliceViewer/ConcretePeaksPresenter.h"
 #include "MantidQtWidgets/SliceViewer/CustomTools.h"
diff --git a/qt/widgets/spectrumviewer/CMakeLists.txt b/qt/widgets/spectrumviewer/CMakeLists.txt
index 6778e66c5fd..1adecb42cf5 100644
--- a/qt/widgets/spectrumviewer/CMakeLists.txt
+++ b/qt/widgets/spectrumviewer/CMakeLists.txt
@@ -75,7 +75,7 @@ mtd_add_qt_library (TARGET_NAME MantidQtWidgetsSpectrumViewer
     Qwt5
   MTD_QT_LINK_LIBS
     MantidQtWidgetsCommon
-    MantidQtWidgetsLegacyQwt
+    MantidQtWidgetsPlotting
   INSTALL_DIR
     ${LIB_DIR}
   OSX_INSTALL_RPATH
diff --git a/qt/widgets/spectrumviewer/src/SVConnections.cpp b/qt/widgets/spectrumviewer/src/SVConnections.cpp
index 1d7d076e9d9..b96996e2b03 100644
--- a/qt/widgets/spectrumviewer/src/SVConnections.cpp
+++ b/qt/widgets/spectrumviewer/src/SVConnections.cpp
@@ -7,7 +7,7 @@
 #include <qwt_plot_canvas.h>
 
 #include "MantidQtWidgets/Common/HelpWindow.h"
-#include "MantidQtWidgets/LegacyQwt/MantidColorMap.h"
+#include "MantidQtWidgets/Plotting/Qwt/MantidColorMap.h"
 
 #include "MantidQtWidgets/SpectrumViewer/SVConnections.h"
 
-- 
GitLab