00001 #ifndef SIGEL_MASTERGUI_SIG_EXPERIMENT_H 00002 #define SIGEL_MASTERGUI_SIG_EXPERIMENT_H 00003 00004 #include <qwidgetstack.h> 00005 #include <qstring.h> 00006 #include <qpopupmenu.h> 00007 #include <qpushbutton.h> 00008 #include <qdict.h> 00009 #include <qmultilineedit.h> 00010 00011 #include "SIGEL_MasterGUI/SIG_GPParameter.h" 00012 #include "SIGEL_MasterGUI/SIG_SimulationParameter.h" 00013 #include "SIGEL_MasterGUI/SIG_EnvironmentView.h" 00014 #include "SIGEL_MasterGUI/SIG_RobotView.h" 00015 #include "SIGEL_MasterGUI/SIG_ExperimentView.h" 00016 #include "SIGEL_MasterGUI/SIG_ExperimentItem.h" 00017 #include "SIGEL_MasterGUI/SIG_AllIndividualsView.h" 00018 #include "SIGEL_MasterGUI/SIG_LanguageParameters.h" 00019 00020 #include "SIGEL_GP/SIG_GPExperiment.h" 00021 00022 namespace SIGEL_GP 00023 { class SIG_GUIGPManager; }; 00024 00025 namespace SIGEL_MasterGUI 00026 { 00032 class SIG_Experiment : public QWidget 00033 { 00034 Q_OBJECT 00035 00036 public: 00037 00046 SIG_Experiment( QString name, QWidgetStack *theWidgetStack, SIG_ExperimentItem *theExperimentItem ); 00047 00053 ~SIG_Experiment(); 00054 00059 QString getName() const; 00060 00068 void setName( QString newName ); 00069 00073 SIGEL_GP::SIG_GPExperiment gpExperiment; 00074 00078 SIGEL_GP::SIG_GUIGPManager *gpManager; 00079 00080 public slots: 00081 00088 void putAllIntoExperiment(); 00089 00096 void getAllOutOfExperiment(); 00097 00108 void slotRightClick( QString option, const QPoint & thePoint ); 00109 00116 void slotSelectionChanged( QString option ); 00117 00121 void slotStartEvolution(); 00122 00126 void slotStopEvolution(); 00127 00131 void slotSimulationParameterImport(); 00132 00136 void slotSimulationParameterExport(); 00137 00141 void slotEnvironmentImport(); 00142 00146 void slotEnvironmentExport(); 00147 00151 void slotGPParameterImport(); 00152 00156 void slotGPParameterExport(); 00157 00161 void slotLanguageParameterImport(); 00162 00166 void slotLanguageParameterExport(); 00167 00171 void slotPopulationImport(); 00172 00176 void slotPopulationExport(); 00177 00184 void slotRobotImport(); 00185 00186 void slotGNUPlotExport(); 00187 00193 void slotRobotLoad(); 00194 00200 void slotRobotSave(); 00201 00205 void slotEvolutionStopped(); 00206 00207 signals: 00208 void signalEvolutionNotRunning( bool ); 00209 00210 protected: 00211 00217 QString checkEnding( QString fileName, QString ending ); 00218 00222 QDict<QWidget> widgetDict; 00223 00227 QDict<QPopupMenu> menuDict; 00228 00232 QString experimentName; 00233 00237 QWidgetStack *widgetStack; 00238 00239 public: 00240 00247 QPopupMenu *menuGPParameter; 00248 00255 QPopupMenu *menuSimulationParameter; 00256 00263 QPopupMenu *menuRobotView; 00264 00271 QPopupMenu *menuEnvironmentView; 00272 00279 QPopupMenu *menuExperimentView; 00280 00284 SIG_ExperimentItem *experimentItem; 00285 00289 SIG_GPParameter *gpParameter; 00290 00294 SIG_SimulationParameter *simulationParameter; 00295 00299 SIG_EnvironmentView *environmentView; 00300 00304 SIG_RobotView *robotView; 00305 00309 SIG_ExperimentView *experimentView; 00310 00314 SIG_AllIndividualsView *allIndividualsView; 00315 00319 SIG_LanguageParameters *languageParameters; 00320 }; 00321 00322 } 00323 #endif // SIGEL_MASTERGUI_SIG_EXPERIMENT_H 00324