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 
28 #include <RobotComponents/gui-plugins/MotionPlanning/MotionPlanningServer/ui_MotionPlanningServerWidget.h>
29 
30 #include "../QtWidgets/MotionPlanningServerTaskList.h"
31 
32 #include <RobotComponents/interface/components/MotionPlanning/MotionPlanningServer.h>
33 
34 #include <QPointer>
35 
39 
40 namespace armarx
41 {
42  class MotionPlanningServerConfigDialog;
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  */
58  public ArmarXComponentWidgetControllerTemplate<MotionPlanningServerWidgetController>
59  {
60  Q_OBJECT
61 
62  public:
63  /**
64  * Controller Constructor
65  */
67 
68  /**
69  * Controller destructor
70  */
71  virtual ~MotionPlanningServerWidgetController() = default;
72 
73  /**
74  * @see ArmarXWidgetController::loadSettings()
75  */
76  void loadSettings(QSettings* settings) override;
77 
78  /**
79  * @see ArmarXWidgetController::saveSettings()
80  */
81  void saveSettings(QSettings* settings) override;
82 
83  /**
84  * Returns the Widget name displayed in the ArmarXGui to create an
85  * instance of this class.
86  * @return The Widget name displayed in the ArmarXGui to create an
87  * instance of this class.
88  */
89  static QString GetWidgetName()
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 }
MotionPlanningServerConfigDialog.h
armarx::ArmarXComponentWidgetControllerTemplate
Definition: ArmarXComponentWidgetController.h:69
ArmarXGuiPlugin.h
ArmarXComponentWidgetController.h
ARMARXCOMPONENT_IMPORT_EXPORT
#define ARMARXCOMPONENT_IMPORT_EXPORT
Definition: ImportExportComponent.h:38
armarx::MotionPlanningServerWidgetController::GetWidgetName
static QString GetWidgetName()
Returns the Widget name displayed in the ArmarXGui to create an instance of this class.
Definition: MotionPlanningServerWidgetController.h:89
armarx::MotionPlanningServerWidgetController
Definition: MotionPlanningServerWidgetController.h:56
armarx
This file offers overloads of toIce() and fromIce() functions for STL container types.
Definition: ArmarXTimeserver.cpp:28
ImportExportComponent.h