00001 #ifndef EVOLUTIONARYMETHODPANEL_H 00002 #define EVOLUTIONARYMETHODPANEL_H 00003 00004 #include "../methods/EvolutionaryMethod.h" 00005 00006 #include "MethodPanelInfo.h" 00007 #include "RangeControl.h" 00008 #include "GeneticOperatorControl.h" 00009 #include "StopConditionControl.h" 00010 00011 class EvolutionaryMethodPanel: public wxPanel { 00012 public: 00013 00014 EvolutionaryMethodPanel(wxWindow* parent, 00015 int id, 00016 EvolutionaryMethod* pMethod, 00017 const ProblemBase& problem, 00018 const wxPoint& pos=wxDefaultPosition, 00019 const wxSize& size=wxDefaultSize, 00020 long style=0); 00021 00026 static wxPanel* CreatePanel(MethodPanelInfo panelInfo); 00027 00028 00029 private: 00030 00031 void set_properties(); 00032 void do_layout(); 00033 00034 static const void* mpRegistrationDummy; 00035 00036 protected: 00037 00038 wxStaticBox* mpInitialPopulationSizer_staticbox; 00039 GeneticOperatorControl<SelectionMethod>* 00040 mpSelectionMethodPanel; 00041 GeneticOperatorControl<MutationMethod>* 00042 mpMutationMethodPanel; 00043 GeneticOperatorControl<CrossoverMethod>* 00044 mpCrossoverMethodPanel; 00045 StopConditionControl* mpStopCondition; 00046 wxStaticText* mpSurvivalRateLabel; 00047 wxTextCtrl* mpSurvivalRateCtrl; 00048 wxStaticText* mpRadioactivityLabel; 00049 wxTextCtrl* mpRadioactivityCtrl; 00050 wxStaticText* mpMutationRateLabel; 00051 wxTextCtrl* mpMutationRateCtrl; 00052 wxStaticText* mpCrossoverRateLabel; 00053 wxTextCtrl* mpCrossoverRateCtrl; 00054 wxStaticText* mpNumberOfChromosomesLabel; 00055 wxTextCtrl* mpNumberOfChromosomesTextCtrl; 00056 RangeControl* mpStartingRange; 00057 00058 }; 00059 00060 #endif // EVOLUTIONARYMETHODPANEL_H