diff --git a/source/RobotAPI/gui-plugins/CartesianWaypointControlGui/CMakeLists.txt b/source/RobotAPI/gui-plugins/CartesianWaypointControlGui/CMakeLists.txt index 38578c06d1ad3cc784896d377a3986bbc73c3e6a..1b2caffb7f5f818c18e1ee068b6e9d7e0745eabc 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 5d2d12234ba03ac626e0579ed633b4699eae868d..45f540062c51b0e94559d76877fbb4e88456b640 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 ae6961634e680913480e1441c572af6f397aa15f..338c46f93c847135eb69a6437a2a5a5bf9243173 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;