33 #include <QPushButton>
35 #include <QTreeWidget>
36 #include <QTreeWidgetItem>
45 #include <RobotAPI/gui-plugins/RobotUnitPlugin/ui_RobotUnitPluginWidget.h>
46 #include <RobotAPI/interface/units/RobotUnit/RobotUnitInterface.h>
50 #include "../QWidgets/ControlDevicesWidget.h"
51 #include "../QWidgets/NJointControllerClassesWidget.h"
52 #include "../QWidgets/NJointControllersWidget.h"
53 #include "../QWidgets/SensorDevicesWidget.h"
77 public RobotUnitListener
85 void loadSettings(QSettings* settings)
override;
88 void saveSettings(QSettings* settings)
override;
94 return "RobotControl.RobotUnitGUI";
98 void onInitComponent()
override;
101 void onConnectComponent()
override;
103 void onDisconnectComponent()
override;
104 void onExitComponent()
override;
109 QPointer<QDialog> getConfigDialog(QWidget* parent)
override;
112 void configured()
override;
117 return QIcon(
":/robotunitplugin/icons/robot_unit_icon.svg");
123 return QIcon(
":/robotunitplugin/icons/robot_unit_icon.svg");
126 QPointer<QWidget> getCustomTitlebarWidget(QWidget* parent)
override;
130 void nJointControllerStatusChanged(
const NJointControllerStatusSeq&
status,
131 const Ice::Current&)
override;
132 void controlDeviceStatusChanged(
const ControlDeviceStatusSeq&
status,
133 const Ice::Current&)
override;
134 void sensorDeviceStatusChanged(
const SensorDeviceStatusSeq&
status,
135 const Ice::Current&)
override;
136 void nJointControllerClassAdded(
const std::string& name,
const Ice::Current&)
override;
137 void nJointControllerCreated(
const std::string& name,
const Ice::Current&)
override;
138 void nJointControllerDeleted(
const std::string& name,
const Ice::Current&)
override;
141 void refreshNJointControllersClicked();
142 void refreshNJointControllerClassesClicked();
143 void refreshControlDevicesClicked();
144 void refreshSensorDevicesClicked();
145 void refreshLogging();
147 void startOnConnectTimer();
148 void stopOnConnectTimer();
151 void on_lineEditLoggingFilter_textChanged(
const QString& arg1);
152 void on_pushButtonLoggingStop_clicked();
153 void on_pushButtonLoggingStart_clicked();
154 void on_treeWidgetLoggingNames_itemChanged(QTreeWidgetItem* item,
int column);
155 void on_pushButtonLoggingMark1_clicked();
156 void on_pushButtonLoggingMark2_clicked();
157 void on_pushButtonLoggingMark3_clicked();
160 void timerEvent(QTimerEvent*)
override;
161 void updateToolBarActionCheckedState();
165 Ui::RobotUnitPluginWidget widget;
167 QPointer<SimpleConfigDialog> dialog;
169 std::string robotUnitProxyName;
170 std::recursive_mutex robotUnitPrxMutex;
172 std::string listenerTopicName;
179 QPointer<QToolBar> customToolbar;
181 QPointer<QAction> showCDevs;
182 QPointer<QAction> showSDevs;
183 QPointer<QAction> showNJoint;
184 QPointer<QAction> showNJointClasses;
185 QPointer<QAction> showLogging;
189 QTreeWidgetItem* top;
190 std::vector<QTreeWidgetItem*> allItems;
191 SimpleRemoteReferenceCounterBasePtr handle;
193 std::ofstream logStream;
194 static void updateCheckStateUpward(QTreeWidgetItem* item,
bool recurseParents);
195 static void updateCheckStateDownward(QTreeWidgetItem* item,
196 Qt::CheckState state,
197 bool recurseChildren);
201 LoggingData loggingData;
204 std::atomic_bool timerLastIterationRuWasRunning =
false;