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_ROBOT_CREATOR_LOADER 00023 #define STDR_ROBOT_CREATOR_LOADER 00024 00025 #include "ui_robotCreator.h" 00026 #include "stdr_gui/stdr_robot_creator/stdr_kinematic_properties_loader.h" 00027 #include "stdr_gui/stdr_robot_creator/stdr_rfid_antenna_properties_loader.h" 00028 #include "stdr_gui/stdr_robot_creator/stdr_co2_sensor_properties_loader.h" 00029 #include "stdr_gui/stdr_robot_creator/stdr_thermal_sensor_properties_loader.h" 00030 #include "stdr_gui/stdr_robot_creator/stdr_sound_sensor_properties_loader.h" 00031 #include "stdr_gui/stdr_robot_creator/stdr_robot_properties_loader.h" 00032 #include "stdr_gui/stdr_robot_creator/stdr_robot_footprint_loader.h" 00033 #include "stdr_gui/stdr_robot_creator/stdr_sonar_properties_loader.h" 00034 #include "stdr_gui/stdr_robot_creator/stdr_laser_properties_loader.h" 00035 #include "stdr_gui/stdr_tools.h" 00036 00041 namespace stdr_gui 00042 { 00047 class CRobotCreatorLoader : public QWidget, public Ui_RobotCreator 00048 { 00049 //------------------------------------------------------------------------// 00050 private: 00052 int argc_; 00054 char ** argv_; 00055 //------------------------------------------------------------------------// 00056 public: 00058 std::vector<QTreeWidgetItem> lasers; 00060 std::vector<QTreeWidgetItem> sonars; 00062 std::vector<QTreeWidgetItem> rfids; 00063 std::vector<QTreeWidgetItem> co2_sensors; 00064 std::vector<QTreeWidgetItem> thermal_sensors; 00065 std::vector<QTreeWidgetItem> sound_sensors; 00066 00068 QTreeWidgetItem robotNode; 00070 QTreeWidgetItem lasersNode; 00072 QTreeWidgetItem sonarsNode; 00074 QTreeWidgetItem rfidAntennasNode; 00075 QTreeWidgetItem co2SensorsNode; 00076 QTreeWidgetItem thermalSensorsNode; 00077 QTreeWidgetItem soundSensorsNode; 00079 QTreeWidgetItem kinematicNode; 00081 QTreeWidgetItem robotInfoOrientation; 00083 QTreeWidgetItem robotInfoRadius; 00084 00086 QTreeWidgetItem robotInfoFootprint; 00088 std::vector<QTreeWidgetItem> footPoints; 00089 00091 QImage robotPreviewImage; 00092 00094 QIcon addIcon; 00096 QIcon editIcon; 00098 QIcon removeIcon; 00100 QIcon saveIcon; 00102 QIcon loadIcon; 00103 00105 CRobotPropertiesLoader robotPropLoader; 00107 CRobotFootprintLoader robotFootLoader; 00109 CLaserPropertiesLoader laserPropLoader; 00111 CSonarPropertiesLoader sonarPropLoader; 00113 CKinematicPropertiesLoader kinematicPropLoader; 00115 CRfidAntennaPropertiesLoader rfidAntennaPropLoader; 00116 CCO2SensorPropertiesLoader co2SensorPropLoader; 00117 CThermalSensorPropertiesLoader thermalSensorPropLoader; 00118 CSoundSensorPropertiesLoader soundSensorPropLoader; 00119 00126 CRobotCreatorLoader(int argc, char **argv); 00127 00132 void setupInitialTree(void); 00133 }; 00134 } 00135 00136 #endif