From 9f7ed66896eedfcbeed7cdff96f01fe844715c7d Mon Sep 17 00:00:00 2001 From: Raphael Grimm <raphael.grimm@kit.edu> Date: Wed, 3 Jun 2020 16:44:24 +0200 Subject: [PATCH] Change CartesianWaypointControlGuiWidgetController to use RobotUnitComponentPlugi --- .../CartesianWaypointControlGui/CMakeLists.txt | 6 +----- .../CartesianWaypointControlGuiWidgetController.cpp | 10 ++++------ .../CartesianWaypointControlGuiWidgetController.h | 6 +++--- 3 files changed, 8 insertions(+), 14 deletions(-) diff --git a/source/RobotAPI/gui-plugins/CartesianWaypointControlGui/CMakeLists.txt b/source/RobotAPI/gui-plugins/CartesianWaypointControlGui/CMakeLists.txt index 38578c06d..1b2caffb7 100644 --- a/source/RobotAPI/gui-plugins/CartesianWaypointControlGui/CMakeLists.txt +++ b/source/RobotAPI/gui-plugins/CartesianWaypointControlGui/CMakeLists.txt @@ -17,12 +17,8 @@ set(GUI_MOC_HDRS ${HEADERS}) set(GUI_UIS CartesianWaypointControlGuiWidget.ui) set(COMPONENT_LIBS - VirtualRobot - SimpleConfigDialog - - RobotAPIInterfaces - RobotAPICore + RobotAPIComponentPlugins ) if(ArmarXGui_FOUND) diff --git a/source/RobotAPI/gui-plugins/CartesianWaypointControlGui/CartesianWaypointControlGuiWidgetController.cpp b/source/RobotAPI/gui-plugins/CartesianWaypointControlGui/CartesianWaypointControlGuiWidgetController.cpp index 5d2d12234..45f540062 100644 --- a/source/RobotAPI/gui-plugins/CartesianWaypointControlGui/CartesianWaypointControlGuiWidgetController.cpp +++ b/source/RobotAPI/gui-plugins/CartesianWaypointControlGui/CartesianWaypointControlGuiWidgetController.cpp @@ -59,21 +59,20 @@ namespace armarx { std::lock_guard g{_allMutex}; _robotStateComponentName = settings->value("rsc", "Armar6StateComponent").toString().toStdString(); - _robotUnitName = settings->value("ru", "Armar6Unit").toString().toStdString(); + getRobotUnitComponentPlugin().setRobotUnitName(settings->value("ru", "Armar6Unit").toString().toStdString()); } void CartesianWaypointControlGuiWidgetController::saveSettings(QSettings* settings) { std::lock_guard g{_allMutex}; settings->setValue("rsc", QString::fromStdString(_robotStateComponentName)); - settings->setValue("ru", QString::fromStdString(_robotUnitName)); + settings->setValue("ru", QString::fromStdString(getRobotUnitComponentPlugin().getRobotUnitName())); } void CartesianWaypointControlGuiWidgetController::onInitComponent() { std::lock_guard g{_allMutex}; usingProxy(_robotStateComponentName); - usingProxy(_robotUnitName); } void CartesianWaypointControlGuiWidgetController::onConnectComponent() @@ -82,7 +81,6 @@ namespace armarx //proxies { _robotStateComponent = getProxy<RobotStateComponentInterfacePrx>(_robotStateComponentName); - _robotUnit = getProxy<RobotUnitInterfacePrx>(_robotUnitName); } //robot { @@ -135,7 +133,7 @@ namespace armarx ARMARX_IMPORTANT << "Creating " << njointControllerClassName << " '" << _controllerName << "'"; _controller = NJointCartesianWaypointControllerInterfacePrx::checkedCast( - _robotUnit->createNJointController( + getRobotUnit()->createNJointController( njointControllerClassName, _controllerName, cfg)); @@ -200,7 +198,7 @@ namespace armarx { std::lock_guard g{_allMutex}; _robotStateComponentName = _dialog->getProxyName("rsc"); - _robotUnitName = _dialog->getProxyName("ru"); + getRobotUnitComponentPlugin().setRobotUnitName(_dialog->getProxyName("ru")); } void CartesianWaypointControlGuiWidgetController::triggerParsing() diff --git a/source/RobotAPI/gui-plugins/CartesianWaypointControlGui/CartesianWaypointControlGuiWidgetController.h b/source/RobotAPI/gui-plugins/CartesianWaypointControlGui/CartesianWaypointControlGuiWidgetController.h index ae6961634..338c46f93 100644 --- a/source/RobotAPI/gui-plugins/CartesianWaypointControlGui/CartesianWaypointControlGuiWidgetController.h +++ b/source/RobotAPI/gui-plugins/CartesianWaypointControlGui/CartesianWaypointControlGuiWidgetController.h @@ -34,6 +34,7 @@ #include <RobotAPI/interface/core/RobotState.h> #include <RobotAPI/interface/units/RobotUnit/RobotUnitInterface.h> #include <RobotAPI/interface/units/RobotUnit/NJointCartesianWaypointController.h> +#include <RobotAPI/libraries/RobotAPIComponentPlugins/RobotUnitComponentPlugin.h> #include <RobotAPI/gui-plugins/CartesianWaypointControlGui/ui_CartesianWaypointControlGuiWidget.h> @@ -59,7 +60,8 @@ namespace armarx */ class ARMARXCOMPONENT_IMPORT_EXPORT CartesianWaypointControlGuiWidgetController: - public armarx::ArmarXComponentWidgetControllerTemplate < CartesianWaypointControlGuiWidgetController > + public armarx::ArmarXComponentWidgetControllerTemplate < CartesianWaypointControlGuiWidgetController >, + public virtual RobotUnitComponentPluginUser { Q_OBJECT @@ -106,9 +108,7 @@ namespace armarx private: std::string _robotStateComponentName; - std::string _robotUnitName; RobotStateComponentInterfacePrx _robotStateComponent; - RobotUnitInterfacePrx _robotUnit; Ui::CartesianWaypointControlGuiWidget _ui; QPointer<SimpleConfigDialog> _dialog; NJointCartesianWaypointControllerInterfacePrx _controller; -- GitLab