From f9b24eea1d0adbe99bd8d1819cbbda4c48158481 Mon Sep 17 00:00:00 2001 From: Otmane Lahlou <otmane.lahlou@c-s.fr> Date: Thu, 22 Sep 2011 17:34:46 +0200 Subject: [PATCH] ENH : implement missing method in the EmptyParamter class in the core and QtGUI wrapper --- .../otbWrapperEmptyParameter.h | 32 +++++++++++++++++-- .../otbWrapperQtWidgetEmptyParameter.cxx | 16 ++++++++++ .../otbWrapperQtWidgetEmptyParameter.h | 3 ++ 3 files changed, 49 insertions(+), 2 deletions(-) diff --git a/Code/ApplicationEngine/otbWrapperEmptyParameter.h b/Code/ApplicationEngine/otbWrapperEmptyParameter.h index f8ce212852..49e73812f1 100644 --- a/Code/ApplicationEngine/otbWrapperEmptyParameter.h +++ b/Code/ApplicationEngine/otbWrapperEmptyParameter.h @@ -44,10 +44,35 @@ public: /** RTTI support */ itkTypeMacro(EmptyParameter, Parameter); + bool HasValue() const + { + return m_Value; + } + + virtual void ClearValue() + { + m_Value = false; + } + + /** Set the value */ + void SetValue( bool value) + { + // TODO check minimum/maximum + m_Value = value; + SetActive(true); + } + + /** + * Implement the reset method (replace value by default value = false) + */ + virtual void Reset() + { + m_Value = false; + } protected: /** Constructor */ - EmptyParameter() + EmptyParameter():m_Value(false) {} /** Destructor */ @@ -58,7 +83,10 @@ private: EmptyParameter(const EmptyParameter &); //purposely not implemented void operator =(const EmptyParameter&); //purposely not implemented -}; // End class Parameter + /** Value */ + bool m_Value; + +}; // End class EmptyParameter } // End namespace Wrapper } // End namespace otb diff --git a/Code/Wrappers/QtWidget/otbWrapperQtWidgetEmptyParameter.cxx b/Code/Wrappers/QtWidget/otbWrapperQtWidgetEmptyParameter.cxx index 22b2f0363f..6834692d89 100644 --- a/Code/Wrappers/QtWidget/otbWrapperQtWidgetEmptyParameter.cxx +++ b/Code/Wrappers/QtWidget/otbWrapperQtWidgetEmptyParameter.cxx @@ -46,6 +46,7 @@ void QtWidgetEmptyParameter::DoCreateWidget() m_QCheckBox = new QCheckBox; m_QCheckBox->setToolTip(m_EmptyParam->GetDescription()); + connect(m_QCheckBox, SIGNAL(stateChanged(int)), this, SLOT(SetValue(int))); QString optionID(m_EmptyParam->GetName()); m_QHBoxLayout->addWidget(m_QCheckBox); @@ -54,5 +55,20 @@ void QtWidgetEmptyParameter::DoCreateWidget() this->setLayout(m_QHBoxLayout); } +void QtWidgetEmptyParameter::SetValue( int value ) +{ + switch(value) + { + case Qt::Unchecked: + m_EmptyParam->SetValue(false); + break; + case Qt::PartiallyChecked: + break; + case Qt::Checked: + m_EmptyParam->SetValue(true); + break; + } +} + } } diff --git a/Code/Wrappers/QtWidget/otbWrapperQtWidgetEmptyParameter.h b/Code/Wrappers/QtWidget/otbWrapperQtWidgetEmptyParameter.h index d733bc868f..18eee1c0c4 100644 --- a/Code/Wrappers/QtWidget/otbWrapperQtWidgetEmptyParameter.h +++ b/Code/Wrappers/QtWidget/otbWrapperQtWidgetEmptyParameter.h @@ -38,6 +38,9 @@ public: QtWidgetEmptyParameter(EmptyParameter*, QtWidgetModel*); virtual ~QtWidgetEmptyParameter(); +protected slots: + void SetValue( int value ); + private: QtWidgetEmptyParameter(const QtWidgetEmptyParameter&); //purposely not implemented void operator=(const QtWidgetEmptyParameter&); //purposely not implemented -- GitLab