diff --git a/Code/Mantid/Vates/ParaviewPlugins/ParaViewWidgets/QtWidgets/BinInputWidget.h b/Code/Mantid/Vates/ParaviewPlugins/ParaViewWidgets/QtWidgets/BinInputWidget.h index 08ddd383c46fc71379d755bdd96ffcf8a2e86e70..7306200963aa1c751f09483a24c058f3cda14bd1 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 0fa22aa9ab258614531919aa8147f35e3d29b4f3..f0414564d0a04fc4578323f90b9413e8e63dfffd 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 4761066db929193c9e17cd68523b6d4bbca85645..2c1752e65544bb38bf56c486ca88af7d5893d7bc 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 e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..935c58b26acc629264b2cb3cd8b18c33f34224dd 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 b1abf0e7e8df0a06fd5d9d78f13e6c5eb83af141..5ea2380700436a8d9cff1836fbac4c15a8ca86c3 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; };