00001 #ifndef CONTROL_WINDOW_H 00002 #define CONTROL_WINDOW_H 00003 #include <QMainWindow> 00004 #include <QList> 00005 #include <QFileDialog> 00006 #include <QMessageBox> 00007 #include <QtAlgorithms> 00008 #include <QPushButton> 00009 #include <QString> 00010 #include <QVBoxLayout> 00011 #include <QHBoxLayout> 00012 #include <QLabel> 00013 #include <QTextStream> 00014 #include <QLineEdit> 00015 #include <QIcon> 00016 #include "RobotThread.h" 00017 00018 namespace server{ 00019 00020 class ControlWindow : public QWidget 00021 { 00022 Q_OBJECT 00023 00024 public: 00025 ControlWindow(int argc, char** argv, QWidget * parent = 0); 00026 00027 Q_SLOT void updatePoseDisplay(double x, double y, double theta); 00028 Q_SLOT void updateLaserDisplay(double range); 00029 private: 00030 00031 Q_SLOT void goForward(); 00032 Q_SLOT void goBackward(); 00033 Q_SLOT void goLeft(); 00034 Q_SLOT void goRight(); 00035 Q_SLOT void halt(); 00036 00037 00038 QPushButton *p_upButton; 00039 QPushButton *p_downButton; 00040 QPushButton *p_leftButton; 00041 QPushButton *p_rightButton; 00042 QPushButton *p_stopButton; 00043 QPushButton *p_quitButton; 00044 00045 QVBoxLayout *rightLayout; 00046 QHBoxLayout *layout; 00047 QHBoxLayout *layout2; 00048 QHBoxLayout *layout3; 00049 QHBoxLayout *layout4; 00050 00051 QVBoxLayout *leftLayout; 00052 QHBoxLayout *p_xLayout; 00053 QHBoxLayout *p_yLayout; 00054 QHBoxLayout *p_aLayout; 00055 QHBoxLayout *p_scanLayout; 00056 00057 QLabel *p_xLabel; 00058 QLabel *p_yLabel; 00059 QLabel *p_aLabel; 00060 QLabel *p_scanLabel; 00061 00062 QLineEdit *p_xDisplay; 00063 QLineEdit *p_yDisplay; 00064 QLineEdit *p_aDisplay; 00065 QLineEdit *p_scanDisplay; 00066 00067 QHBoxLayout *mainLayout; 00068 QPushButton *closeButton; 00069 00070 RobotThread m_RobotThread; 00071 };//end class ControlWindow 00072 }//end namespace 00073 #endif 00074