DebugDrawerGuiPluginWidgetController.h
Go to the documentation of this file.
1/*
2 * This file is part of ArmarX.
3 *
4 * ArmarX is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation.
7 *
8 * ArmarX is distributed in the hope that it will be useful, but
9 * WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 *
16 * @package RobotAPI::gui-plugins::DebugDrawerGuiPluginWidgetController
17 * @author Raphael Grimm ( raphael dot grimm at kit dot edu )
18 * @date 2019
19 * @copyright http://www.gnu.org/licenses/gpl-2.0.txt
20 * GNU General Public License
21 */
22#pragma once
23
25
29
31
32// C++ includes
33#include <memory>
34
35// ui_DebugDrawerGuiPluginWidget.h is included by the .cpp, not here: moc textually inlines every
36// #include it can resolve, and parsing the uic-generated header alongside this one
37// makes moc mis-qualify this class as Ui::armarx::*.
38namespace Ui
39{
40 class DebugDrawerGuiPluginWidget;
41}
42
43namespace armarx
44{
45 /**
46 \page RobotAPI-GuiPlugins-DebugDrawerGuiPlugin DebugDrawerGuiPlugin
47 \brief The DebugDrawerGuiPlugin allows visualizing ...
48
49 \image html DebugDrawerGuiPlugin.png
50 The user can
51
52 API Documentation \ref DebugDrawerGuiPluginWidgetController
53
54 \see DebugDrawerGuiPluginGuiPlugin
55 */
56
57 /**
58 * \class DebugDrawerGuiPluginWidgetController
59 * \brief DebugDrawerGuiPluginWidgetController brief one line description
60 *
61 * Detailed description
62 */
64 public armarx::ArmarXComponentWidgetControllerTemplate<DebugDrawerGuiPluginWidgetController>
65 {
66 Q_OBJECT
67
68 public:
71
72 void loadSettings(QSettings* settings) override;
73 void saveSettings(QSettings* settings) override;
74
75 /**
76 * Returns the Widget name displayed in the ArmarXGui to create an
77 * instance of this class.
78 */
79 static QString
81 {
82 return "Visualization.DebugDrawerGuiPlugin";
83 }
84
85 void onInitComponent() override;
86 void onConnectComponent() override;
87 void onDisconnectComponent() override;
88
89 // QPointer<QDialog> getConfigDialog(QWidget* parent) override;
90 // void configured() override;
91
92 private slots:
93 void on_pushButtonLayerClear_clicked();
94 void on_pushButtonPoseDelete_clicked();
95 void on_pushButtonArrowDelete_clicked();
96 void updateArrow();
97 void updatePose();
98
99 private:
100 /**
101 * Widget Form
102 */
103 std::unique_ptr<Ui::DebugDrawerGuiPluginWidget> _ui;
104
105 std::string _layerName;
106
107 std::string _debugDrawerTopicName{"DebugDrawerUpdates"};
108 DebugDrawerHelper _debugDrawer;
109
110 QPointer<SimpleConfigDialog> _dialog;
111 };
112} // namespace armarx
#define ARMARXCOMPONENT_IMPORT_EXPORT
void loadSettings(QSettings *settings) override
Implement to load the settings that are part of the GUI configuration.
void saveSettings(QSettings *settings) override
Implement to save the settings as part of the GUI configuration.
static QString GetWidgetName()
Returns the Widget name displayed in the ArmarXGui to create an instance of this class.
ArmarX Headers.
This file offers overloads of toIce() and fromIce() functions for STL container types.