From 36e61f37df539533d3cfdbad764b92b0632c3b5e Mon Sep 17 00:00:00 2001
From: Anthony Lim <anthony.lim@stfc.ac.uk>
Date: Tue, 2 May 2017 10:28:13 +0100
Subject: [PATCH] refs #19149 Filled out data table in muon anlaysis

---
 .../FitPropertyBrowser.h                      |   3 +-
 .../MuonFitDataSelector.h                     |  12 +-
 .../MuonFitDataSelector.ui                    | 394 +++++++++---------
 .../MuonFitPropertyBrowser.h                  |  12 +-
 .../MantidWidgets/src/MuonFitDataSelector.cpp |  24 ++
 .../src/MuonFitPropertyBrowser.cpp            |  58 ++-
 6 files changed, 265 insertions(+), 238 deletions(-)

diff --git a/MantidQt/MantidWidgets/inc/MantidQtMantidWidgets/FitPropertyBrowser.h b/MantidQt/MantidWidgets/inc/MantidQtMantidWidgets/FitPropertyBrowser.h
index 1a6555687ef..63ba7b20862 100644
--- a/MantidQt/MantidWidgets/inc/MantidQtMantidWidgets/FitPropertyBrowser.h
+++ b/MantidQt/MantidWidgets/inc/MantidQtMantidWidgets/FitPropertyBrowser.h
@@ -299,10 +299,9 @@ protected slots:
   /// Called when a bool property is changed
   virtual void boolChanged(QtProperty *prop);
   virtual void stringChanged(QtProperty *prop);
-
+  virtual void enumChanged(QtProperty *prop);
 private slots:
 
-  void enumChanged(QtProperty *prop);
   void intChanged(QtProperty *prop);
   virtual void doubleChanged(QtProperty *prop);
   /// Called when one of the parameter values gets changed
diff --git a/MantidQt/MantidWidgets/inc/MantidQtMantidWidgets/MuonFitDataSelector.h b/MantidQt/MantidWidgets/inc/MantidQtMantidWidgets/MuonFitDataSelector.h
index 5db55ca48cb..2e98d6e87e5 100644
--- a/MantidQt/MantidWidgets/inc/MantidQtMantidWidgets/MuonFitDataSelector.h
+++ b/MantidQt/MantidWidgets/inc/MantidQtMantidWidgets/MuonFitDataSelector.h
@@ -6,6 +6,9 @@
 #include "MantidQtMantidWidgets/IMuonFitDataSelector.h"
 #include "MantidQtAPI/MantidWidget.h"
 
+#include "MantidQtMantidWidgets/MuonFitPropertyBrowser.h"
+#include "MantidQtMantidWidgets/FitPropertyBrowser.h"
+
 namespace MantidQt {
 namespace MantidWidgets {
 
@@ -37,12 +40,13 @@ namespace MantidWidgets {
   Code Documentation is available at: <http://doxygen.mantidproject.org>
 */
 class EXPORT_OPT_MANTIDQT_MANTIDWIDGETS MuonFitDataSelector
-    : public MantidQt::API::MantidWidget,
+    :public  MantidQt::API::MantidWidget,
       public IMuonFitDataSelector {
   Q_OBJECT
+
 public:
   /// Basic constructor
-  explicit MuonFitDataSelector(QWidget *parent);
+	explicit MuonFitDataSelector(QWidget *parent);
   /// Constructor with more options
   MuonFitDataSelector(QWidget *parent, int runNumber, const QString &instName,
                       size_t numPeriods, const QStringList &groups);
@@ -151,7 +155,7 @@ private:
   QMap<QString, QCheckBox *> m_groupBoxes;
   /// Map of period names to checkboxes
   QMap<QString, QCheckBox *> m_periodBoxes;
-
+  double startX;
 private slots:
   /// Set normal cursor and enable input
   void unsetBusyState();
@@ -159,6 +163,8 @@ private slots:
   void setPreviousDataset();
   /// Change dataset to next one
   void setNextDataset();
+//  QtProperty *m_groupsToFit;
+//  mutable QStringList m_groupsToFitOptions;
 };
 
 } // namespace MantidWidgets
diff --git a/MantidQt/MantidWidgets/inc/MantidQtMantidWidgets/MuonFitDataSelector.ui b/MantidQt/MantidWidgets/inc/MantidQtMantidWidgets/MuonFitDataSelector.ui
index c889629f62a..59e5480c3a0 100644
--- a/MantidQt/MantidWidgets/inc/MantidQtMantidWidgets/MuonFitDataSelector.ui
+++ b/MantidQt/MantidWidgets/inc/MantidQtMantidWidgets/MuonFitDataSelector.ui
@@ -21,128 +21,12 @@
      </property>
      <layout class="QVBoxLayout" name="verticalLayout">
       <item>
-       <layout class="QHBoxLayout" name="horizontalLayoutData">
+       <layout class="QHBoxLayout" name="horizontalLayoutLabel">
         <item>
-         <widget class="QGroupBox" name="groupBoxWorkspaces">
-          <property name="title">
-           <string>Workspaces</string>
+         <widget class="QLabel" name="lblSimFitLabel">
+          <property name="text">
+           <string>Label for simultaneous fit: </string>
           </property>
-          <layout class="QVBoxLayout" name="verticalLayoutWorkspaces">
-           <item>
-            <layout class="QHBoxLayout" name="horizontalLayoutRuns">
-             <item>
-              <widget class="QLabel" name="lblRuns">
-               <property name="text">
-                <string>Runs:</string>
-               </property>
-              </widget>
-             </item>
-             <item>
-              <widget class="MantidQt::API::MWRunFiles" name="runs" native="true">
-               <property name="sizePolicy">
-                <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
-                 <horstretch>0</horstretch>
-                 <verstretch>0</verstretch>
-                </sizepolicy>
-               </property>
-               <property name="label" stdset="0">
-                <string/>
-               </property>
-               <property name="multipleFiles" stdset="0">
-                <bool>true</bool>
-               </property>
-               <property name="findRunFiles" stdset="0">
-                <bool>true</bool>
-               </property>
-              </widget>
-             </item>
-            </layout>
-           </item>
-           <item>
-            <layout class="QHBoxLayout" name="horizontalLayoutRadioButtons">
-             <item>
-              <widget class="QRadioButton" name="rbCoAdd">
-               <property name="text">
-                <string>Co-add</string>
-               </property>
-               <property name="checked">
-                <bool>true</bool>
-               </property>
-              </widget>
-             </item>
-             <item>
-              <widget class="QRadioButton" name="rbSimultaneous">
-               <property name="sizePolicy">
-                <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
-                 <horstretch>0</horstretch>
-                 <verstretch>0</verstretch>
-                </sizepolicy>
-               </property>
-               <property name="minimumSize">
-                <size>
-                 <width>0</width>
-                 <height>0</height>
-                </size>
-               </property>
-               <property name="text">
-                <string>Simultaneous</string>
-               </property>
-              </widget>
-             </item>
-            </layout>
-           </item>
-           <item>
-            <layout class="QHBoxLayout" name="horizontalLayoutTime">
-             <item>
-              <widget class="QLabel" name="lblStart">
-               <property name="text">
-                <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Start (us):&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
-               </property>
-              </widget>
-             </item>
-             <item>
-              <widget class="QLineEdit" name="txtStart">
-               <property name="sizePolicy">
-                <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
-                 <horstretch>0</horstretch>
-                 <verstretch>0</verstretch>
-                </sizepolicy>
-               </property>
-              </widget>
-             </item>
-             <item>
-              <spacer name="horizontalSpacerTime">
-               <property name="orientation">
-                <enum>Qt::Horizontal</enum>
-               </property>
-               <property name="sizeHint" stdset="0">
-                <size>
-                 <width>40</width>
-                 <height>20</height>
-                </size>
-               </property>
-              </spacer>
-             </item>
-             <item>
-              <widget class="QLabel" name="lblEnd">
-               <property name="text">
-                <string>End (us):</string>
-               </property>
-              </widget>
-             </item>
-             <item>
-              <widget class="QLineEdit" name="txtEnd">
-               <property name="sizePolicy">
-                <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
-                 <horstretch>0</horstretch>
-                 <verstretch>0</verstretch>
-                </sizepolicy>
-               </property>
-              </widget>
-             </item>
-            </layout>
-           </item>
-          </layout>
          </widget>
         </item>
         <item>
@@ -169,82 +53,122 @@
          </widget>
         </item>
         <item>
-         <widget class="QGroupBox" name="groupBoxPeriods">
-          <property name="title">
-           <string>Periods</string>
-          </property>
-          <layout class="QVBoxLayout" name="verticalLayoutPeriods">
-           <item>
-            <widget class="QCheckBox" name="chk1">
-             <property name="text">
-              <string>1</string>
-             </property>
-            </widget>
-           </item>
-           <item>
-            <widget class="QCheckBox" name="chk2">
-             <property name="text">
-              <string>2</string>
-             </property>
-            </widget>
-           </item>
-           <item>
-            <layout class="QHBoxLayout" name="horizontalLayoutPeriodsCombine">
+         <layout class="QHBoxLayout" name="horizontalLayoutTime">
+          <item>
+           <widget class="QLabel" name="lblStart">
+            <property name="text">
+             <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Start (us):&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+            </property>
+           </widget>
+          </item>
+          <item>
+           <widget class="QLineEdit" name="txtStart">
+            <property name="sizePolicy">
+             <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+              <horstretch>0</horstretch>
+              <verstretch>0</verstretch>
+             </sizepolicy>
+            </property>
+           </widget>
+          </item>
+          <item>
+           <widget class="QGroupBox" name="groupBoxPeriods">
+            <property name="title">
+             <string>Periods</string>
+            </property>
+            <layout class="QVBoxLayout" name="verticalLayoutPeriods">
              <item>
-              <widget class="QCheckBox" name="chkCombine">
+              <widget class="QCheckBox" name="chk1">
                <property name="text">
-                <string>Combine</string>
+                <string>1</string>
                </property>
               </widget>
              </item>
              <item>
-              <widget class="QLineEdit" name="txtFirst">
-               <property name="enabled">
-                <bool>false</bool>
-               </property>
-               <property name="sizePolicy">
-                <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
-                 <horstretch>0</horstretch>
-                 <verstretch>0</verstretch>
-                </sizepolicy>
-               </property>
-              </widget>
-             </item>
-             <item>
-              <widget class="QLabel" name="lblMinus">
+              <widget class="QCheckBox" name="chk2">
                <property name="text">
-                <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;-&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+                <string>2</string>
                </property>
               </widget>
              </item>
              <item>
-              <widget class="QLineEdit" name="txtSecond">
-               <property name="enabled">
-                <bool>false</bool>
-               </property>
-               <property name="sizePolicy">
-                <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
-                 <horstretch>0</horstretch>
-                 <verstretch>0</verstretch>
-                </sizepolicy>
-               </property>
-              </widget>
+              <layout class="QHBoxLayout" name="horizontalLayoutPeriodsCombine">
+               <item>
+                <widget class="QCheckBox" name="chkCombine">
+                 <property name="text">
+                  <string>Combine</string>
+                 </property>
+                </widget>
+               </item>
+               <item>
+                <widget class="QLineEdit" name="txtFirst">
+                 <property name="enabled">
+                  <bool>false</bool>
+                 </property>
+                 <property name="sizePolicy">
+                  <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
+                   <horstretch>0</horstretch>
+                   <verstretch>0</verstretch>
+                  </sizepolicy>
+                 </property>
+                </widget>
+               </item>
+               <item>
+                <widget class="QLabel" name="lblMinus">
+                 <property name="text">
+                  <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;-&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
+                 </property>
+                </widget>
+               </item>
+               <item>
+                <widget class="QLineEdit" name="txtSecond">
+                 <property name="enabled">
+                  <bool>false</bool>
+                 </property>
+                 <property name="sizePolicy">
+                  <sizepolicy hsizetype="Maximum" vsizetype="Fixed">
+                   <horstretch>0</horstretch>
+                   <verstretch>0</verstretch>
+                  </sizepolicy>
+                 </property>
+                </widget>
+               </item>
+              </layout>
              </item>
             </layout>
-           </item>
-          </layout>
-         </widget>
-        </item>
-       </layout>
-      </item>
-      <item>
-       <layout class="QHBoxLayout" name="horizontalLayoutLabel">
-        <item>
-         <widget class="QLabel" name="lblSimFitLabel">
-          <property name="text">
-           <string>Label for simultaneous fit: </string>
-          </property>
-         </widget>
+           </widget>
+          </item>
+          <item>
+           <spacer name="horizontalSpacerTime">
+            <property name="orientation">
+             <enum>Qt::Horizontal</enum>
+            </property>
+            <property name="sizeHint" stdset="0">
+             <size>
+              <width>40</width>
+              <height>20</height>
+             </size>
+            </property>
+           </spacer>
+          </item>
+          <item>
+           <widget class="QLabel" name="lblEnd">
+            <property name="text">
+             <string>End (us):</string>
+            </property>
+           </widget>
+          </item>
+          <item>
+           <widget class="QLineEdit" name="txtEnd">
+            <property name="sizePolicy">
+             <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
+              <horstretch>0</horstretch>
+              <verstretch>0</verstretch>
+             </sizepolicy>
+            </property>
+           </widget>
+          </item>
+         </layout>
         </item>
         <item>
          <widget class="QLineEdit" name="txtSimFitLabel">
@@ -258,21 +182,15 @@
         </item>
        </layout>
       </item>
+      <item>
+       <widget class="QLabel" name="label">
+        <property name="text">
+         <string>Present results for Data:</string>
+        </property>
+       </widget>
+      </item>
       <item>
        <layout class="QHBoxLayout" name="horizontalLayoutDataset">
-        <item>
-         <spacer name="horizontalSpacerDatasetLeft">
-          <property name="orientation">
-           <enum>Qt::Horizontal</enum>
-          </property>
-          <property name="sizeHint" stdset="0">
-           <size>
-            <width>40</width>
-            <height>20</height>
-           </size>
-          </property>
-         </spacer>
-        </item>
         <item>
          <widget class="QPushButton" name="btnPrevDataset">
           <property name="sizePolicy">
@@ -313,20 +231,82 @@
          </widget>
         </item>
         <item>
-         <spacer name="horizontalSpacerDatasetRight">
-          <property name="orientation">
-           <enum>Qt::Horizontal</enum>
-          </property>
-          <property name="sizeHint" stdset="0">
-           <size>
-            <width>40</width>
-            <height>20</height>
-           </size>
-          </property>
-         </spacer>
+         <layout class="QHBoxLayout" name="horizontalLayoutData"/>
         </item>
        </layout>
       </item>
+      <item>
+       <widget class="QGroupBox" name="groupBoxWorkspaces">
+        <property name="title">
+         <string>Use Runs</string>
+        </property>
+        <layout class="QVBoxLayout" name="verticalLayoutWorkspaces">
+         <item>
+          <layout class="QHBoxLayout" name="horizontalLayoutRuns">
+           <item>
+            <widget class="QLabel" name="lblRuns">
+             <property name="text">
+              <string>Runs:</string>
+             </property>
+            </widget>
+           </item>
+           <item>
+            <widget class="MantidQt::API::MWRunFiles" name="runs" native="true">
+             <property name="sizePolicy">
+              <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+               <horstretch>0</horstretch>
+               <verstretch>0</verstretch>
+              </sizepolicy>
+             </property>
+             <property name="label" stdset="0">
+              <string/>
+             </property>
+             <property name="multipleFiles" stdset="0">
+              <bool>true</bool>
+             </property>
+             <property name="findRunFiles" stdset="0">
+              <bool>true</bool>
+             </property>
+            </widget>
+           </item>
+          </layout>
+         </item>
+         <item>
+          <layout class="QHBoxLayout" name="horizontalLayoutRadioButtons">
+           <item>
+            <widget class="QRadioButton" name="rbCoAdd">
+             <property name="text">
+              <string>Co-add</string>
+             </property>
+             <property name="checked">
+              <bool>true</bool>
+             </property>
+            </widget>
+           </item>
+           <item>
+            <widget class="QRadioButton" name="rbSimultaneous">
+             <property name="sizePolicy">
+              <sizepolicy hsizetype="MinimumExpanding" vsizetype="Fixed">
+               <horstretch>0</horstretch>
+               <verstretch>0</verstretch>
+              </sizepolicy>
+             </property>
+             <property name="minimumSize">
+              <size>
+               <width>0</width>
+               <height>0</height>
+              </size>
+             </property>
+             <property name="text">
+              <string>Simultaneous</string>
+             </property>
+            </widget>
+           </item>
+          </layout>
+         </item>
+        </layout>
+       </widget>
+      </item>
      </layout>
     </widget>
    </item>
diff --git a/MantidQt/MantidWidgets/inc/MantidQtMantidWidgets/MuonFitPropertyBrowser.h b/MantidQt/MantidWidgets/inc/MantidQtMantidWidgets/MuonFitPropertyBrowser.h
index d8ea51c2977..2dbfe5467bd 100644
--- a/MantidQt/MantidWidgets/inc/MantidQtMantidWidgets/MuonFitPropertyBrowser.h
+++ b/MantidQt/MantidWidgets/inc/MantidQtMantidWidgets/MuonFitPropertyBrowser.h
@@ -64,6 +64,7 @@ public:
   Mantid::API::IFunction_sptr getFunction() const override {
     return getFittingFunction();
   }
+  QtProperty *addToGroupManager(QString name);
   /// Set list of workspaces to fit
   void setWorkspaceNames(const QStringList &wsNames) override;
   /// Get output name
@@ -126,12 +127,11 @@ protected:
   void showEvent(QShowEvent *e) override;
   double Normalization() const;
   void setNormalization();
+  void groupToFitChanged();
 private slots:
   void doubleChanged(QtProperty *prop) override;
   void boolChanged(QtProperty *prop) override;
-  void stringChanged(QtProperty *prop) override;
-
-
+  void enumChanged(QtProperty *prop) override;
 private:
   /// new menu option
   QAction *m_fitActiontest;
@@ -155,9 +155,9 @@ private:
   QtProperty *m_normalization;
   mutable QStringList m_normalizationValue;
   QtBrowserItem *m_multiFitSettingsGroup;
-  mutable QString m_strRuns;
-  QtProperty *m_propRuns;
-  MantidQt::API::MWRunFiles *m_runs;
+  QtProperty *m_groupsToFit;
+  mutable QStringList m_groupsToFitOptions;
+
 };
 
 std::vector<double> readNormalization();
diff --git a/MantidQt/MantidWidgets/src/MuonFitDataSelector.cpp b/MantidQt/MantidWidgets/src/MuonFitDataSelector.cpp
index 07fb31bb112..eabe5c5bae5 100644
--- a/MantidQt/MantidWidgets/src/MuonFitDataSelector.cpp
+++ b/MantidQt/MantidWidgets/src/MuonFitDataSelector.cpp
@@ -1,6 +1,11 @@
 #include "MantidQtMantidWidgets/MuonFitDataSelector.h"
 #include "MantidKernel/Logger.h"
 
+
+
+#include "qttreepropertybrowser.h"
+#include "qtpropertymanager.h"
+
 namespace {
 Mantid::Kernel::Logger g_log("MuonFitDataSelector");
 }
@@ -27,6 +32,25 @@ MuonFitDataSelector::MuonFitDataSelector(QWidget *parent)
   // selected on front tab. User will type in the runs they want rather than
   // using the Browse button. (If they want to "Browse" they can use front tab).
   m_ui.runs->doButtonOpt(API::MWRunFiles::ButtonOpts::None);
+
+
+  QSettings multiFitSettings;
+  multiFitSettings.beginGroup("");
+
+  /* Create function group */
+  QtProperty *multiFitSettingsGroup(NULL);
+  // Seperates the data and the settings into two seperate categories
+  //multiFitSettingsGroup=parent->addToGroupManager("Test");
+/*  m_groupsToFit = FitPropertyBrowser::m_enumManager->addProperty("Groups/Pairs to fit");
+  m_groupsToFitOptions << "All groups"
+	  << "All Pairs"
+	  << "Custom";
+  //moo need to add periods.... 
+
+  m_enumManager->setEnumNames(m_groupsToFit, m_groupsToFitOptions);
+  multiFitSettingsGroup->addSubProperty(m_groupsToFit);*/
+
+
 }
 
 /**
diff --git a/MantidQt/MantidWidgets/src/MuonFitPropertyBrowser.cpp b/MantidQt/MantidWidgets/src/MuonFitPropertyBrowser.cpp
index 74a1d88531a..cfc855583d7 100644
--- a/MantidQt/MantidWidgets/src/MuonFitPropertyBrowser.cpp
+++ b/MantidQt/MantidWidgets/src/MuonFitPropertyBrowser.cpp
@@ -8,6 +8,9 @@
 #include "MantidAPI/WorkspaceGroup.h"
 #include "MantidQtMantidWidgets/StringEditorFactory.h"
 
+#include "MantidQtMantidWidgets/MuonFitDataSelector.h"
+
+
 // Suppress a warning coming out of code that isn't ours
 #if defined(__INTEL_COMPILER)
 #pragma warning disable 1125
@@ -68,7 +71,7 @@ const std::string MuonFitPropertyBrowser::SIMULTANEOUS_PREFIX{"MuonSimulFit_"};
 MuonFitPropertyBrowser::MuonFitPropertyBrowser(QWidget *parent,
                                                QObject *mantidui)
     : FitPropertyBrowser(parent, mantidui), m_widgetSplitter(nullptr),
-      m_mainSplitter(nullptr),m_runs(NULL) {}
+      m_mainSplitter(nullptr) {}
 
 /**
 * Initialise the muon fit property browser.
@@ -147,10 +150,17 @@ void MuonFitPropertyBrowser::init() {
   
  
   //m_listRuns = m_runs->getFileExtensions();
-  m_propRuns = m_stringManager->addProperty("Runs");
-  multiFitSettingsGroup->addSubProperty(m_propRuns);
+  //multiFitSettingsGroup->addSubProperty(m_propRuns);
   multiFitSettingsGroup->addSubProperty(m_startX);
   multiFitSettingsGroup->addSubProperty(m_endX);
+  m_groupsToFit = m_enumManager->addProperty("Groups/Pairs to fit");
+  m_groupsToFitOptions << "All groups"
+	  << "All Pairs"
+	  << "Custom"; 
+  //moo need to add periods.... 
+
+  m_enumManager->setEnumNames(m_groupsToFit, m_groupsToFitOptions);
+  multiFitSettingsGroup->addSubProperty(m_groupsToFit);
 
   connect(m_browser, SIGNAL(currentItemChanged(QtBrowserItem *)), this,
           SLOT(currentItemChanged(QtBrowserItem *)));
@@ -227,23 +237,6 @@ void MuonFitPropertyBrowser::executeMuonFitMenu(const QString &item) {
     FitPropertyBrowser::executeFitMenu(item);
   }
 }
-/** Called when a string property changed
-* @param prop :: A pointer to the property
-*/
-void MuonFitPropertyBrowser::stringChanged(QtProperty *prop) {
-	if (!m_changeSlotsEnabled)
-		return;
-
-	if (prop == m_propRuns) {
-		//QString tmp = m_stringManager->value(prop);
-		auto tmp= m_runs->getLabelText().toStdString();// setLabelText(tmp);
-	}
-	else{
-		FitPropertyBrowser::stringChanged(prop);
-	}
-}
-
-
 /**
 * @brief Initialise the layout of the fit menu button.
 * This initialization includes:
@@ -295,6 +288,12 @@ void MuonFitPropertyBrowser::setFitEnabled(bool yes) {
   m_fitActionSeqFit->setEnabled(yes);
   m_fitActiontest->setEnabled(yes);
 }
+/*
+* Called when the group/pair selected is changed
+*/
+void MuonFitPropertyBrowser::groupToFitChanged() {
+	
+}
 
 /**
 * Set the input workspace name
@@ -310,7 +309,23 @@ void MuonFitPropertyBrowser::setWorkspaceName(const QString &wsName) {
   if (i >= 0)
     m_enumManager->setValue(m_workspace, i);
 }
+/** Called when the function name property changed
+* @param prop :: A pointer to the function name property m_functionName
+*/
+void MuonFitPropertyBrowser::enumChanged(QtProperty *prop) {
+	if (!m_changeSlotsEnabled)
+		return;
 
+	bool storeSettings = false;
+	if (prop == m_groupsToFit) {
+		int j = m_enumManager->value(m_groupsToFit);
+		std::string option = m_groupsToFitOptions[j].toStdString();
+		double a = 1.;
+	}
+	else {
+		FitPropertyBrowser::enumChanged(prop);
+	}
+}
 /** Called when a double property changed
  * @param prop :: A pointer to the property
  */
@@ -877,5 +892,8 @@ bool MuonFitPropertyBrowser::hasGuess() const {
   }
 }
 
+
+QtProperty *MuonFitPropertyBrowser::addToGroupManager(QString name) { return m_groupManager->addProperty(name); };
+
 } // MantidQt
 } // API
-- 
GitLab