From 320006519aa9395f5a27cee0ada5b799a8678c31 Mon Sep 17 00:00:00 2001
From: Dan Nixon <dan@dan-nixon.com>
Date: Wed, 23 Jul 2014 14:13:24 +0100
Subject: [PATCH] Initial setup of new tab classes

Refs #9968
---
 .../MantidQt/CustomInterfaces/CMakeLists.txt  |  6 +--
 .../inc/MantidQtCustomInterfaces/Indirect.h   | 11 ++--
 .../IndirectCalibration.h                     | 51 +++++++++++++++++++
 .../IndirectConvertToEnergy.h                 | 51 +++++++++++++++++++
 .../{C2ETab.h => IndirectDataReductionTab.h}  | 14 ++---
 .../IndirectDiagnostics.h                     | 51 +++++++++++++++++++
 .../IndirectMoments.h                         |  6 +--
 .../MantidQtCustomInterfaces/IndirectSqw.h    | 51 +++++++++++++++++++
 .../MantidQtCustomInterfaces/Transmission.h   |  4 +-
 .../CustomInterfaces/src/Indirect.cpp         | 14 ++++-
 .../src/IndirectCalibration.cpp               | 35 +++++++++++++
 .../src/IndirectConvertToEnergy.cpp           | 35 +++++++++++++
 ...2ETab.cpp => IndirectDataReductionTab.cpp} | 28 +++++-----
 .../src/IndirectDiagnostics.cpp               | 35 +++++++++++++
 .../CustomInterfaces/src/IndirectMoments.cpp  |  2 +-
 .../CustomInterfaces/src/IndirectSqw.cpp      | 35 +++++++++++++
 .../CustomInterfaces/src/Transmission.cpp     |  2 +-
 17 files changed, 395 insertions(+), 36 deletions(-)
 create mode 100644 Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/IndirectCalibration.h
 create mode 100644 Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/IndirectConvertToEnergy.h
 rename Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/{C2ETab.h => IndirectDataReductionTab.h} (91%)
 create mode 100644 Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/IndirectDiagnostics.h
 create mode 100644 Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/IndirectSqw.h
 create mode 100644 Code/Mantid/MantidQt/CustomInterfaces/src/IndirectCalibration.cpp
 create mode 100644 Code/Mantid/MantidQt/CustomInterfaces/src/IndirectConvertToEnergy.cpp
 rename Code/Mantid/MantidQt/CustomInterfaces/src/{C2ETab.cpp => IndirectDataReductionTab.cpp} (79%)
 create mode 100644 Code/Mantid/MantidQt/CustomInterfaces/src/IndirectDiagnostics.cpp
 create mode 100644 Code/Mantid/MantidQt/CustomInterfaces/src/IndirectSqw.cpp

diff --git a/Code/Mantid/MantidQt/CustomInterfaces/CMakeLists.txt b/Code/Mantid/MantidQt/CustomInterfaces/CMakeLists.txt
index 69e49648399..f987921f85d 100644
--- a/Code/Mantid/MantidQt/CustomInterfaces/CMakeLists.txt
+++ b/Code/Mantid/MantidQt/CustomInterfaces/CMakeLists.txt
@@ -1,6 +1,5 @@
 set ( SRC_FILES
 	src/ApplyCorr.cpp
-	src/C2ETab.cpp
 	src/CalcCorr.cpp
 	src/ConvFit.cpp
 	src/CreateMDWorkspace.cpp
@@ -17,6 +16,7 @@ set ( SRC_FILES
 	src/IndirectBayesTab.cpp
 	src/IndirectDataAnalysis.cpp
   src/IndirectDataReduction.cpp
+  src/IndirectDataReductionTab.cpp
 	src/IndirectDiffractionReduction.cpp
 	src/IndirectLoadAscii.cpp
 	src/IndirectLoadAsciiTab.cpp
@@ -68,7 +68,6 @@ set ( SRC_FILES
 set ( INC_FILES
 	inc/MantidQtCustomInterfaces/ApplyCorr.h
 	inc/MantidQtCustomInterfaces/Background.h
-	inc/MantidQtCustomInterfaces/C2ETab.h
 	inc/MantidQtCustomInterfaces/CalcCorr.h
 	inc/MantidQtCustomInterfaces/ConvFit.h
 	inc/MantidQtCustomInterfaces/CreateMDWorkspace.h
@@ -86,6 +85,7 @@ set ( INC_FILES
 	inc/MantidQtCustomInterfaces/IndirectBayesTab.h
 	inc/MantidQtCustomInterfaces/IndirectDataAnalysis.h
   inc/MantidQtCustomInterfaces/IndirectDataReduction.h
+  inc/MantidQtCustomInterfaces/IndirectDataReductionTab.h
 	inc/MantidQtCustomInterfaces/IndirectDiffractionReduction.h
 	inc/MantidQtCustomInterfaces/IndirectLoadAscii.h
 	inc/MantidQtCustomInterfaces/IndirectLoadAsciiTab.h
@@ -142,7 +142,6 @@ set ( SRC_UNITY_IGNORE_FILES )
 
 set ( MOC_FILES inc/MantidQtCustomInterfaces/Background.h
                 inc/MantidQtCustomInterfaces/ApplyCorr.h
-                inc/MantidQtCustomInterfaces/C2ETab.h
                 inc/MantidQtCustomInterfaces/CalcCorr.h
                 inc/MantidQtCustomInterfaces/ConvFit.h
                 inc/MantidQtCustomInterfaces/CreateMDWorkspace.h
@@ -158,6 +157,7 @@ set ( MOC_FILES inc/MantidQtCustomInterfaces/Background.h
                 inc/MantidQtCustomInterfaces/IndirectBayesTab.h
                 inc/MantidQtCustomInterfaces/IndirectDataAnalysis.h
                 inc/MantidQtCustomInterfaces/IndirectDataReduction.h
+                inc/MantidQtCustomInterfaces/IndirectDataReductionTab.h
                 inc/MantidQtCustomInterfaces/IndirectDiffractionReduction.h
                 inc/MantidQtCustomInterfaces/IndirectLoadAscii.h
                 inc/MantidQtCustomInterfaces/IndirectLoadAsciiTab.h
diff --git a/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/Indirect.h b/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/Indirect.h
index 4d953a406c4..58055abaf4e 100644
--- a/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/Indirect.h
+++ b/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/Indirect.h
@@ -2,7 +2,7 @@
 #define MANTIDQTCUSTOMINTERFACES_INDIRECT_H_
 
 #include "MantidQtAPI/UserSubWindow.h"
-#include "MantidQtCustomInterfaces/C2ETab.h"
+#include "MantidQtCustomInterfaces/IndirectDataReductionTab.h"
 #include "ui_IndirectDataReduction.h"
 
 #include <qwt_plot.h>
@@ -186,8 +186,13 @@ namespace MantidQt
       QtBoolPropertyManager* m_sltBlnMng;
       QtGroupPropertyManager* m_sltGrpMng;
 
-      C2ETab* m_tab_trans;
-      C2ETab* m_tab_moments;
+      IndirectDataReductionTab* m_tab_convert_to_energy;
+      IndirectDataReductionTab* m_tab_sqw;
+      IndirectDataReductionTab* m_tab_diagnostics;
+      IndirectDataReductionTab* m_tab_calibration;
+
+      IndirectDataReductionTab* m_tab_trans;
+      IndirectDataReductionTab* m_tab_moments;
     };
   }
 }
diff --git a/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/IndirectCalibration.h b/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/IndirectCalibration.h
new file mode 100644
index 00000000000..f19ee70dca6
--- /dev/null
+++ b/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/IndirectCalibration.h
@@ -0,0 +1,51 @@
+#ifndef MANTIDQTCUSTOMINTERFACES_INDIRECTCALIBRATION_H_
+#define MANTIDQTCUSTOMINTERFACES_INDIRECTCALIBRATION_H_
+
+#include "MantidKernel/System.h"
+#include "MantidQtCustomInterfaces/IndirectDataReductionTab.h"
+
+namespace MantidQt
+{
+namespace CustomInterfaces
+{
+  /** IndirectCalibration
+
+    @author Dan Nixon
+    @date 23/07/2014
+
+    Copyright &copy; 2013 ISIS Rutherford Appleton Laboratory & NScD Oak Ridge National Laboratory
+
+    This file is part of Mantid.
+
+    Mantid is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 3 of the License, or
+    (at your option) any later version.
+
+    Mantid is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+    File change history is stored at: <https://github.com/mantidproject/mantid>
+    Code Documentation is available at: <http://doxygen.mantidproject.org>
+  */
+  class DLLExport IndirectCalibration : public IndirectDataReductionTab
+  {
+    Q_OBJECT
+
+  public:
+    IndirectCalibration(Ui::IndirectDataReduction& uiForm, QWidget * parent = 0);
+    virtual ~IndirectCalibration();
+
+    virtual void setup();
+    virtual void run();
+    virtual bool validate();
+  };
+} // namespace CustomInterfaces
+} // namespace Mantid
+
+#endif //MANTIDQTCUSTOMINTERFACES_INDIRECTCALIBRATION_H_
diff --git a/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/IndirectConvertToEnergy.h b/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/IndirectConvertToEnergy.h
new file mode 100644
index 00000000000..41deacf602d
--- /dev/null
+++ b/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/IndirectConvertToEnergy.h
@@ -0,0 +1,51 @@
+#ifndef MANTIDQTCUSTOMINTERFACES_INDIRECTCONVERTTOENERGY_H_
+#define MANTIDQTCUSTOMINTERFACES_INDIRECTCONVERTTOENERGY_H_
+
+#include "MantidKernel/System.h"
+#include "MantidQtCustomInterfaces/IndirectDataReductionTab.h"
+
+namespace MantidQt
+{
+namespace CustomInterfaces
+{
+  /** IndirectConvertToEnergy
+
+    @author Dan Nixon
+    @date 23/07/2014
+
+    Copyright &copy; 2013 ISIS Rutherford Appleton Laboratory & NScD Oak Ridge National Laboratory
+
+    This file is part of Mantid.
+
+    Mantid is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 3 of the License, or
+    (at your option) any later version.
+
+    Mantid is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+    File change history is stored at: <https://github.com/mantidproject/mantid>
+    Code Documentation is available at: <http://doxygen.mantidproject.org>
+  */
+  class DLLExport IndirectConvertToEnergy : public IndirectDataReductionTab
+  {
+    Q_OBJECT
+
+  public:
+    IndirectConvertToEnergy(Ui::IndirectDataReduction& uiForm, QWidget * parent = 0);
+    virtual ~IndirectConvertToEnergy();
+
+    virtual void setup();
+    virtual void run();
+    virtual bool validate();
+  };
+} // namespace CustomInterfaces
+} // namespace Mantid
+
+#endif //MANTIDQTCUSTOMINTERFACES_INDIRECTCONVERTTOENERGY_H_
diff --git a/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/C2ETab.h b/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/IndirectDataReductionTab.h
similarity index 91%
rename from Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/C2ETab.h
rename to Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/IndirectDataReductionTab.h
index 402d4c14b76..afb9e1fb1cf 100644
--- a/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/C2ETab.h
+++ b/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/IndirectDataReductionTab.h
@@ -1,5 +1,5 @@
-#ifndef MANTID_CUSTOMINTERFACES_C2ETAB_H_
-#define MANTID_CUSTOMINTERFACES_C2ETAB_H_
+#ifndef MANTID_CUSTOMINTERFACES_INDIRECTDATAREDUCTIONTAB_H_
+#define MANTID_CUSTOMINTERFACES_INDIRECTDATAREDUCTIONTAB_H_
 
 #include "MantidAPI/AlgorithmManager.h"
 #include "MantidAPI/AnalysisDataService.h"
@@ -43,7 +43,7 @@ namespace CustomInterfaces
 {
 
 
-  /** C2ETab : TODO: DESCRIPTION
+  /** IndirectDataReductionTab : TODO: DESCRIPTION
     
     @author Samuel Jackson
     @date 13/08/2013
@@ -68,13 +68,13 @@ namespace CustomInterfaces
     File change history is stored at: <https://github.com/mantidproject/mantid>
     Code Documentation is available at: <http://doxygen.mantidproject.org>
   */
-  class DLLExport C2ETab : public QWidget
+  class DLLExport IndirectDataReductionTab : public QWidget
   {
     Q_OBJECT
 
   public:
-    C2ETab(Ui::IndirectDataReduction& uiForm, QWidget * parent = 0);
-    virtual ~C2ETab();
+    IndirectDataReductionTab(Ui::IndirectDataReduction& uiForm, QWidget * parent = 0);
+    virtual ~IndirectDataReductionTab();
     void runTab();
     void setupTab();
     void validateTab();
@@ -137,4 +137,4 @@ namespace CustomInterfaces
 } // namespace CustomInterfaces
 } // namespace Mantid
 
-#endif  /* MANTID_CUSTOMINTERFACES_C2ETAB_H_ */
+#endif  /* MANTID_CUSTOMINTERFACES_INDIRECTDATAREDUCTIONTAB_H_ */
diff --git a/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/IndirectDiagnostics.h b/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/IndirectDiagnostics.h
new file mode 100644
index 00000000000..133446af766
--- /dev/null
+++ b/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/IndirectDiagnostics.h
@@ -0,0 +1,51 @@
+#ifndef MANTIDQTCUSTOMINTERFACES_INDIRECTDIAGNOSTICS_H_
+#define MANTIDQTCUSTOMINTERFACES_INDIRECTDIAGNOSTICS_H_
+
+#include "MantidKernel/System.h"
+#include "MantidQtCustomInterfaces/IndirectDataReductionTab.h"
+
+namespace MantidQt
+{
+namespace CustomInterfaces
+{
+  /** IndirectDiagnostics
+
+    @author Dan Nixon
+    @date 23/07/2014
+
+    Copyright &copy; 2013 ISIS Rutherford Appleton Laboratory & NScD Oak Ridge National Laboratory
+
+    This file is part of Mantid.
+
+    Mantid is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 3 of the License, or
+    (at your option) any later version.
+
+    Mantid is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+    File change history is stored at: <https://github.com/mantidproject/mantid>
+    Code Documentation is available at: <http://doxygen.mantidproject.org>
+  */
+  class DLLExport IndirectDiagnostics : public IndirectDataReductionTab
+  {
+    Q_OBJECT
+
+  public:
+    IndirectDiagnostics(Ui::IndirectDataReduction& uiForm, QWidget * parent = 0);
+    virtual ~IndirectDiagnostics();
+
+    virtual void setup();
+    virtual void run();
+    virtual bool validate();
+  };
+} // namespace CustomInterfaces
+} // namespace Mantid
+
+#endif //MANTIDQTCUSTOMINTERFACES_INDIRECTDIAGNOSTICS_H__
diff --git a/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/IndirectMoments.h b/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/IndirectMoments.h
index d7848b18a54..b5b5bb69e0c 100644
--- a/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/IndirectMoments.h
+++ b/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/IndirectMoments.h
@@ -2,7 +2,7 @@
 #define MANTID_CUSTOMINTERFACES_INDIRECTMOMENTS_H_
 
 #include "MantidKernel/System.h"
-#include "MantidQtCustomInterfaces/C2ETab.h"
+#include "MantidQtCustomInterfaces/IndirectDataReductionTab.h"
 
 namespace MantidQt
 {
@@ -34,7 +34,7 @@ namespace CustomInterfaces
     File change history is stored at: <https://github.com/mantidproject/mantid>
     Code Documentation is available at: <http://doxygen.mantidproject.org>
   */
-  class DLLExport IndirectMoments : public C2ETab
+  class DLLExport IndirectMoments : public IndirectDataReductionTab
   {
     Q_OBJECT
 
@@ -47,7 +47,7 @@ namespace CustomInterfaces
     virtual bool validate();
 
   protected slots:
-    //Handle when a file/workspace is ready for plotting
+    // Handle when a file/workspace is ready for plotting
     void handleSampleInputReady(const QString&);
     /// Slot for when the min range on the range selector changes
     void minValueChanged(double min);
diff --git a/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/IndirectSqw.h b/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/IndirectSqw.h
new file mode 100644
index 00000000000..302d9199b63
--- /dev/null
+++ b/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/IndirectSqw.h
@@ -0,0 +1,51 @@
+#ifndef MANTIDQTCUSTOMINTERFACES_INDIRECTSQW_H_
+#define MANTIDQTCUSTOMINTERFACES_INDIRECTSQW_H_
+
+#include "MantidKernel/System.h"
+#include "MantidQtCustomInterfaces/IndirectDataReductionTab.h"
+
+namespace MantidQt
+{
+namespace CustomInterfaces
+{
+  /** IndirectSqw
+
+    @author Dan Nixon
+    @date 23/07/2014
+
+    Copyright &copy; 2013 ISIS Rutherford Appleton Laboratory & NScD Oak Ridge National Laboratory
+
+    This file is part of Mantid.
+
+    Mantid is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 3 of the License, or
+    (at your option) any later version.
+
+    Mantid is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+    File change history is stored at: <https://github.com/mantidproject/mantid>
+    Code Documentation is available at: <http://doxygen.mantidproject.org>
+  */
+  class DLLExport IndirectSqw : public IndirectDataReductionTab
+  {
+    Q_OBJECT
+
+  public:
+    IndirectSqw(Ui::IndirectDataReduction& uiForm, QWidget * parent = 0);
+    virtual ~IndirectSqw();
+
+    virtual void setup();
+    virtual void run();
+    virtual bool validate();
+  };
+} // namespace CustomInterfaces
+} // namespace Mantid
+
+#endif //MANTIDQTCUSTOMINTERFACES_INDIRECTSQW_H_
diff --git a/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/Transmission.h b/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/Transmission.h
index f645f195208..9b4d2215138 100644
--- a/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/Transmission.h
+++ b/Code/Mantid/MantidQt/CustomInterfaces/inc/MantidQtCustomInterfaces/Transmission.h
@@ -1,7 +1,7 @@
 #ifndef MANTID_CUSTOMINTERFACES_TRANSMISSION_H_
 #define MANTID_CUSTOMINTERFACES_TRANSMISSION_H_
 
-#include "MantidQtCustomInterfaces/C2ETab.h"
+#include "MantidQtCustomInterfaces/IndirectDataReductionTab.h"
 #include "MantidKernel/System.h"
 
 
@@ -35,7 +35,7 @@ namespace CustomInterfaces
     File change history is stored at: <https://github.com/mantidproject/mantid>
     Code Documentation is available at: <http://doxygen.mantidproject.org>
   */
-  class DLLExport Transmission : public C2ETab
+  class DLLExport Transmission : public IndirectDataReductionTab
   {
     Q_OBJECT
 
diff --git a/Code/Mantid/MantidQt/CustomInterfaces/src/Indirect.cpp b/Code/Mantid/MantidQt/CustomInterfaces/src/Indirect.cpp
index 12f296d1042..8bffc04053c 100644
--- a/Code/Mantid/MantidQt/CustomInterfaces/src/Indirect.cpp
+++ b/Code/Mantid/MantidQt/CustomInterfaces/src/Indirect.cpp
@@ -1,6 +1,12 @@
 #include "MantidQtCustomInterfaces/Indirect.h"
+
 #include "MantidQtCustomInterfaces/Transmission.h"
 #include "MantidQtCustomInterfaces/IndirectMoments.h"
+#include "MantidQtCustomInterfaces/IndirectSqw.h"
+#include "MantidQtCustomInterfaces/IndirectCalibration.h"
+#include "MantidQtCustomInterfaces/IndirectDiagnostics.h"
+#include "MantidQtCustomInterfaces/IndirectConvertToEnergy.h"
+
 #include "MantidQtCustomInterfaces/UserInputValidator.h"
 #include "MantidQtCustomInterfaces/Background.h"
 
@@ -59,8 +65,12 @@ Indirect::Indirect(QWidget *parent, Ui::IndirectDataReduction & uiForm) :
   // Null pointers - Diagnostics Tab
   m_sltPlot(NULL), m_sltR1(NULL), m_sltR2(NULL), m_sltDataCurve(NULL),
   // Additional tab interfaces
-  m_tab_trans(new Transmission(m_uiForm,this)),
-  m_tab_moments(new IndirectMoments(m_uiForm,this))
+  m_tab_convert_to_energy(new IndirectConvertToEnergy(m_uiForm, this)),
+  m_tab_sqw(new IndirectSqw(m_uiForm, this)),
+  m_tab_diagnostics(new IndirectDiagnostics(m_uiForm, this)),
+  m_tab_calibration(new IndirectCalibration(m_uiForm, this)),
+  m_tab_trans(new Transmission(m_uiForm, this)),
+  m_tab_moments(new IndirectMoments(m_uiForm, this))
 {
   // Constructor
 }
diff --git a/Code/Mantid/MantidQt/CustomInterfaces/src/IndirectCalibration.cpp b/Code/Mantid/MantidQt/CustomInterfaces/src/IndirectCalibration.cpp
new file mode 100644
index 00000000000..3be7a37ee49
--- /dev/null
+++ b/Code/Mantid/MantidQt/CustomInterfaces/src/IndirectCalibration.cpp
@@ -0,0 +1,35 @@
+#include "MantidQtCustomInterfaces/IndirectCalibration.h"
+
+namespace MantidQt
+{
+namespace CustomInterfaces
+{
+  //----------------------------------------------------------------------------------------------
+  /** Constructor
+   */
+  IndirectCalibration::IndirectCalibration(Ui::IndirectDataReduction& uiForm, QWidget * parent) :
+      IndirectDataReductionTab(uiForm, parent)
+  {
+  }
+    
+  //----------------------------------------------------------------------------------------------
+  /** Destructor
+   */
+  IndirectCalibration::~IndirectCalibration()
+  {
+  }
+  
+  void IndirectCalibration::setup()
+  {
+  }
+
+  void IndirectCalibration::run()
+  {
+  }
+
+  bool IndirectCalibration::validate()
+  {
+  }
+
+} // namespace CustomInterfaces
+} // namespace Mantid
diff --git a/Code/Mantid/MantidQt/CustomInterfaces/src/IndirectConvertToEnergy.cpp b/Code/Mantid/MantidQt/CustomInterfaces/src/IndirectConvertToEnergy.cpp
new file mode 100644
index 00000000000..da1345b91fd
--- /dev/null
+++ b/Code/Mantid/MantidQt/CustomInterfaces/src/IndirectConvertToEnergy.cpp
@@ -0,0 +1,35 @@
+#include "MantidQtCustomInterfaces/IndirectConvertToEnergy.h"
+
+namespace MantidQt
+{
+namespace CustomInterfaces
+{
+  //----------------------------------------------------------------------------------------------
+  /** Constructor
+   */
+  IndirectConvertToEnergy::IndirectConvertToEnergy(Ui::IndirectDataReduction& uiForm, QWidget * parent) :
+      IndirectDataReductionTab(uiForm, parent)
+  {
+  }
+    
+  //----------------------------------------------------------------------------------------------
+  /** Destructor
+   */
+  IndirectConvertToEnergy::~IndirectConvertToEnergy()
+  {
+  }
+  
+  void IndirectConvertToEnergy::setup()
+  {
+  }
+
+  void IndirectConvertToEnergy::run()
+  {
+  }
+
+  bool IndirectConvertToEnergy::validate()
+  {
+  }
+
+} // namespace CustomInterfaces
+} // namespace Mantid
diff --git a/Code/Mantid/MantidQt/CustomInterfaces/src/C2ETab.cpp b/Code/Mantid/MantidQt/CustomInterfaces/src/IndirectDataReductionTab.cpp
similarity index 79%
rename from Code/Mantid/MantidQt/CustomInterfaces/src/C2ETab.cpp
rename to Code/Mantid/MantidQt/CustomInterfaces/src/IndirectDataReductionTab.cpp
index 4b69f3ca34b..4023104fba4 100644
--- a/Code/Mantid/MantidQt/CustomInterfaces/src/C2ETab.cpp
+++ b/Code/Mantid/MantidQt/CustomInterfaces/src/IndirectDataReductionTab.cpp
@@ -1,4 +1,4 @@
-#include "MantidQtCustomInterfaces/C2ETab.h"
+#include "MantidQtCustomInterfaces/IndirectDataReductionTab.h"
 
 namespace MantidQt
 {
@@ -8,7 +8,7 @@ namespace CustomInterfaces
   //----------------------------------------------------------------------------------------------
   /** Constructor
    */
-  C2ETab::C2ETab(Ui::IndirectDataReduction& uiForm, QWidget * parent) : QWidget(parent),
+  IndirectDataReductionTab::IndirectDataReductionTab(Ui::IndirectDataReduction& uiForm, QWidget * parent) : QWidget(parent),
       m_plot(new QwtPlot(parent)), m_curve(new QwtPlotCurve()), m_rangeSelector(new MantidWidgets::RangeSelector(m_plot)),
       m_propTree(new QtTreePropertyBrowser()), m_properties(), m_dblManager(new QtDoublePropertyManager()), 
       m_dblEdFac(new DoubleEditorFactory()), m_algRunner(new MantidQt::API::AlgorithmRunner(this)), m_uiForm(uiForm)
@@ -19,11 +19,11 @@ namespace CustomInterfaces
   //----------------------------------------------------------------------------------------------
   /** Destructor
    */
-  C2ETab::~C2ETab()
+  IndirectDataReductionTab::~IndirectDataReductionTab()
   {
   }
   
-  void C2ETab::runTab()
+  void IndirectDataReductionTab::runTab()
   {
     if(validate())
     {
@@ -31,12 +31,12 @@ namespace CustomInterfaces
     }
   }
 
-  void C2ETab::setupTab()
+  void IndirectDataReductionTab::setupTab()
   {
     setup();
   }
 
-  void C2ETab::validateTab()
+  void IndirectDataReductionTab::validateTab()
   {
     validate();
   }
@@ -48,7 +48,7 @@ namespace CustomInterfaces
    * @param outputName :: The name of the output workspace
    * @return If the algorithm was successful
    */
-  bool C2ETab::loadFile(const QString& filename, const QString& outputName)
+  bool IndirectDataReductionTab::loadFile(const QString& filename, const QString& outputName)
   {
     using namespace Mantid::API;
 
@@ -76,7 +76,7 @@ namespace CustomInterfaces
    * @param workspace :: The name of the workspace
    * @param index :: The spectrum index of the workspace
    */
-  void C2ETab::plotMiniPlot(const QString& workspace, size_t index)
+  void IndirectDataReductionTab::plotMiniPlot(const QString& workspace, size_t index)
   {
     using namespace Mantid::API;
     auto ws = AnalysisDataService::Instance().retrieveWS<const MatrixWorkspace>(workspace.toStdString());
@@ -88,7 +88,7 @@ namespace CustomInterfaces
    *
    * @return A pair containing the maximum and minimum points of the curve
    */
-  std::pair<double,double> C2ETab::getCurveRange()
+  std::pair<double,double> IndirectDataReductionTab::getCurveRange()
   {
     size_t npts = m_curve->data().size();
 
@@ -105,7 +105,7 @@ namespace CustomInterfaces
    * @param workspace :: Pointer to the workspace
    * @param wsIndex :: The spectrum index of the workspace
    */
-  void C2ETab::plotMiniPlot(const Mantid::API::MatrixWorkspace_const_sptr & workspace, size_t wsIndex)
+  void IndirectDataReductionTab::plotMiniPlot(const Mantid::API::MatrixWorkspace_const_sptr & workspace, size_t wsIndex)
   {
     using Mantid::MantidVec;
 
@@ -146,7 +146,7 @@ namespace CustomInterfaces
    * @param max :: The upper bound property in the property browser
    * @param bounds :: The upper and lower bounds to be set
    */
-  void C2ETab::setPlotRange(QtProperty* min, QtProperty* max, const std::pair<double, double>& bounds)
+  void IndirectDataReductionTab::setPlotRange(QtProperty* min, QtProperty* max, const std::pair<double, double>& bounds)
   {
     m_dblManager->setMinimum(min, bounds.first);
     m_dblManager->setMaximum(min, bounds.second);
@@ -162,7 +162,7 @@ namespace CustomInterfaces
    * @param upper :: The upper bound property in the property browser
    * @param bounds :: The upper and lower bounds to be set
    */
-  void C2ETab::setMiniPlotGuides(QtProperty* lower, QtProperty* upper, const std::pair<double, double>& bounds)
+  void IndirectDataReductionTab::setMiniPlotGuides(QtProperty* lower, QtProperty* upper, const std::pair<double, double>& bounds)
   {
     m_dblManager->setValue(lower, bounds.first);
     m_dblManager->setValue(upper, bounds.second);
@@ -170,13 +170,13 @@ namespace CustomInterfaces
     m_rangeSelector->setMaximum(bounds.second);
   }
 
-  void C2ETab::runAlgorithm(const Mantid::API::Algorithm_sptr algorithm)
+  void IndirectDataReductionTab::runAlgorithm(const Mantid::API::Algorithm_sptr algorithm)
   {
     algorithm->setRethrows(true);
     m_algRunner->startAlgorithm(algorithm);
   }
 
-  void C2ETab::algorithmFinished(bool error)
+  void IndirectDataReductionTab::algorithmFinished(bool error)
   {
     if(error)
     {
diff --git a/Code/Mantid/MantidQt/CustomInterfaces/src/IndirectDiagnostics.cpp b/Code/Mantid/MantidQt/CustomInterfaces/src/IndirectDiagnostics.cpp
new file mode 100644
index 00000000000..4c65b196b8f
--- /dev/null
+++ b/Code/Mantid/MantidQt/CustomInterfaces/src/IndirectDiagnostics.cpp
@@ -0,0 +1,35 @@
+#include "MantidQtCustomInterfaces/IndirectDiagnostics.h"
+
+namespace MantidQt
+{
+namespace CustomInterfaces
+{
+  //----------------------------------------------------------------------------------------------
+  /** Constructor
+   */
+  IndirectDiagnostics::IndirectDiagnostics(Ui::IndirectDataReduction& uiForm, QWidget * parent) :
+      IndirectDataReductionTab(uiForm, parent)
+  {
+  }
+    
+  //----------------------------------------------------------------------------------------------
+  /** Destructor
+   */
+  IndirectDiagnostics::~IndirectDiagnostics()
+  {
+  }
+  
+  void IndirectDiagnostics::setup()
+  {
+  }
+
+  void IndirectDiagnostics::run()
+  {
+  }
+
+  bool IndirectDiagnostics::validate()
+  {
+  }
+
+} // namespace CustomInterfaces
+} // namespace Mantid
diff --git a/Code/Mantid/MantidQt/CustomInterfaces/src/IndirectMoments.cpp b/Code/Mantid/MantidQt/CustomInterfaces/src/IndirectMoments.cpp
index 33d46ca213e..1da866d0047 100644
--- a/Code/Mantid/MantidQt/CustomInterfaces/src/IndirectMoments.cpp
+++ b/Code/Mantid/MantidQt/CustomInterfaces/src/IndirectMoments.cpp
@@ -12,7 +12,7 @@ namespace CustomInterfaces
   //----------------------------------------------------------------------------------------------
   /** Constructor
    */
-  IndirectMoments::IndirectMoments(Ui::IndirectDataReduction& uiForm, QWidget * parent) : C2ETab(uiForm, parent)
+  IndirectMoments::IndirectMoments(Ui::IndirectDataReduction& uiForm, QWidget * parent) : IndirectDataReductionTab(uiForm, parent)
   {
     const unsigned int NUM_DECIMALS = 6;
 
diff --git a/Code/Mantid/MantidQt/CustomInterfaces/src/IndirectSqw.cpp b/Code/Mantid/MantidQt/CustomInterfaces/src/IndirectSqw.cpp
new file mode 100644
index 00000000000..a460c48cdd2
--- /dev/null
+++ b/Code/Mantid/MantidQt/CustomInterfaces/src/IndirectSqw.cpp
@@ -0,0 +1,35 @@
+#include "MantidQtCustomInterfaces/IndirectSqw.h"
+
+namespace MantidQt
+{
+namespace CustomInterfaces
+{
+  //----------------------------------------------------------------------------------------------
+  /** Constructor
+   */
+  IndirectSqw::IndirectSqw(Ui::IndirectDataReduction& uiForm, QWidget * parent) :
+      IndirectDataReductionTab(uiForm, parent)
+  {
+  }
+    
+  //----------------------------------------------------------------------------------------------
+  /** Destructor
+   */
+  IndirectSqw::~IndirectSqw()
+  {
+  }
+  
+  void IndirectSqw::setup()
+  {
+  }
+
+  void IndirectSqw::run()
+  {
+  }
+
+  bool IndirectSqw::validate()
+  {
+  }
+
+} // namespace CustomInterfaces
+} // namespace Mantid
diff --git a/Code/Mantid/MantidQt/CustomInterfaces/src/Transmission.cpp b/Code/Mantid/MantidQt/CustomInterfaces/src/Transmission.cpp
index feebda1f1d2..154a168ca05 100644
--- a/Code/Mantid/MantidQt/CustomInterfaces/src/Transmission.cpp
+++ b/Code/Mantid/MantidQt/CustomInterfaces/src/Transmission.cpp
@@ -11,7 +11,7 @@ namespace CustomInterfaces
   /** Constructor
    */
   Transmission::Transmission(Ui::IndirectDataReduction& uiForm, QWidget * parent) :
-      C2ETab(uiForm, parent)
+      IndirectDataReductionTab(uiForm, parent)
   {
   }
     
-- 
GitLab