00001 /****************************************************************************** 00002 STDR Simulator - Simple Two DImensional Robot Simulator 00003 Copyright (C) 2013 STDR Simulator 00004 This program is free software; you can redistribute it and/or modify 00005 it under the terms of the GNU General Public License as published by 00006 the Free Software Foundation; either version 3 of the License, or 00007 (at your option) any later version. 00008 This program is distributed in the hope that it will be useful, 00009 but WITHOUT ANY WARRANTY; without even the implied warranty of 00010 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00011 GNU General Public License for more details. 00012 You should have received a copy of the GNU General Public License 00013 along with this program; if not, write to the Free Software Foundation, 00014 Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 00015 00016 Authors : 00017 * Manos Tsardoulias, etsardou@gmail.com 00018 * Aris Thallas, aris.thallas@gmail.com 00019 * Chris Zalidis, zalidis@gmail.com 00020 ******************************************************************************/ 00021 00022 #ifndef STDR_GUI_CONNECTOR 00023 #define STDR_GUI_CONNECTOR 00024 00025 #include "stdr_gui/stdr_gui_loader.h" 00026 #include "stdr_gui/stdr_robot_creator/stdr_robot_creator_connector.h" 00027 00032 namespace stdr_gui 00033 { 00034 00039 class CGuiConnector: 00040 public QObject 00041 { 00042 Q_OBJECT 00043 00044 //------------------------------------------------------------------------// 00045 private: 00046 00048 int argc_; 00050 char** argv_; 00052 bool map_initialized_; 00054 bool grid_enabled_; 00055 00057 CGuiLoader loader_; 00058 00059 //------------------------------------------------------------------------// 00060 public: 00061 00063 CRobotCreatorConnector robotCreatorConn; 00064 00071 CGuiConnector(int argc, char **argv); 00072 00077 bool isGridEnabled(void); 00078 00085 void raiseMessage(QString title, QString s); 00086 00094 void addToGrid(QWidget *w,int row,int column); 00095 00102 void setGridColumnStretch(int cell,int stretch); 00103 00108 void show(void); 00109 00115 void setStatusBarMessage(QString s); 00116 00121 QEvent* getCloseEvent(void); 00122 00127 bool closeTriggered(void); 00128 00133 void shutdown(void); 00134 00140 void setMapInitialized(bool mi); 00141 00146 void uncheckZoomButtons(void); 00147 00148 //------------------------------------------------------------------------// 00149 public Q_SLOTS: 00150 00155 void actionPropertiesTriggered(void); 00156 00161 void actionAboutTriggered(void); 00162 00167 void actionExitTriggered(void); 00168 00173 void actionLoadMapTriggered(void); 00174 00179 void actionNewRobotTriggered(void); 00180 00185 void actionNewRfidTriggered(void); 00186 00191 void actionNewCo2Triggered(void); 00192 00197 void actionNewSoundTriggered(void); 00198 00203 void actionNewThermalTriggered(void); 00204 00209 void actionAddRobotTriggered(void); 00210 00215 void actionZoomInTriggered(void); 00216 00221 void actionZoomOutTriggered(void); 00222 00227 void actionAdjustedTriggered(void); 00228 00233 void actionGridTriggered(void); 00234 00235 //------------------------------------------------------------------------// 00236 Q_SIGNALS: 00237 00243 void setZoomInCursor(bool state); 00244 00250 void setZoomOutCursor(bool state); 00251 00257 void setAdjustedCursor(bool state); 00258 00263 void guiExitEvent(void); 00264 00269 void loadRfidPressed(void); 00270 00275 void loadThermalPressed(void); 00276 00281 void loadCo2Pressed(void); 00282 00287 void loadSoundPressed(void); 00288 00294 void robotFromFile(stdr_msgs::RobotMsg msg); 00295 }; 00296 } 00297 00298 #endif