From a217009291941e101975d6fb51bf468ba2a286ae Mon Sep 17 00:00:00 2001
From: Otmane Lahlou <otmane.lahlou@c-s.fr>
Date: Mon, 19 Sep 2011 16:39:48 +0200
Subject: [PATCH] ENH : add method relative to the QViewWidget class

---
 .../otbWrapperApplication.cxx                 | 26 +++++++++++++++++++
 .../ApplicationEngine/otbWrapperApplication.h |  6 +++++
 2 files changed, 32 insertions(+)

diff --git a/Code/ApplicationEngine/otbWrapperApplication.cxx b/Code/ApplicationEngine/otbWrapperApplication.cxx
index 1e451b9c3f..227021ce33 100644
--- a/Code/ApplicationEngine/otbWrapperApplication.cxx
+++ b/Code/ApplicationEngine/otbWrapperApplication.cxx
@@ -18,6 +18,7 @@
 #include "otbWrapperApplication.h"
 
 #include "otbWrapperChoiceParameter.h"
+#include "otbWrapperListViewParameter.h"
 #include "otbWrapperDirectoryParameter.h"
 #include "otbWrapperEmptyParameter.h"
 #include "otbWrapperFilenameParameter.h"
@@ -203,6 +204,10 @@ ParameterType Application::GetParameterType(std::string paramKey) const
     {
     type = ParameterType_Choice;
     }
+  else if (dynamic_cast<const ListViewParameter*>(param))
+    {
+    type = ParameterType_ListView;
+    }
   else if (dynamic_cast<const RadiusParameter*>(param))
     {
     type = ParameterType_Radius;
@@ -331,6 +336,11 @@ void Application::SetParameterString(std::string parameter, std::string value)
     ChoiceParameter* paramDown = dynamic_cast<ChoiceParameter*>(param);
     paramDown->SetValue(value);
     }
+  else if (dynamic_cast<ListViewParameter*>(param))
+    {
+    ListViewParameter* paramDown = dynamic_cast<ListViewParameter*>(param);
+    paramDown->SetValue(value);
+    }
   else if (dynamic_cast<StringParameter*>(param))
     {
     StringParameter* paramDown = dynamic_cast<StringParameter*>(param);
@@ -510,6 +520,11 @@ std::string Application::GetParameterString(std::string parameter)
     ChoiceParameter* paramDown = dynamic_cast<ChoiceParameter*>(param);
     ret = paramDown->GetChoiceName( paramDown->GetValue() );
     }
+  else if (dynamic_cast<ListViewParameter*>(param))
+    {
+    ListViewParameter* paramDown = dynamic_cast<ListViewParameter*>(param);
+    ret = paramDown->GetChoiceName( paramDown->GetValue() );
+    }
   else if (dynamic_cast<StringParameter*>(param))
     {
     StringParameter* paramDown = dynamic_cast<StringParameter*>(param);
@@ -670,6 +685,17 @@ Application::AddChoice(std::string paramKey, std::string paramName)
   GetParameterList()->AddChoice(paramKey, paramName);
 }
 
+void
+Application::ClearChoices(std::string paramKey)
+{
+  GetParameterList()->ClearChoices(paramKey);
+}
+
+std::vector<int>
+Application::GetSelectedItems(std::string param)
+{
+  return GetParameterList()->GetSelectedItems(param);
+}
 
 void
 Application::AddParameter(ParameterType type, std::string paramKey, std::string paramName)
diff --git a/Code/ApplicationEngine/otbWrapperApplication.h b/Code/ApplicationEngine/otbWrapperApplication.h
index 1bd55c08e8..a84146f435 100644
--- a/Code/ApplicationEngine/otbWrapperApplication.h
+++ b/Code/ApplicationEngine/otbWrapperApplication.h
@@ -366,6 +366,12 @@ protected:
    * or the path to a choice value */
   void AddParameter(ParameterType type, std::string paramKey, std::string paramName);
 
+  /** Remove the items added to the ListWidget */
+  void ClearChoices(std::string key);
+
+  /** Get Items selected in the ListView Parameter*/
+  std::vector<int>  GetSelectedItems(std::string paramKey);
+
   /** Declare a parameter as mandatory */
   void MandatoryOn(std::string paramKey);
 
-- 
GitLab