GuiHealthClientWidgetController.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::GuiHealthClientWidgetController
17 * @author Simon Ottenhaus ( simon dot ottenhaus at kit dot edu )
18 * @date 2018
19 * @copyright http://www.gnu.org/licenses/gpl-2.0.txt
20 * GNU General Public License
21 */
22#pragma once
23
24#include <QTimer>
25
28
31
32#include <RobotAPI/interface/components/RobotHealthInterface.h>
33
34// C++ includes
35#include <memory>
36
37// ui_GuiHealthClientWidget.h is included by the .cpp, not here: moc textually inlines every
38// #include it can resolve, and parsing the uic-generated header alongside this one
39// makes moc mis-qualify this class as Ui::armarx::*.
40namespace Ui
41{
42 class GuiHealthClientWidget;
43}
44
45namespace armarx
46{
47 /**
48 \page RobotAPI-GuiPlugins-GuiHealthClient GuiHealthClient
49 \brief The GuiHealthClient allows visualizing ...
50
51 \image html GuiHealthClient.png
52 The user can
53
54 API Documentation \ref GuiHealthClientWidgetController
55
56 \see GuiHealthClientGuiPlugin
57 */
58
59 /**
60 * \class GuiHealthClientWidgetController
61 * \brief GuiHealthClientWidgetController brief one line description
62 *
63 * Detailed description
64 */
66 public armarx::ArmarXComponentWidgetControllerTemplate<GuiHealthClientWidgetController>
67 {
68 Q_OBJECT
69
70 public:
71 /**
72 * Controller Constructor
73 */
75
76 /**
77 * Controller destructor
78 */
80
81 /**
82 * @see ArmarXWidgetController::loadSettings()
83 */
84 void loadSettings(QSettings* settings) override;
85
86 /**
87 * @see ArmarXWidgetController::saveSettings()
88 */
89 void saveSettings(QSettings* settings) override;
90
91 /**
92 * Returns the Widget name displayed in the ArmarXGui to create an
93 * instance of this class.
94 */
95 static QString
97 {
98 return "GuiHealthClient";
99 }
100
101 static QIcon
103 {
104 return QIcon("://icons/heart.svg");
105 }
106
107 /**
108 * \see armarx::Component::onInitComponent()
109 */
110 void onInitComponent() override;
111
112 /**
113 * \see armarx::Component::onConnectComponent()
114 */
115 void onConnectComponent() override;
116
117 void onDisconnectComponent() override;
118
119 protected slots:
120 void onConnectComponentQt();
121 void onDisconnectComponentQt();
122 void healthTimerClb();
123 void updateSummaryTimerClb();
124 void unrequireAll();
125
126 signals:
127 /* QT signal declarations */
130
131 private:
132 /**
133 * Widget Form
134 */
135 std::unique_ptr<Ui::GuiHealthClientWidget> widget;
136
137 RobotHealthInterfacePrx robotHealthTopicPrx;
138 RobotHealthComponentInterfacePrx robotHealthComponentPrx;
139 QTimer* updateSummaryTimer;
140 };
141} // namespace armarx
#define ARMARXCOMPONENT_IMPORT_EXPORT
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.