MotionPlanningServerWidgetController.h
Go to the documentation of this file.
1/*
2 * This file is part of ArmarX.
3 *
4 * Copyright (C) 2011-2016, High Performance Humanoid Technologies (H2T), Karlsruhe Institute of Technology (KIT), all rights reserved.
5 *
6 * ArmarX is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
9 *
10 * ArmarX is distributed in the hope that it will be useful, but
11 * WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 *
18 * @package RobotComponents
19 * @author Raphael Grimm ( raphael dot grimm at kit dot edu )
20 * @date 2015
21 * @copyright http://www.gnu.org/licenses/gpl.txt
22 * GNU General Public License
23 */
24
25#pragma once
26
27#include <QPointer>
28
30
33
34#include <RobotComponents/gui-plugins/MotionPlanning/MotionPlanningServer/ui_MotionPlanningServerWidget.h>
35#include <RobotComponents/interface/components/MotionPlanning/MotionPlanningServer.h>
36
39
40namespace armarx
41{
43
44 /**
45 * @class MotionPlanningServerWidgetController
46 * @ingroup ArmarXGuiPlugins
47 * @page RobotComponents-GuiPlugins-MotionPlanningServerWidget The plugin to show all tasks on a MotionPlanningServer
48 * @brief A gui plugin to see all tasks on a MotionPlanningServer and their status.
49 *
50 * Per task it shows:
51 * \li The ice identity
52 * \li The status
53 * \li The ice type
54 * \li The internal id used by the \ref armarx::MotionPlanningServer. (this can be used for debugging) Tasks are processed in ascending order.
55 */
57 public ArmarXComponentWidgetControllerTemplate<MotionPlanningServerWidgetController>
58 {
59 Q_OBJECT
60
61 public:
62 /**
63 * Controller Constructor
64 */
66
67 /**
68 * Controller destructor
69 */
71
72 /**
73 * @see ArmarXWidgetController::loadSettings()
74 */
75 void loadSettings(QSettings* settings) override;
76
77 /**
78 * @see ArmarXWidgetController::saveSettings()
79 */
80 void saveSettings(QSettings* settings) override;
81
82 /**
83 * Returns the Widget name displayed in the ArmarXGui to create an
84 * instance of this class.
85 * @return The Widget name displayed in the ArmarXGui to create an
86 * instance of this class.
87 */
88 static QString
90 {
91 return "MotionPlanning.MotionPlanningServerGui";
92 }
93
94 /**
95 * @brief Returns the plugin's config dialog.
96 * @param parent The dialog's parent.
97 * @return The plugin's config dialog.
98 */
99 QPointer<QDialog> getConfigDialog(QWidget* parent = nullptr) override;
100 /**
101 * @brief Callback called when the config dialog is closed.
102 */
103 void configured() override;
104
105 /**
106 * @see armarx::Component::onInitComponent()
107 */
108 void onInitComponent() override;
109
110 /**
111 * @see armarx::Component::onConnectComponent()
112 */
113 void onConnectComponent() override;
114
115 /**
116 * @see armarx::Component::onConnectComponent()
117 */
118 void onDisconnectComponent() override;
119
120 private:
121 /**
122 * Widget Form
123 */
124 Ui::MotionPlanningServerWidget widget;
125
126 /**
127 * @brief The plugin's dialog.
128 */
129 QPointer<MotionPlanningServerConfigDialog> dialog;
130
131 /**
132 * @brief The planning server's name.
133 */
134 std::string motionPlanningServerProxyName;
135
136 QPointer<MotionPlanningServerTaskList> taskList;
137 };
138} // namespace armarx
#define ARMARXCOMPONENT_IMPORT_EXPORT
The config dialog of the palnning server gui.
virtual ~MotionPlanningServerWidgetController()=default
Controller destructor.
static QString GetWidgetName()
Returns the Widget name displayed in the ArmarXGui to create an instance of this class.
This file offers overloads of toIce() and fromIce() functions for STL container types.