ObjectLocalizationRequesterWidgetController.h
Go to the documentation of this file.
1/*
2 * This file is part of ArmarX.
3 *
4 * Copyright (C) 2012-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 VisionX::gui-plugins::ObjectLocalizationRequesterWidgetController
19 * @author Mirko Waechter ( mirko dot waechter at kit dot edu )
20 * @date 2015
21 * @copyright http://www.gnu.org/licenses/gpl-2.0.txt
22 * GNU General Public License
23 */
24
25#pragma once
26
27#include <QToolBar>
28
30
33
34#include <MemoryX/gui-plugins/ObjectLocalizationRequester/ui_ObjectLocalizationRequesterWidget.h>
35#include <MemoryX/interface/components/PriorKnowledgeInterface.h>
36#include <MemoryX/interface/observers/ObjectMemoryObserverInterface.h>
37
38namespace armarx
39{
40 /**
41 \page MemoryX-GuiPlugins-ObjectLocalizationRequester ObjectLocalizationRequester
42 \brief The ObjectLocalizationRequester allows triggering and releasing of localization requests of specific objects.
43
44 The user can select from the currently available object classes with an assigned recongition method and request them with a specified update frequency.
45 The user can also list all currently running localization requests and delete them.
46
47 API Documentation \ref ObjectLocalizationRequesterWidgetController
48
49 \see ObjectLocalizationRequesterGuiPlugin
50 */
51
52 /**
53 * \class ObjectLocalizationRequesterWidgetController
54 * \brief ObjectLocalizationRequesterWidgetController brief one line description
55 *
56 * Detailed description
57 */
59 public ArmarXComponentWidgetControllerTemplate<ObjectLocalizationRequesterWidgetController>
60 {
61 Q_OBJECT
62
63 public:
64 /**
65 * Controller Constructor
66 */
68
69 /**
70 * Controller destructor
71 */
73
74 /**
75 * @see ArmarXWidgetController::loadSettings()
76 */
77 void loadSettings(QSettings* settings) override;
78
79 /**
80 * @see ArmarXWidgetController::saveSettings()
81 */
82 void saveSettings(QSettings* settings) override;
83
84 /**
85 * Returns the Widget name displayed in the ArmarXGui to create an
86 * instance of this class.
87 */
88 static QString
90 {
91 return "MemoryX.ObjectLocalizationRequester";
92 }
93
94 /**
95 * \see armarx::Component::onInitComponent()
96 */
97 void onInitComponent() override;
98
99 /**
100 * \see armarx::Component::onConnectComponent()
101 */
102 void onConnectComponent() override;
103 void onDisconnectComponent() override;
104
105 public slots:
106 /* QT slot declarations */
107 void updateAvailableObjects();
108 void updateAvailableChannels();
109
110 signals:
111 /* QT signal declarations */
112
113 private slots:
114 void on_toolButtonRefresh_clicked();
115
116 void on_btnRequest_clicked();
117
118 void on_btnRelease_clicked();
119
120 private:
121 /**
122 * Widget Form
123 */
124 Ui::ObjectLocalizationRequesterWidget widget;
125
126 memoryx::PriorKnowledgeInterfacePrx prior;
127 memoryx::ObjectMemoryObserverInterfacePrx omo;
128 ChannelRegistry channels;
129 QToolBar* customToolbar;
130 // ArmarXWidgetController interface
131 public:
132 QPointer<QWidget> getCustomTitlebarWidget(QWidget* parent) override;
133 };
134} // namespace armarx
#define ARMARXCOMPONENT_IMPORT_EXPORT
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.