00001 #ifndef GUI_MANAGER_H 00002 #define GUI_MANAGER_H 00003 00004 #include <sstream> 00005 #include <vector> 00006 #include <tinyxml.h> 00007 #include <ros/package.h> 00008 #include "robotican_gui.h" 00009 #include "event_signal.h" 00010 #include "event_slot.h" 00011 #include "led.h" 00012 00013 #include "listeners.hpp" 00014 00015 #define LOOP_RATE 0.001 00016 00017 class GUImanager { 00018 private: 00019 00020 EventSignal _eventSignal; 00021 EventSlot _eventSlot; 00022 QMainWindow * _widget; 00023 Ui::MainWindow * _win; 00024 QApplication * _app; 00025 ros::NodeHandle _nh; 00026 ros::Timer _timer; 00027 00028 Battery _batListener; 00029 Arm _armListener; 00030 PanTilt _panTiltListenere; 00031 Odom _odomListener; 00032 Gripper _gripperListener; 00033 Imu _imuListener; 00034 Lidar _lidarListener; 00035 Gps _gpsListener; 00036 FrontCam _frontCamListener; 00037 RearCam _rearCamListener; 00038 UrfLeft _urfLeftListener; 00039 UrfRear _urfRearListener; 00040 UrfRight _urfRightListener; 00041 Kinect2 _kinect2Listener; 00042 SR300 _sr300; 00043 00044 Led _armLed; 00045 Led _panTiltLed; 00046 Led _odomLed; 00047 Led _gripperLed; 00048 Led _imuLed; 00049 Led _lidarLed; 00050 Led _gpsLed; 00051 Led _frontCamLed; 00052 Led _rearCamLed; 00053 Led _urfLeftLed; 00054 Led _urfRearLed; 00055 Led _urfRightLed; 00056 Led _kinect2Led; 00057 Led _sr300Led; 00058 Led _batteryLed; 00059 00060 void _loopEvents(const ros::TimerEvent& timerEvent); 00061 void _connectEvents(); 00062 void _subscribeListeners(); 00063 void _initiateLeds(); 00064 void _initiateLbls(); 00065 00066 public: 00067 GUImanager(QMainWindow &widget, Ui::MainWindow &win, QApplication &app); 00068 void startGUI(); 00069 }; 00070 00071 00072 #endif //GUI_MANAGER_H