コード例 #1
0
ファイル: AppController.cs プロジェクト: turn11/gpdotnet
        /// <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);
        }
コード例 #2
0
        /// <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);
        }
コード例 #3
0
ファイル: MainWindow.cs プロジェクト: Bipolar-Ochka/UI_diplom
 void SetupReset()
 {
     SolutionPanel.GraphicButtonHandler = resetdelegate;
     void resetdelegate()
     {
         ResetBools();
         DihtomiaPanel.ToDefault();
         ModMetPanel.ToDefault();
         FunctionPanel.ToDefault();
         SolutionPanel.ToDefault();
     }
 }
コード例 #4
0
ファイル: MainWindow.cs プロジェクト: turn11/gpdotnet
        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("");
        }
コード例 #5
0
 /// <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);
 }
コード例 #6
0
ファイル: MainWindow.cs プロジェクト: bhrnjica/gpdotnetv4
        /// <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;
                }
            }
        }
コード例 #7
0
ファイル: MainWindow.cs プロジェクト: bhrnjica/gpdotnetv4
        /// <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;
            }
        }