From 00e8b80f2e221d0bc44f33af6f11de621127bc1c Mon Sep 17 00:00:00 2001
From: Owen Arnold <owen.arnold@stfc.ac.uk>
Date: Thu, 8 Mar 2012 15:38:43 +0000
Subject: [PATCH] refs #4932. Refactor last step

---
 .../QtWidgets/BinInputWidget.h                | 11 +++-
 .../QtWidgets/DimensionWidget.cpp             | 14 ++---
 .../QtWidgets/LowHighStepInputWidget.h        |  4 +-
 .../QtWidgets/SimpleBinInputWidget.cpp        | 53 +++++++++++++++++++
 .../QtWidgets/SimpleBinInputWidget.h          | 51 ++++++------------
 5 files changed, 87 insertions(+), 46 deletions(-)

diff --git a/Code/Mantid/Vates/ParaviewPlugins/ParaViewWidgets/QtWidgets/BinInputWidget.h b/Code/Mantid/Vates/ParaviewPlugins/ParaViewWidgets/QtWidgets/BinInputWidget.h
index 08ddd383c46..7306200963a 100644
--- a/Code/Mantid/Vates/ParaviewPlugins/ParaViewWidgets/QtWidgets/BinInputWidget.h
+++ b/Code/Mantid/Vates/ParaviewPlugins/ParaViewWidgets/QtWidgets/BinInputWidget.h
@@ -3,14 +3,21 @@
 
 #include <QWidget>
 
+/**
+Abstract bin widget
+*/
 class BinInputWidget : public QWidget
 {
   Q_OBJECT
 public:
-  virtual int getNBins() const = 0;
-  virtual void setValue(int value) = 0;
+  /// Getter for the number of bins
+  virtual int entered() const = 0;
+  /// Setter for the number of bins
+  virtual void entry(int value) = 0;
+  /// Destructor
   virtual ~BinInputWidget(){}
 Q_SIGNALS:
+  /// Signal
   virtual void valueChanged();
 };
 
diff --git a/Code/Mantid/Vates/ParaviewPlugins/ParaViewWidgets/QtWidgets/DimensionWidget.cpp b/Code/Mantid/Vates/ParaviewPlugins/ParaViewWidgets/QtWidgets/DimensionWidget.cpp
index 0fa22aa9ab2..f0414564d0a 100644
--- a/Code/Mantid/Vates/ParaviewPlugins/ParaViewWidgets/QtWidgets/DimensionWidget.cpp
+++ b/Code/Mantid/Vates/ParaviewPlugins/ParaViewWidgets/QtWidgets/DimensionWidget.cpp
@@ -90,12 +90,12 @@ double DimensionWidget::getMaximum() const
 unsigned int DimensionWidget::getNBins() const
 {
   int nbins = static_cast<int>(m_pDimensionPresenter->getModel()->getNBins());
-  int entry = m_binWidget->getNBins();
+  int entry = m_binWidget->entered();
   if(entry == nbins || entry <= 1)
   {
-    m_binWidget->setValue(nbins);
+    m_binWidget->entry(nbins);
   }
-  return m_binWidget->getNBins();
+  return m_binWidget->entered();
 }
 
 void DimensionWidget::displayError(std::string message) const
@@ -117,16 +117,16 @@ void DimensionWidget::showAsNotIntegrated(Mantid::Geometry::VecIMDDimension_sptr
 
   m_binWidget->setHidden(false);
   m_ckIntegrated->setChecked(false);
-  if(m_binWidget->getNBins() <= 1)
+  if(m_binWidget->entered() <= 1)
   {
     size_t modelBins = m_pDimensionPresenter->getModel()->getNBins();
     if( modelBins > 1)
     {
-      m_binWidget->setValue(modelBins);
+      m_binWidget->entry(int(modelBins));
     }
     else
     {
-      m_binWidget->setValue(10);
+      m_binWidget->entry(10);
     }
 
   }
@@ -178,7 +178,7 @@ void DimensionWidget::configureStrongly()
 {
   configureWeakly();
 
-  m_binWidget->setValue(int(m_pDimensionPresenter->getModel()->getNBins()));
+  m_binWidget->entry(int(m_pDimensionPresenter->getModel()->getNBins()));
 
   std::string maxValueString = boost::str(boost::format("%i") % m_pDimensionPresenter->getModel()->getMaximum());
   m_maxBox->setText(maxValueString.c_str());
diff --git a/Code/Mantid/Vates/ParaviewPlugins/ParaViewWidgets/QtWidgets/LowHighStepInputWidget.h b/Code/Mantid/Vates/ParaviewPlugins/ParaViewWidgets/QtWidgets/LowHighStepInputWidget.h
index 4761066db92..2c1752e6554 100644
--- a/Code/Mantid/Vates/ParaviewPlugins/ParaViewWidgets/QtWidgets/LowHighStepInputWidget.h
+++ b/Code/Mantid/Vates/ParaviewPlugins/ParaViewWidgets/QtWidgets/LowHighStepInputWidget.h
@@ -7,11 +7,11 @@ class LowHighStepInputWidget : public BinInputWidget
 {
 public:
   Q_OBJECT
-  virtual int getNBins() const
+  virtual int entered() const
   {
     return 1;
   }
-  virtual void setValue(int value)
+  virtual void entry(int value)
   {
   }
 };
diff --git a/Code/Mantid/Vates/ParaviewPlugins/ParaViewWidgets/QtWidgets/SimpleBinInputWidget.cpp b/Code/Mantid/Vates/ParaviewPlugins/ParaViewWidgets/QtWidgets/SimpleBinInputWidget.cpp
index e69de29bb2d..935c58b26ac 100644
--- a/Code/Mantid/Vates/ParaviewPlugins/ParaViewWidgets/QtWidgets/SimpleBinInputWidget.cpp
+++ b/Code/Mantid/Vates/ParaviewPlugins/ParaViewWidgets/QtWidgets/SimpleBinInputWidget.cpp
@@ -0,0 +1,53 @@
+#include "SimpleBinInputWidget.h"
+#include <QLabel>
+#include <QLineEdit>
+#include <QBoxLayout>
+#include <sstream>
+
+/**
+Constructor
+*/
+SimpleBinInputWidget::SimpleBinInputWidget()
+{
+  QLabel* binLabel = new QLabel("Bins");
+  m_nBinsBox = new QLineEdit;
+  QHBoxLayout* layout = new QHBoxLayout;
+
+  layout->addWidget(binLabel);
+  layout->addWidget(m_nBinsBox);
+
+  this->setLayout(layout);
+  connect(m_nBinsBox, SIGNAL(editingFinished()), this, SLOT(nBinsListener()));
+}
+
+/**
+Entry setter.
+@param value : value that the entry should take.
+*/
+void SimpleBinInputWidget::entry(int value)
+{
+  std::stringstream stream;
+  stream << value;
+  m_nBinsBox->setText(stream.str().c_str());
+}
+
+/**
+Getter for the current entry.
+@return current entry value
+*/
+int SimpleBinInputWidget::entered() const
+{
+  return atoi(m_nBinsBox->text());
+}
+
+/// Destructor
+SimpleBinInputWidget::~SimpleBinInputWidget()
+{
+}
+
+/// Listener and emitter for the number of having changed.
+void SimpleBinInputWidget::nBinsListener()
+{
+ // Raise an event that is published publically
+  emit valueChanged();
+}
\ No newline at end of file
diff --git a/Code/Mantid/Vates/ParaviewPlugins/ParaViewWidgets/QtWidgets/SimpleBinInputWidget.h b/Code/Mantid/Vates/ParaviewPlugins/ParaViewWidgets/QtWidgets/SimpleBinInputWidget.h
index b1abf0e7e8d..5ea23807004 100644
--- a/Code/Mantid/Vates/ParaviewPlugins/ParaViewWidgets/QtWidgets/SimpleBinInputWidget.h
+++ b/Code/Mantid/Vates/ParaviewPlugins/ParaViewWidgets/QtWidgets/SimpleBinInputWidget.h
@@ -2,49 +2,30 @@
 #define SIMPLE_BIN_INPUT_WIDGET_H 
 
 #include "BinInputWidget.h"
-#include <QLabel>
-#include <QLineEdit>
-#include <QBoxLayout>
-#include <sstream>
+class QLineEdit;
 
+/**
+class SimpleBinInputWidget
+This simple implementation allows users to specify the number of bins directly.
+Widget wrapper around a label and text box. 
+*/
 class SimpleBinInputWidget : public BinInputWidget
 {
   Q_OBJECT
 
 public:
-
-  SimpleBinInputWidget()
-  {
-    QLabel* binLabel = new QLabel("Bins");
-    m_nBinsBox = new QLineEdit;
-
-    QHBoxLayout* layout = new QHBoxLayout;
-    
-    layout->addWidget(binLabel);
-    layout->addWidget(m_nBinsBox);
-
-    this->setLayout(layout);
-    connect(m_nBinsBox, SIGNAL(editingFinished()), this, SLOT(nBinsListener()));
-  }
-  virtual void setValue(int value)
-  {
-    std::stringstream stream;
-    stream << value;
-    m_nBinsBox->setText(stream.str().c_str());
-  }
-  virtual int getNBins() const
-  {
-    return atoi(m_nBinsBox->text());
-  }
-  ~SimpleBinInputWidget()
-  {
-  }
+  /// Constructor
+  SimpleBinInputWidget();
+  /// Setter for the entry
+  virtual void entry(int value);
+  /// Getter for the entry
+  virtual int entered() const;
+  /// Destructor
+  ~SimpleBinInputWidget();
 private slots:
-  void nBinsListener()
-  {
-    emit valueChanged();
-  }
+  void nBinsListener();
 private:
+   /// Number of bins text box.
    QLineEdit* m_nBinsBox;
 };
 
-- 
GitLab