From 3229dbb997cbca4fbb35222ab2eb6358665d3867 Mon Sep 17 00:00:00 2001
From: Philipp Schmidt <ufedv@student.kit.edu>
Date: Fri, 9 Sep 2016 00:42:40 +0200
Subject: [PATCH] Add option to disable value validator in settings

---
 .../KinematicUnitConfigDialog.ui              | 50 +++++++++++++------
 .../KinematicUnitGuiPlugin.cpp                |  4 ++
 .../KinematicUnitGuiPlugin.h                  |  2 +
 3 files changed, 41 insertions(+), 15 deletions(-)

diff --git a/source/RobotAPI/gui-plugins/KinematicUnitPlugin/KinematicUnitConfigDialog.ui b/source/RobotAPI/gui-plugins/KinematicUnitPlugin/KinematicUnitConfigDialog.ui
index 499209e79..c48bbe956 100644
--- a/source/RobotAPI/gui-plugins/KinematicUnitPlugin/KinematicUnitConfigDialog.ui
+++ b/source/RobotAPI/gui-plugins/KinematicUnitPlugin/KinematicUnitConfigDialog.ui
@@ -7,7 +7,7 @@
     <x>0</x>
     <y>0</y>
     <width>464</width>
-    <height>190</height>
+    <height>226</height>
    </rect>
   </property>
   <property name="sizePolicy">
@@ -45,13 +45,6 @@
        </property>
       </widget>
      </item>
-     <item row="4" column="1">
-      <widget class="QLabel" name="labelTopic">
-       <property name="text">
-        <string>&lt;not set&gt;</string>
-       </property>
-      </widget>
-     </item>
      <item row="2" column="0">
       <widget class="QLabel" name="labelRobotNodeSetName">
        <property name="text">
@@ -73,13 +66,6 @@
        </property>
       </widget>
      </item>
-     <item row="4" column="0">
-      <widget class="QLabel" name="label">
-       <property name="text">
-        <string>RobotState Topic Name</string>
-       </property>
-      </widget>
-     </item>
      <item row="0" column="0">
       <widget class="QLabel" name="labelKinematicUnitName">
        <property name="sizePolicy">
@@ -93,6 +79,40 @@
        </property>
       </widget>
      </item>
+     <item row="3" column="0">
+      <widget class="QLabel" name="label">
+       <property name="text">
+        <string>RobotState Topic Name</string>
+       </property>
+      </widget>
+     </item>
+     <item row="3" column="1">
+      <widget class="QLabel" name="labelTopic">
+       <property name="text">
+        <string>&lt;not set&gt;</string>
+       </property>
+      </widget>
+     </item>
+     <item row="4" column="0">
+      <widget class="QLabel" name="label_2">
+       <property name="text">
+        <string>Enable ValueValidator</string>
+       </property>
+      </widget>
+     </item>
+     <item row="4" column="1">
+      <widget class="QCheckBox" name="checkBox">
+       <property name="enabled">
+        <bool>true</bool>
+       </property>
+       <property name="text">
+        <string>Enabled</string>
+       </property>
+       <property name="checked">
+        <bool>true</bool>
+       </property>
+      </widget>
+     </item>
     </layout>
    </item>
   </layout>
diff --git a/source/RobotAPI/gui-plugins/KinematicUnitPlugin/KinematicUnitGuiPlugin.cpp b/source/RobotAPI/gui-plugins/KinematicUnitPlugin/KinematicUnitGuiPlugin.cpp
index 614d9914f..171172182 100644
--- a/source/RobotAPI/gui-plugins/KinematicUnitPlugin/KinematicUnitGuiPlugin.cpp
+++ b/source/RobotAPI/gui-plugins/KinematicUnitPlugin/KinematicUnitGuiPlugin.cpp
@@ -75,6 +75,7 @@ KinematicUnitGuiPlugin::KinematicUnitGuiPlugin()
 
 KinematicUnitWidgetController::KinematicUnitWidgetController() :
     kinematicUnitNode(nullptr),
+    enableValueValidator(true),
     selectedControlMode(ePositionControl)
 {
     rootVisu = NULL;
@@ -308,16 +309,19 @@ void KinematicUnitWidgetController::configured()
 {
     ARMARX_VERBOSE << "KinematicUnitWidget::configured()";
     kinematicUnitName = dialog->proxyFinder->getSelectedProxyName().toStdString();
+    enableValueValidator = dialog->ui->checkBox->isChecked();
 }
 
 void KinematicUnitWidgetController::loadSettings(QSettings* settings)
 {
     kinematicUnitName = settings->value("kinematicUnitName", KINEMATIC_UNIT_NAME_DEFAULT).toString().toStdString();
+    enableValueValidator = settings->value("enableValueValidator", true).toBool();
 }
 
 void KinematicUnitWidgetController::saveSettings(QSettings* settings)
 {
     settings->setValue("kinematicUnitName", QString::fromStdString(kinematicUnitName));
+    settings->setValue("enableValueValidator", enableValueValidator);
 }
 
 
diff --git a/source/RobotAPI/gui-plugins/KinematicUnitPlugin/KinematicUnitGuiPlugin.h b/source/RobotAPI/gui-plugins/KinematicUnitPlugin/KinematicUnitGuiPlugin.h
index 3ee40038c..eb86d8ba1 100644
--- a/source/RobotAPI/gui-plugins/KinematicUnitPlugin/KinematicUnitGuiPlugin.h
+++ b/source/RobotAPI/gui-plugins/KinematicUnitPlugin/KinematicUnitGuiPlugin.h
@@ -267,6 +267,8 @@ namespace armarx
         bool initGUIComboBox(VirtualRobot::RobotNodeSetPtr robotNodeSet);
         bool initGUIJointListTable(VirtualRobot::RobotNodeSetPtr robotNodeSet);
 
+        bool enableValueValidator;
+
         NameValueMap reportedJointAngles;
         NameValueMap reportedJointVelocities;
         NameControlModeMap reportedJointControlModes;
-- 
GitLab