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 <MemoryX/gui-plugins/ObjectLocalizationRequester/ui_ObjectLocalizationRequesterWidget.h>
28 
31 
33 
34 #include <MemoryX/interface/components/PriorKnowledgeInterface.h>
35 
36 #include <MemoryX/interface/observers/ObjectMemoryObserverInterface.h>
37 
38 #include <QToolBar>
39 
40 namespace armarx
41 {
42  /**
43  \page MemoryX-GuiPlugins-ObjectLocalizationRequester ObjectLocalizationRequester
44  \brief The ObjectLocalizationRequester allows triggering and releasing of localization requests of specific objects.
45 
46  The user can select from the currently available object classes with an assigned recongition method and request them with a specified update frequency.
47  The user can also list all currently running localization requests and delete them.
48 
49  API Documentation \ref ObjectLocalizationRequesterWidgetController
50 
51  \see ObjectLocalizationRequesterGuiPlugin
52  */
53 
54  /**
55  * \class ObjectLocalizationRequesterWidgetController
56  * \brief ObjectLocalizationRequesterWidgetController brief one line description
57  *
58  * Detailed description
59  */
62  public ArmarXComponentWidgetControllerTemplate<ObjectLocalizationRequesterWidgetController>
63  {
64  Q_OBJECT
65 
66  public:
67  /**
68  * Controller Constructor
69  */
71 
72  /**
73  * Controller destructor
74  */
76 
77  /**
78  * @see ArmarXWidgetController::loadSettings()
79  */
80  void loadSettings(QSettings* settings) override;
81 
82  /**
83  * @see ArmarXWidgetController::saveSettings()
84  */
85  void saveSettings(QSettings* settings) override;
86 
87  /**
88  * Returns the Widget name displayed in the ArmarXGui to create an
89  * instance of this class.
90  */
91  static QString GetWidgetName()
92  {
93  return "MemoryX.ObjectLocalizationRequester";
94  }
95 
96  /**
97  * \see armarx::Component::onInitComponent()
98  */
99  void onInitComponent() override;
100 
101  /**
102  * \see armarx::Component::onConnectComponent()
103  */
104  void onConnectComponent() override;
105  void onDisconnectComponent() override;
106 
107  public slots:
108  /* QT slot declarations */
109  void updateAvailableObjects();
110  void updateAvailableChannels();
111 
112  signals:
113  /* QT signal declarations */
114 
115  private slots:
116  void on_toolButtonRefresh_clicked();
117 
118  void on_btnRequest_clicked();
119 
120  void on_btnRelease_clicked();
121 
122  private:
123  /**
124  * Widget Form
125  */
126  Ui::ObjectLocalizationRequesterWidget widget;
127 
128  memoryx::PriorKnowledgeInterfacePrx prior;
129  memoryx::ObjectMemoryObserverInterfacePrx omo;
130  ChannelRegistry channels;
131  QToolBar* customToolbar;
132  // ArmarXWidgetController interface
133  public:
134  QPointer<QWidget> getCustomTitlebarWidget(QWidget* parent) override;
135  };
136 }
137 
138 
armarx::ObjectLocalizationRequesterWidgetController::GetWidgetName
static QString GetWidgetName()
Returns the Widget name displayed in the ArmarXGui to create an instance of this class.
Definition: ObjectLocalizationRequesterWidgetController.h:91
armarx::ArmarXComponentWidgetControllerTemplate
Definition: ArmarXComponentWidgetController.h:69
ArmarXGuiPlugin.h
ArmarXComponentWidgetController.h
ARMARXCOMPONENT_IMPORT_EXPORT
#define ARMARXCOMPONENT_IMPORT_EXPORT
Definition: ImportExportComponent.h:38
armarx::ObjectLocalizationRequesterWidgetController
ObjectLocalizationRequesterWidgetController brief one line description.
Definition: ObjectLocalizationRequesterWidgetController.h:60
armarx
This file offers overloads of toIce() and fromIce() functions for STL container types.
Definition: ArmarXTimeserver.cpp:28
ImportExportComponent.h