/// <summary> /// Check if the current state of project is different from the persisted version /// Also Update ActualData Vie with values from GUI /// </summary> /// <param name="exp"></param> /// <param name="funPanel1"></param> /// <param name="parPanel1"></param> /// <param name="runPanel1"></param> /// <param name="resPanel1"></param> /// <param name="testPanel1"></param> /// <returns></returns> public bool IsModified(ProjectController exp, FunctionPanel funPanel1, ParametersPanel parPanel1, RunPanel runPanel1, ResultPanel resPanel1, TestPanel testPanel1) { var models = exp.Models; if (exp.Project.IsDirty) { return(true); } // foreach (var m in models) { //active model can contains unsaved data if (ActiveView is ModelController) { var mm = (ModelController)ActiveView; if (mm.Model.Guid == m.Model.Guid) { m.getCurrentValues(funPanel1, parPanel1, runPanel1, resPanel1, testPanel1); } } //check for modification if (m.IsModified()) { return(true); } } return(false); }
/// <summary> /// 功能面板加载信息 /// </summary> /// <param name="functionPanel">功能面板对象</param> /// <param name="emp_id">员工编号</param> /// <param name="emp_level">员工级别</param> /// <param name="isLoad">是否为初次加载</param> /// <returns></returns> public bool LoadFuncPanel(FunctionPanel functionPanel, string emp_id, string emp_level, bool isLoad) { if (isLoad) { functions = new GetFunctions(); functions.Getfunction(emp_id, false); functionPanel.TotalBtn = functions.ReturenRecordNumber; string[] txtArray = new string[functionPanel.TotalBtn]; Color[] btnBackColor = new Color[functionPanel.TotalBtn]; Font[] btnTextFont = new Font[functionPanel.TotalBtn]; Color[] btnFontColor = new Color[functionPanel.TotalBtn]; int[] position_id = new int[functionPanel.TotalBtn]; int[] hotkey = new int[functionPanel.TotalBtn]; bool[] visible = new bool[functionPanel.TotalBtn]; string[] funct_name = new string[functionPanel.TotalBtn]; for (int i = 0; i < functionPanel.TotalBtn; i++) { txtArray[i] = functions.ReturnProdName1(i); btnBackColor[i] = functions.ReturnBtnColor(i); btnTextFont[i] = functions.ReturnFont(i); btnFontColor[i] = functions.ReturnFondColor(i); position_id[i] = functions.ReturnPositionId(i); hotkey[i] = functions.ReturnHotKey(i); visible[i] = functions.ReturnVisible(i); funct_name[i] = functions.ReturnFunctName(i); if (i < functionPanel.PageBtnNumber && i < functionPanel.Buttons.Length) { functionPanel.Buttons[i].Button.BackColor = btnBackColor[i]; // 这一项保存了font_name和font_size functionPanel.Buttons[i].Button.Font = btnTextFont[i]; functionPanel.Buttons[i].Position_id = position_id[i]; functionPanel.Buttons[i].Hotkey = hotkey[i]; functionPanel.Buttons[i].Visible1 = visible[i]; functionPanel.Buttons[i].Funct_name = funct_name[i]; functionPanel.Buttons[i].Button.ForeColor = btnFontColor[i]; } } functionPanel.StringArray = txtArray; functionPanel.btnBackColor = btnBackColor; functionPanel.btnFontColor = btnFontColor; functionPanel.position_id = position_id; functionPanel.hotkey = hotkey; functionPanel.visible = visible; functionPanel.funct_name = funct_name; functionPanel.btnTextFont = btnTextFont; number.FunctionName = ""; } return(true); }
void SetupReset() { SolutionPanel.GraphicButtonHandler = resetdelegate; void resetdelegate() { ResetBools(); DihtomiaPanel.ToDefault(); ModMetPanel.ToDefault(); FunctionPanel.ToDefault(); SolutionPanel.ToDefault(); } }
public MainWindow() { Controller = new AppController(); Controller.ReportException = this.ReportException; InitializeComponent(); this.Icon = Extensions.LoadIconFromName("GPdotNet.Wnd.Dll.Images.gpdotnet.ico"); #region additional initialization this.expPanel1 = new ExperimentPanel(); this.funPanel1 = new FunctionPanel(); this.parPanel1 = new ParametersPanel(); this.runPanel1 = new RunPanel(); this.resPanel1 = new ResultPanel(); this.testPanel1 = new TestPanel(); this.infoPanel1 = new InfoPanel(); // // expPanel1 // this.expPanel1.Dock = System.Windows.Forms.DockStyle.Fill; this.expPanel1.Location = new System.Drawing.Point(3, 3); this.expPanel1.Name = "expPanel1"; this.expPanel1.Size = new System.Drawing.Size(463, 222); this.expPanel1.TabIndex = 0; // // runPanel1 // this.infoPanel1.Dock = System.Windows.Forms.DockStyle.Fill; this.infoPanel1.Location = new System.Drawing.Point(3, 3); this.infoPanel1.Name = "runPanel1"; this.infoPanel1.Size = new System.Drawing.Size(463, 222); this.infoPanel1.TabIndex = 1; // // funPanel1 // this.funPanel1.Dock = System.Windows.Forms.DockStyle.Fill; this.funPanel1.Location = new System.Drawing.Point(3, 3); this.funPanel1.Name = "funPanel1"; this.funPanel1.Size = new System.Drawing.Size(463, 222); this.funPanel1.TabIndex = 0; // // parPanel1 // this.parPanel1.Dock = System.Windows.Forms.DockStyle.Fill; this.parPanel1.Location = new System.Drawing.Point(3, 3); this.parPanel1.Name = "parPanel1"; this.parPanel1.Size = new System.Drawing.Size(463, 222); this.parPanel1.TabIndex = 0; // // runPanel1 // this.runPanel1.Dock = System.Windows.Forms.DockStyle.Fill; this.runPanel1.Location = new System.Drawing.Point(3, 3); this.runPanel1.Name = "runPanel1"; this.runPanel1.Size = new System.Drawing.Size(463, 222); this.runPanel1.TabIndex = 0; // // resPanel1 // this.resPanel1.Dock = System.Windows.Forms.DockStyle.Fill; this.resPanel1.Location = new System.Drawing.Point(3, 3); this.resPanel1.Name = "resPanel1"; this.resPanel1.Size = new System.Drawing.Size(463, 222); this.resPanel1.TabIndex = 0; // // testPanel1 // this.testPanel1.Dock = System.Windows.Forms.DockStyle.Fill; this.testPanel1.Location = new System.Drawing.Point(3, 3); this.testPanel1.Name = "testPanel1"; this.testPanel1.Size = new System.Drawing.Size(463, 222); this.testPanel1.TabIndex = 0; // this.tabPage3.Controls.Add(funPanel1); this.tabPage4.Controls.Add(parPanel1); this.tabPage5.Controls.Add(runPanel1); this.tabPage6.Controls.Add(resPanel1); this.tabPage7.Controls.Add(testPanel1); this.tabPage1.Controls.Add(expPanel1); this.tabPage2.Controls.Add(infoPanel1); #endregion treeView1.LabelEdit = true; this.Load += MainWindow_Load; this.FormClosing += MainWindow_FormClosing; this.ribbonTab1.Text = AboutGPdotNET.AssemblyTitle; SetStopMode(""); }
/// <summary> /// 功能面板加载信息 /// </summary> /// <param name="functionPanel">功能面板对象</param> /// <param name="emp_id">员工编号</param> /// <param name="emp_level">员工等级</param> /// <param name="isLoad">是否初次加载</param> private void FunctionPanel_GetInfo(FunctionPanel functionPanel, string emp_id, string emp_level, bool isLoad) { LoadFuncPanel(functionPanel, emp_id, emp_level, isLoad); }
/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void _experimentPanel_DataLoaded(object sender, EventArgs e) { //Depending on experimental type of output data (numerical or categorical or boolean) // prepare the panels for parameters and type of the factory. if (_GPModel == GPModelType.ANNMODEL) { //create facotry based on column data type if (_experimentPanel.IsCategoricalOutput) { this._mainANNFactory = new PSOFactory(); } else { this._mainANNFactory = new BPFactory(); } // if (_setANNPanel == null) { _setANNPanel = new ANNSettingsPanel(); loadGPPanelInMainWindow(this, _setANNPanel, "Settings"); //lock some parameters based on type of output variable if (_experimentPanel.Experiment.GetOutputColumnType() == Core.Experiment.ColumnDataType.Binary || _experimentPanel.Experiment.GetOutputColumnType() == Core.Experiment.ColumnDataType.Categorical ) { _setANNPanel.SetLearnigAlgorithm(1); } else { _setANNPanel.SetLearnigAlgorithm(0); } _setANNPanel.LockLearningAlgoritm(); } if (_runANNPanel == null) { _runANNPanel = new ANNRunPanel(); loadGPPanelInMainWindow(this, _runANNPanel, "Modeling"); } if (_infoPanel == null) { _infoPanel = new InfoPanel(); loadGPPanelInMainWindow(this, _infoPanel, "Info"); } if (_runANNPanel != null) { this._mainANNFactory.ReportIteration += new EvolutionHandler(annFactory_ReportIteration); _runANNPanel.UpdateChartDataPoint(_experimentPanel.GetOutputValues(), false); _isFileDirty = true; } } else//Preparing GP for modelling nd prediction { //create facotry based on column data type if (_experimentPanel.IsBinarylOutput || _experimentPanel.IsCategoricalOutput) { this._mainGPFactory = new GPFactoryClass(); } else if (_experimentPanel.GetOutputColumnType() == Core.Experiment.ColumnDataType.Numeric) { this._mainGPFactory = new GPFactory(); } else { throw new Exception("Unknown output value type!"); } if (_funPanel == null) { _funPanel = new FunctionPanel(); loadGPPanelInMainWindow(this, _funPanel, "Functions"); } if (_setPanel == null) { _setPanel = new SettingsPanel(); loadGPPanelInMainWindow(this, _setPanel, "Settings"); } //set problem type _setPanel.SetParamForClassification(_experimentPanel.GetOutputColumnType()); if (_runPanel == null) { _runPanel = new RunPanel(); loadGPPanelInMainWindow(this, _runPanel, "Run"); } if (_resultPanel == null) { _resultPanel = new ResultPanel(); loadGPPanelInMainWindow(this, _resultPanel, "Result"); } if (_infoPanel == null) { _infoPanel = new InfoPanel(); loadGPPanelInMainWindow(this, _infoPanel, "Info"); } //set base run panel on _runPAnel _baseRunPanel = _runPanel; if (_runPanel != null) { this._mainGPFactory.ReportEvolution += new EvolutionHandler(gpFactory_ReportEvolution); _runPanel.ResetSolution(); _runPanel.UpdateChartDataPoint(_experimentPanel.GetOutputValues(), false); _isFileDirty = true; } if (_funDefinit != null) { _funDefinit.btnFinishAnalFun.Click += btnFinishAnalFun_Click; } if (_setPanel != null) { _setPanel.ResetSolution += _setPanel_ResetSolution; } } }
/// <summary> /// /// </summary> /// <param name="model"></param> void LoadModelWizard(GPModelType model) { _GPModel = model; switch (_GPModel) { case GPModelType.SR: { _dataPanel = new DataPanel(); loadGPPanelInMainWindow(this, _dataPanel, "Load Data"); _dataPanel.SetProblemType(_GPModel); _funPanel = new FunctionPanel(); loadGPPanelInMainWindow(this, _funPanel, "Functions"); _setPanel = new SettingsPanel(); loadGPPanelInMainWindow(this, _setPanel, "Settings"); _runPanel = new RunPanel(); loadGPPanelInMainWindow(this, _runPanel, "Run"); _resultPanel = new ResultPanel(); loadGPPanelInMainWindow(this, _resultPanel, "Result"); _infoPanel = new InfoPanel(); loadGPPanelInMainWindow(this, _infoPanel, "Info"); this._mainGPFactory = new GPFactory(); this._mainGPFactory.ReportEvolution += new EvolutionHandler(gpFactory_ReportEvolution); //set base run panel on _runPAnel _baseRunPanel = _runPanel; } break; case GPModelType.SRO: { _dataPanel = new DataPanel(); loadGPPanelInMainWindow(this, _dataPanel, "Load Data"); _dataPanel.SetProblemType(_GPModel); _funPanel = new FunctionPanel(); loadGPPanelInMainWindow(this, _funPanel, "Functions"); _setPanel = new SettingsPanel(); loadGPPanelInMainWindow(this, _setPanel, "Settings"); _runPanel = new RunPanel(); loadGPPanelInMainWindow(this, _runPanel, "Run"); _optimizePanel = new OptimizePanel(); loadGPPanelInMainWindow(this, _optimizePanel, "Optimize Model"); _resultPanel = new ResultPanel(); loadGPPanelInMainWindow(this, _resultPanel, "Result"); _infoPanel = new InfoPanel(); loadGPPanelInMainWindow(this, _infoPanel, "Info"); this._mainGPFactory = new GPFactory(); this._mainGPFactory.ReportEvolution += new EvolutionHandler(gpFactory_ReportEvolution); this._secondFactory = new GPFactory(); this._secondFactory.ReportEvolution += new EvolutionHandler(gpFactory_ReportEvolution); //set base run panel on _runPAnel _baseRunPanel = _runPanel; } break; case GPModelType.TS: { _dataPanel = new DataPanel(); loadGPPanelInMainWindow(this, _dataPanel, "Load Data"); _dataPanel.SetProblemType(_GPModel); _funPanel = new FunctionPanel(); loadGPPanelInMainWindow(this, _funPanel, "Functions"); _setPanel = new SettingsPanel(); loadGPPanelInMainWindow(this, _setPanel, "Settings"); _setPanel.SetNumOfConstance(0); _runPanel = new RunPanel(); loadGPPanelInMainWindow(this, _runPanel, "Run"); _resultPanel = new ResultPanel(); loadGPPanelInMainWindow(this, _resultPanel, "Result"); _infoPanel = new InfoPanel(); loadGPPanelInMainWindow(this, _infoPanel, "Info"); this._mainGPFactory = new GPFactory(); this._mainGPFactory.ReportEvolution += new EvolutionHandler(gpFactory_ReportEvolution); //set base run panel on _runPAnel _baseRunPanel = _runPanel; } break; case GPModelType.AO: { _funDefinit = new AnaliticFunctionDef(); loadGPPanelInMainWindow(this, _funDefinit, "Analytic function"); _funPanel = new FunctionPanel(); loadGPPanelInMainWindow(this, _funPanel, "Functions"); _setPanel = new SettingsPanel(); loadGPPanelInMainWindow(this, _setPanel, "Settings"); _setPanel.ShowGAParams(); _optimizePanel = new OptimizePanel(); loadGPPanelInMainWindow(this, _optimizePanel, "Optimize Model"); //initi pages after creation // _funDefinit.LoadFuns(_funPanel.GPFunctions); tabControl1.TabPages.RemoveAt(1); this._secondFactory = new GPFactory(); this._secondFactory.ReportEvolution += new EvolutionHandler(gpFactory_ReportEvolution); //set base run panel on _optimizePanel _baseRunPanel = _optimizePanel; } break; case GPModelType.TSP: { _dataPanel = new DataPanel(); loadGPPanelInMainWindow(this, _dataPanel, "Load Data"); _dataPanel.SetProblemType(_GPModel); _setPanel = new SettingsPanel(); loadGPPanelInMainWindow(this, _setPanel, "Settings"); _setPanel.ShowGAParams(); var p = _setPanel.GetParameters(); p.popSize = 2500; p.eselectionMethod = GPSelectionMethod.SkrgicSelection; p.SelParam1 = 2.5f; _setPanel.SetParameters(p); _tspPanel = new TSPRunPanel(); loadGPPanelInMainWindow(this, _tspPanel, "Simulation"); this._mainGPFactory = new GPFactory(); this._mainGPFactory.ReportEvolution += new EvolutionHandler(gpFactory_ReportEvolution); _infoPanel = new InfoPanel(); loadGPPanelInMainWindow(this, _infoPanel, "Info"); //set base run panel on _TSPPanel _baseRunPanel = _tspPanel; } break; case GPModelType.AP: { _dataPanel = new DataPanel(); loadGPPanelInMainWindow(this, _dataPanel, "Load Data"); _dataPanel.SetProblemType(_GPModel); _setPanel = new SettingsPanel(); loadGPPanelInMainWindow(this, _setPanel, "Settings"); _setPanel.ShowGAParams(); var p = _setPanel.GetParameters(); p.popSize = 2500; p.eselectionMethod = GPSelectionMethod.SkrgicSelection; p.SelParam1 = 2.5f; _setPanel.SetParameters(p); _alocPanel = new ALOCRunPanel(); loadGPPanelInMainWindow(this, _alocPanel, "Simulation"); this._mainGPFactory = new GPFactory(); this._mainGPFactory.ReportEvolution += new EvolutionHandler(gpFactory_ReportEvolution); _infoPanel = new InfoPanel(); loadGPPanelInMainWindow(this, _infoPanel, "Info"); //set base run panel on _TSPPanel _baseRunPanel = _alocPanel; } break; case GPModelType.TP: { _dataPanel = new DataPanel(); loadGPPanelInMainWindow(this, _dataPanel, "Load Data"); _dataPanel.SetProblemType(_GPModel); _setPanel = new SettingsPanel(); loadGPPanelInMainWindow(this, _setPanel, "Settings"); _setPanel.ShowGAParams(); var p = _setPanel.GetParameters(); p.popSize = 2500; p.eselectionMethod = GPSelectionMethod.SkrgicSelection; p.SelParam1 = 2.5f; _setPanel.SetParameters(p); _alocPanel = new ALOCRunPanel(); loadGPPanelInMainWindow(this, _alocPanel, "Simulation"); this._mainGPFactory = new GPFactory(); this._mainGPFactory.ReportEvolution += new EvolutionHandler(gpFactory_ReportEvolution); _infoPanel = new InfoPanel(); loadGPPanelInMainWindow(this, _infoPanel, "Info"); //set base run panel on _TSPPanel _baseRunPanel = _alocPanel; } break; case GPModelType.ANNMODEL: case GPModelType.GPMODEL: { _experimentPanel = new ExperimentPanel(); loadGPPanelInMainWindow(this, _experimentPanel, "Load Experiment"); _experimentPanel.SetProblemType(_GPModel); //factory creating moved on place when the experimental data is created and prepared //this._mainANNFactory = new ANNFactory(); //this._mainANNFactory.ReportIteration += new EvolutionHandler(annFactory_ReportIteration); } break; default: break; } //Events from datapanel about loading dat if (_dataPanel != null) { _dataPanel.DataLoaded += _dataPanel_DataLoaded; } if (_dataPanel != null) { _dataPanel.DataPredictionLoaded += _dataPanel_DataPredictionLoaded; } //Events from experiment panel about loading dat if (_experimentPanel != null) { _experimentPanel.DataLoaded += _experimentPanel_DataLoaded; } if (_experimentPanel != null) { _experimentPanel.DataPredictionLoaded += _experimentalPanel_DataPredictionLoaded; } if (_funDefinit != null) { _funDefinit.btnFinishAnalFun.Click += btnFinishAnalFun_Click; } if (_setPanel != null) { _setPanel.ResetSolution += _setPanel_ResetSolution; } }