diff --git a/Code/ApplicationEngine/otbWrapperEmptyParameter.h b/Code/ApplicationEngine/otbWrapperEmptyParameter.h
index f8ce2128526e03fb4454abf2943cd87bb0c55ff2..49e73812f1180668ded6dd849cef17918e74c279 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 22b2f0363f338a4575afbf3b6f1e822a4d1dda3a..6834692d89761b08b6ee0b8f0aea17f9d12eb61a 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 d733bc868f075ae26d25a3ecdb8e15185d41e2f4..18eee1c0c411933ebe63bf90cc83b1761490df9a 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