SkillManagerMonitorWidgetController.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::SkillManagerMonitorWidgetController
17 * @author Raphael Grimm ( raphael dot grimm at kit dot edu )
18 * @date 2020
19 * @copyright http://www.gnu.org/licenses/gpl-2.0.txt
20 * GNU General Public License
21 */
22#pragma once
23
24#include <stack>
25#include <thread>
26#include <vector>
27
28#include <QTimer>
29
31
35
36#include <RobotAPI/gui-plugins/SkillManagerPlugin/ui_SkillManagerMonitorWidget.h>
37#include <RobotAPI/interface/skills/SkillMemoryInterface.h>
45
46namespace armarx
47{
49 public armarx::ArmarXComponentWidgetControllerTemplate<SkillManagerMonitorWidgetController>
50 {
51 Q_OBJECT
52
53 public:
54 /// Controller Constructor
56 /// Controller destructor
58
59 void loadSettings(QSettings* settings) override;
60 void saveSettings(QSettings* settings) override;
61 QPointer<QDialog> getConfigDialog(QWidget* parent) override;
62 void configured() override;
63
64 /**
65 * Returns the Widget name displayed in the ArmarXGui to create an
66 * instance of this class.
67 */
68 static QString
70 {
71 return "Skills.Manager";
72 }
73
74 void onInitComponent() override;
75 void onConnectComponent() override;
76 void onDisconnectComponent();
77
78 signals:
80 void connectGui(std::string observerName);
81
82 private:
83 armarx::skills::manager::dti::SkillManagerInterfacePrx memory;
84 Ui::SkillManagerMonitorWidget widget;
85 std::unique_ptr<armarx::skills::gui::SkillMemoryGUI> viewer = nullptr;
86 QPointer<SimpleConfigDialog> dialog;
87
88 std::string observerName = "SkillManager";
89 std::shared_ptr<skills::gui::SkillManagerWrapper> mem_wrapper = nullptr;
90
91 void connectSignals();
92
93 // connected flag
94 std::atomic_bool connected = false;
95 };
96} // namespace armarx
#define ARMARXCOMPONENT_IMPORT_EXPORT
void connectGui(std::string observerName)
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.
void configured() override
This function must be implemented by the user, if he supplies a config dialog.
static QString GetWidgetName()
Returns the Widget name displayed in the ArmarXGui to create an instance of this class.
QPointer< QDialog > getConfigDialog(QWidget *parent) override
getConfigDialog returns a pointer to the a configuration widget of this controller.
This file offers overloads of toIce() and fromIce() functions for STL container types.