icub-basic-demos
mainwindow.h
1 /*
2  * Copyright (C) 2010 RobotCub Consortium, European Commission FP6 Project IST-004370
3  * Copyright (C) 2016 iCub Facility - Istituto Italiano di Tecnologia
4  * Author: Marco Randazzo <marco.randazzo@iit.it>
5  * CopyPolicy: Released under the terms of the GPLv2 or later, see GPL.TXT
6  */
7 
8 
9 #ifndef MAINWINDOW_H
10 #define MAINWINDOW_H
11 
12 #include <yarp/os/ResourceFinder.h>
13 
14 #include <QMainWindow>
15 #include <QResizeEvent>
16 #include <QLabel>
17 #include <QTimer>
18 #include <QAction>
19 #include <QMutex>
20 #include <QTreeWidget>
21 #include "robot_interfaces.h"
22 
23 namespace Ui {
24 class MainWindow;
25 }
26 
27 using namespace yarp::os;
28 class MainWindow : public QMainWindow
29 {
30  Q_OBJECT
31 
32 public:
33  explicit MainWindow(QWidget *parent = 0);
34  bool init(QString robotName, ResourceFinder *finder, robot_interfaces *robot);
35  bool slot_changed_pos(int kk);
36  bool slot_changed_trq(int kk);
37  bool slot_changed_imp_soft (int kk);
38  bool slot_changed_imp_medium(int kk);
39  bool slot_changed_imp_hard(int kk);
40  void disable_left_arm();
41  void disable_left_leg();
42  void disable_right_arm();
43  void disable_right_leg();
44  void disable_torso();
45 
46  ~MainWindow();
47  void update_labels();
48 
49 protected:
50  void closeEvent(QCloseEvent *event);
51 private:
52  Ui::MainWindow *ui;
53  robot_interfaces *m_robot;
54 
55 private:
56 
57 private slots:
58  void Radio1Selected() { slot_changed_pos(LEFT_ARM); }
59  void Radio2Selected() { slot_changed_trq(LEFT_ARM); }
60  void Radio3Selected() { slot_changed_imp_soft(LEFT_ARM); }
61  void Radio4Selected() { slot_changed_imp_medium(LEFT_ARM); }
62  void Radio5Selected() { slot_changed_imp_hard(LEFT_ARM); }
63  void Radio6Selected() { slot_changed_pos(RIGHT_ARM); }
64  void Radio7Selected() { slot_changed_trq(RIGHT_ARM); }
65  void Radio8Selected() { slot_changed_imp_soft(RIGHT_ARM); }
66  void Radio9Selected() { slot_changed_imp_medium(RIGHT_ARM); }
67  void Radio10Selected() { slot_changed_imp_hard(RIGHT_ARM); }
68  void Radio11Selected() { slot_changed_pos(LEFT_LEG); }
69  void Radio12Selected() { slot_changed_trq(LEFT_LEG); }
70  void Radio13Selected() { slot_changed_imp_soft(LEFT_LEG); }
71  void Radio14Selected() { slot_changed_imp_medium(LEFT_LEG); }
72  void Radio15Selected() { slot_changed_imp_hard(LEFT_LEG); }
73  void Radio16Selected() { slot_changed_pos(RIGHT_LEG); }
74  void Radio17Selected() { slot_changed_trq(RIGHT_LEG); }
75  void Radio18Selected() { slot_changed_imp_soft(RIGHT_LEG); }
76  void Radio19Selected() { slot_changed_imp_medium(RIGHT_LEG); }
77  void Radio20Selected() { slot_changed_imp_hard(RIGHT_LEG); }
78  void Radio21Selected() { slot_changed_pos(TORSO); }
79  void Radio22Selected() { slot_changed_trq(TORSO); }
80  void Radio23Selected() { slot_changed_imp_soft(TORSO); }
81  void Radio24Selected() { slot_changed_imp_medium(TORSO); }
82  void Radio25Selected() { slot_changed_imp_hard(TORSO); }
83 signals:
84 
85 };
86 
87 class ModesTreeWidget : public QTreeWidget
88 {
89  Q_OBJECT
90 
91 public:
92  ModesTreeWidget(QWidget * parent = 0);
93 
94 
95 };
96 
97 #endif // MAINWINDOW_H