From d7ab1a2cc58907fa554b2708f6d06141ba29085a Mon Sep 17 00:00:00 2001
From: Fabian Peller-Konrad <fabian.peller-konrad@kit.edu>
Date: Wed, 11 Sep 2024 11:50:28 +0200
Subject: [PATCH] move optional to type info box. Add optional enum as exampe
 type in hello world skill

---
 .../aron/HelloWorldAcceptedType.xml           |  6 ++++
 .../visitors/AronTreeWidgetConverter.cpp      | 28 +++++++++----------
 .../visitors/AronTreeWidgetCreator.cpp        |  4 +--
 .../visitors/AronTreeWidgetSetter.cpp         | 18 ++++++------
 4 files changed, 31 insertions(+), 25 deletions(-)

diff --git a/source/RobotAPI/components/skills/SkillProviderExample/aron/HelloWorldAcceptedType.xml b/source/RobotAPI/components/skills/SkillProviderExample/aron/HelloWorldAcceptedType.xml
index 10c81ab54..7e77eacbe 100644
--- a/source/RobotAPI/components/skills/SkillProviderExample/aron/HelloWorldAcceptedType.xml
+++ b/source/RobotAPI/components/skills/SkillProviderExample/aron/HelloWorldAcceptedType.xml
@@ -16,6 +16,12 @@
             <ObjectChild key='some_int'>
                 <int32 />
             </ObjectChild>
+            <ObjectChild key='some_int_enum'>
+                <HelloWorldInteEnum />
+            </ObjectChild>
+            <ObjectChild key='some_optional_int_enum'>
+                <HelloWorldInteEnum optional="true" />
+            </ObjectChild>
             <ObjectChild key='some_float'>
                 <float32 />
             </ObjectChild>
diff --git a/source/RobotAPI/libraries/skills_gui/aron_tree_widget/visitors/AronTreeWidgetConverter.cpp b/source/RobotAPI/libraries/skills_gui/aron_tree_widget/visitors/AronTreeWidgetConverter.cpp
index 832258ea2..23be73d02 100644
--- a/source/RobotAPI/libraries/skills_gui/aron_tree_widget/visitors/AronTreeWidgetConverter.cpp
+++ b/source/RobotAPI/libraries/skills_gui/aron_tree_widget/visitors/AronTreeWidgetConverter.cpp
@@ -93,7 +93,7 @@ namespace armarx::skills::gui
         if (i->getMaybe() != armarx::aron::type::Maybe::NONE)
         {
             // its a maybetype. We have to check the state
-            if (el->checkState(1) == Qt::CheckState::Unchecked)
+            if (el->checkState(2) == Qt::CheckState::Unchecked)
             {
                 createdAron = nullptr;
                 return;
@@ -126,7 +126,7 @@ namespace armarx::skills::gui
         if (i->getMaybe() != armarx::aron::type::Maybe::NONE)
         {
             // its a maybetype. We have to check the state
-            if (el->checkState(1) == Qt::CheckState::Unchecked)
+            if (el->checkState(2) == Qt::CheckState::Unchecked)
             {
                 createdAron = nullptr;
                 return;
@@ -159,7 +159,7 @@ namespace armarx::skills::gui
         if (i->getMaybe() != armarx::aron::type::Maybe::NONE)
         {
             // its a maybetype. We have to check the state
-            if (el->checkState(1) == Qt::CheckState::Unchecked)
+            if (el->checkState(2) == Qt::CheckState::Unchecked)
             {
                 createdAron = nullptr;
                 return;
@@ -192,7 +192,7 @@ namespace armarx::skills::gui
         if (i->getMaybe() != armarx::aron::type::Maybe::NONE)
         {
             // its a maybetype. We have to check the state
-            if (el->checkState(1) == Qt::CheckState::Unchecked)
+            if (el->checkState(2) == Qt::CheckState::Unchecked)
             {
                 createdAron = nullptr;
                 return;
@@ -221,7 +221,7 @@ namespace armarx::skills::gui
         if (i->getMaybe() != armarx::aron::type::Maybe::NONE)
         {
             // its a maybetype. We have to check the state
-            if (el->checkState(1) == Qt::CheckState::Unchecked)
+            if (el->checkState(2) == Qt::CheckState::Unchecked)
             {
                 createdAron = nullptr;
                 return;
@@ -316,7 +316,7 @@ namespace armarx::skills::gui
         if (i->getMaybe() != armarx::aron::type::Maybe::NONE)
         {
             // its a maybetype. We have to check the state
-            if (el->checkState(1) == Qt::CheckState::Unchecked)
+            if (el->checkState(2) == Qt::CheckState::Unchecked)
             {
                 createdAron = nullptr;
                 return;
@@ -365,7 +365,7 @@ namespace armarx::skills::gui
         if (i->getMaybe() != armarx::aron::type::Maybe::NONE)
         {
             // its a maybetype. We have to check the state
-            if (el->checkState(1) == Qt::CheckState::Unchecked)
+            if (el->checkState(2) == Qt::CheckState::Unchecked)
             {
                 createdAron = nullptr;
                 return;
@@ -415,7 +415,7 @@ namespace armarx::skills::gui
         if (i->getMaybe() != armarx::aron::type::Maybe::NONE)
         {
             // its a maybetype. We have to check the state
-            if (el->checkState(1) == Qt::CheckState::Unchecked)
+            if (el->checkState(2) == Qt::CheckState::Unchecked)
             {
                 createdAron = nullptr;
                 return;
@@ -446,7 +446,7 @@ namespace armarx::skills::gui
         if (i->getMaybe() != armarx::aron::type::Maybe::NONE)
         {
             // its a maybetype. We have to check the state
-            if (el->checkState(1) == Qt::CheckState::Unchecked)
+            if (el->checkState(2) == Qt::CheckState::Unchecked)
             {
                 createdAron = nullptr;
                 return;
@@ -485,7 +485,7 @@ namespace armarx::skills::gui
         if (i->getMaybe() != armarx::aron::type::Maybe::NONE)
         {
             // its a maybetype. We have to check the state
-            if (el->checkState(1) == Qt::CheckState::Unchecked)
+            if (el->checkState(2) == Qt::CheckState::Unchecked)
             {
                 createdAron = nullptr;
                 return;
@@ -523,7 +523,7 @@ namespace armarx::skills::gui
         if (i->getMaybe() != armarx::aron::type::Maybe::NONE)
         {
             // its a maybetype. We have to check the state
-            if (el->checkState(1) == Qt::CheckState::Unchecked)
+            if (el->checkState(2) == Qt::CheckState::Unchecked)
             {
                 createdAron = nullptr;
                 return;
@@ -560,7 +560,7 @@ namespace armarx::skills::gui
         if (i->getMaybe() != armarx::aron::type::Maybe::NONE)
         {
             // its a maybetype. We have to check the state
-            if (el->checkState(1) == Qt::CheckState::Unchecked)
+            if (el->checkState(2) == Qt::CheckState::Unchecked)
             {
                 createdAron = nullptr;
                 return;
@@ -597,7 +597,7 @@ namespace armarx::skills::gui
         if (i->getMaybe() != armarx::aron::type::Maybe::NONE)
         {
             // its a maybetype. We have to check the state
-            if (el->checkState(1) == Qt::CheckState::Unchecked)
+            if (el->checkState(2) == Qt::CheckState::Unchecked)
             {
                 createdAron = nullptr;
                 return;
@@ -634,7 +634,7 @@ namespace armarx::skills::gui
         if (i->getMaybe() != armarx::aron::type::Maybe::NONE)
         {
             // its a maybetype. We have to check the state
-            if (el->checkState(1) == Qt::CheckState::Unchecked)
+            if (el->checkState(2) == Qt::CheckState::Unchecked)
             {
                 createdAron = nullptr;
                 return;
diff --git a/source/RobotAPI/libraries/skills_gui/aron_tree_widget/visitors/AronTreeWidgetCreator.cpp b/source/RobotAPI/libraries/skills_gui/aron_tree_widget/visitors/AronTreeWidgetCreator.cpp
index f36713e02..f9fd371e2 100644
--- a/source/RobotAPI/libraries/skills_gui/aron_tree_widget/visitors/AronTreeWidgetCreator.cpp
+++ b/source/RobotAPI/libraries/skills_gui/aron_tree_widget/visitors/AronTreeWidgetCreator.cpp
@@ -104,7 +104,7 @@ namespace armarx::skills::gui
 
         if (i->getMaybe() != armarx::aron::type::Maybe::NONE)
         {
-            createdQWidgetItem->setCheckState(1, Qt::CheckState::Unchecked);
+            createdQWidgetItem->setCheckState(2, Qt::CheckState::Unchecked);
         }
         createdQWidgetItem->setText(1, QString::fromStdString(defaul));
         createdQWidgetItem->setText(2, QString::fromStdString(i->getShortName()));
@@ -137,7 +137,7 @@ namespace armarx::skills::gui
 
         if (i->getMaybe() != armarx::aron::type::Maybe::NONE)
         {
-            createdQWidgetItem->setCheckState(1, Qt::CheckState::Unchecked);
+            createdQWidgetItem->setCheckState(2, Qt::CheckState::Unchecked);
         }
 
         parentOfCreatedObj->addChild(createdQWidgetItem);
diff --git a/source/RobotAPI/libraries/skills_gui/aron_tree_widget/visitors/AronTreeWidgetSetter.cpp b/source/RobotAPI/libraries/skills_gui/aron_tree_widget/visitors/AronTreeWidgetSetter.cpp
index 495155534..77887a000 100644
--- a/source/RobotAPI/libraries/skills_gui/aron_tree_widget/visitors/AronTreeWidgetSetter.cpp
+++ b/source/RobotAPI/libraries/skills_gui/aron_tree_widget/visitors/AronTreeWidgetSetter.cpp
@@ -123,7 +123,7 @@ namespace armarx::skills::gui
 
             if (el->aronType && el->aronType->getMaybe() != armarx::aron::type::Maybe::NONE)
             {
-                el->setCheckState(1, Qt::CheckState::Checked);
+                el->setCheckState(2, Qt::CheckState::Checked);
             }
         }
     }
@@ -158,7 +158,7 @@ namespace armarx::skills::gui
 
             if (el->aronType && el->aronType->getMaybe() != armarx::aron::type::Maybe::NONE)
             {
-                el->setCheckState(1, Qt::CheckState::Checked);
+                el->setCheckState(2, Qt::CheckState::Checked);
             }
         }
     }
@@ -313,7 +313,7 @@ namespace armarx::skills::gui
 
         if (el->aronType && el->aronType->getMaybe() != armarx::aron::type::Maybe::NONE)
         {
-            el->setCheckState(1, Qt::CheckState::Checked);
+            el->setCheckState(2, Qt::CheckState::Checked);
         }
     }
 
@@ -338,7 +338,7 @@ namespace armarx::skills::gui
 
             if (el->aronType && el->aronType->getMaybe() != armarx::aron::type::Maybe::NONE)
             {
-                el->setCheckState(1, Qt::CheckState::Checked);
+                el->setCheckState(2, Qt::CheckState::Checked);
             }
         }
     }
@@ -353,7 +353,7 @@ namespace armarx::skills::gui
 
             if (el->aronType && el->aronType->getMaybe() != armarx::aron::type::Maybe::NONE)
             {
-                el->setCheckState(1, Qt::CheckState::Checked);
+                el->setCheckState(2, Qt::CheckState::Checked);
             }
         }
     }
@@ -368,7 +368,7 @@ namespace armarx::skills::gui
 
             if (el->aronType && el->aronType->getMaybe() != armarx::aron::type::Maybe::NONE)
             {
-                el->setCheckState(1, Qt::CheckState::Checked);
+                el->setCheckState(2, Qt::CheckState::Checked);
             }
         }
     }
@@ -383,7 +383,7 @@ namespace armarx::skills::gui
 
             if (el->aronType && el->aronType->getMaybe() != armarx::aron::type::Maybe::NONE)
             {
-                el->setCheckState(1, Qt::CheckState::Checked);
+                el->setCheckState(2, Qt::CheckState::Checked);
             }
         }
     }
@@ -398,7 +398,7 @@ namespace armarx::skills::gui
 
             if (el->aronType && el->aronType->getMaybe() != armarx::aron::type::Maybe::NONE)
             {
-                el->setCheckState(1, Qt::CheckState::Checked);
+                el->setCheckState(2, Qt::CheckState::Checked);
             }
         }
     }
@@ -413,7 +413,7 @@ namespace armarx::skills::gui
 
             if (el->aronType && el->aronType->getMaybe() != armarx::aron::type::Maybe::NONE)
             {
-                el->setCheckState(1, Qt::CheckState::Checked);
+                el->setCheckState(2, Qt::CheckState::Checked);
             }
         }
     }
-- 
GitLab