NimbRo ROS Soccer Package
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
controlwidget.h
1 // Widget to execute service calls
2 // Author: Dmytro Pavlichenko dm.mark999@gmail.com
3 
4 #ifndef CONTROLWIDGET_H
5 #define CONTROLWIDGET_H
6 
7 #include <control_widget/controlbutton.h>
8 
9 #include <rqt_gui_cpp/plugin.h>
10 #include <QMainWindow>
11 #include <QMenu>
12 
13 #include <ros/node_handle.h>
14 
15 #include <vector>
16 
17 namespace Ui { class ControlWidget; }
18 
19 namespace control_widget
20 {
21 
22 class ControlWidget : public rqt_gui_cpp::Plugin
23 {
24 Q_OBJECT
25 public:
26  ControlWidget();
27  virtual ~ControlWidget();
28 
29  virtual void initPlugin(qt_gui_cpp::PluginContext& context);
30  virtual void shutdownPlugin();
31 
32 private Q_SLOTS:
33  void receiveFeedback(QStringList& output);
34  void showConsoleMenu(const QPoint&);
35  void clearConsole();
36 
37  void retrievePressed();
38 
39 private:
40  void initButtons();
41 
42 private:
43  QMainWindow *m_view;
44  Ui::ControlWidget *m_ui;
45  QMenu m_console_menu;
46 
47  std::vector<ControlButton*>m_buttons;
48 
49  ros::NodeHandle m_nh;
50 };
51 
52 }
53 
54 #endif