00001 #ifndef MAINWINDOW_H 00002 #define MAINWINDOW_H 00003 00004 #include <QMainWindow> 00005 #include <QProcess> 00006 #include <QHash> 00007 00008 #include "talker.h" 00009 //#include "listener.h" 00010 #include "ButtonProcessAdministrator.h" 00011 00012 #include <vector> 00013 #include <iostream> 00014 00015 #include <ros/node_handle.h> 00016 #include <ros/publisher.h> 00017 00018 #include "Containers/ObjectRecognitionTab/ObjectRecognitionTab.h" 00019 #include "Containers/ObjectLearningTab/ObjectLearningTab.h" 00020 00021 #include <robot_platform/MoveRobot.h> 00022 #include <robot_platform/TurnRobot.h> 00023 #include <robot_platform/StopRobot.h> 00024 #include <std_msgs/Empty.h> 00025 #include <std_msgs/String.h> 00026 #include <ptu/SetPanTilt.h> 00027 00028 00029 #include "QtRosNode.h" 00030 00031 00032 namespace rviz 00033 { 00034 class Display; 00035 class RenderPanel; 00036 class VisualizationManager; 00037 } 00038 00039 namespace cv { 00040 class Mat; 00041 } 00042 00043 namespace Ui { 00044 class MainWindow; 00045 } 00046 00047 class MainWindow : public QMainWindow 00048 { 00049 Q_OBJECT 00050 00051 public: 00052 explicit MainWindow(QWidget *parent = 0); 00053 ~MainWindow(); 00054 00055 bool eventFilter(QObject *object, QEvent *e); 00056 void setQtRosNode(QtRosNode& qtRosNode); 00057 00058 00059 ros::Publisher move_robot_pub_; 00060 ros::Publisher turn_robot_pub_; 00061 ros::Publisher stop_robot_pub_; 00062 ros::Publisher start_game_pub_; 00063 ros::Publisher fake_user_input_pub_; 00064 ros::Publisher speech_out_pub_; 00065 ros::Publisher set_pan_tilt_pub_; 00066 // void updateData(); 00067 // 00068 // 00069 00070 private slots: 00071 void on_butStartGame_clicked(); 00072 void on_butFakeUserInput_clicked(); 00073 00074 void on_butSpeak_clicked(); 00075 00076 void on_pushButtonPanTiltAngle_clicked(); 00077 00078 private: 00079 Ui::MainWindow *ui; 00080 Talker* m_Talker; 00081 ObjectRecognitionTab* m_ObjectRecognitionTab; 00082 ObjectLearningTab* m_ObjectLearningTab; 00083 00084 rviz::VisualizationManager* manager_; 00085 rviz::RenderPanel* render_panel_; 00086 rviz::Display* grid_; 00087 rviz::Display* laser_; 00088 00089 00090 00091 }; 00092 00093 #endif // MAINWINDOW_H