Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
03/05/14 17:36:03 (11 years ago)
Author:
mkommend
Message:

#1998: Updated classification model comparison branch with trunk changes (remaining changes).

Location:
branches/ClassificationModelComparison/HeuristicLab.Problems.DataAnalysis.Views
Files:
19 edited

Legend:

Unmodified
Added
Removed
  • branches/ClassificationModelComparison/HeuristicLab.Problems.DataAnalysis.Views

  • branches/ClassificationModelComparison/HeuristicLab.Problems.DataAnalysis.Views/3.4/Solution Views/ClassificationEnsembleSolutionView.Designer.cs

    r7967 r10556  
    11#region License Information
    22/* HeuristicLab
    3  * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
     3 * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
    44 *
    55 * This file is part of HeuristicLab.
  • branches/ClassificationModelComparison/HeuristicLab.Problems.DataAnalysis.Views/3.4/Solution Views/ClassificationEnsembleSolutionView.cs

    r7259 r10556  
    11#region License Information
    22/* HeuristicLab
    3  * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
     3 * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
    44 *
    55 * This file is part of HeuristicLab.
     
    3737    }
    3838
     39    protected override void SetEnabledStateOfControls() {
     40      base.SetEnabledStateOfControls();
     41      //loading of problemdata is currently not support for ensemble solutions
     42      loadProblemDataButton.Enabled = false;
     43      loadProblemDataButton.Visible = false;
     44    }
     45
    3946    protected override void OnContentChanged() {
    4047      base.OnContentChanged();
     
    4754        var droppedData = e.Data.GetData(HeuristicLab.Common.Constants.DragDropDataFormat);
    4855        if (droppedData is IValueParameter) droppedData = ((IValueParameter)droppedData).Value;
     56        else if (droppedData is IClassificationProblem) droppedData = ((IClassificationProblem)droppedData).ProblemData;
    4957
    5058        ClassificationEnsembleProblemData ensembleProblemData = droppedData as ClassificationEnsembleProblemData;
  • branches/ClassificationModelComparison/HeuristicLab.Problems.DataAnalysis.Views/3.4/Solution Views/ClassificationSolutionView.Designer.cs

    r7967 r10556  
    11#region License Information
    22/* HeuristicLab
    3  * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
     3 * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
    44 *
    55 * This file is part of HeuristicLab.
  • branches/ClassificationModelComparison/HeuristicLab.Problems.DataAnalysis.Views/3.4/Solution Views/ClassificationSolutionView.cs

    r7259 r10556  
    11#region License Information
    22/* HeuristicLab
    3  * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
     3 * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
    44 *
    55 * This file is part of HeuristicLab.
     
    4343
    4444      var dropData = e.Data.GetData(HeuristicLab.Common.Constants.DragDropDataFormat);
    45       if (dropData is ClassificationProblemData) validDragOperation = true;
     45      if (dropData is IClassificationProblemData) validDragOperation = true;
     46      else if (dropData is IClassificationProblem) validDragOperation = true;
    4647      else if (dropData is IValueParameter) {
    4748        var param = (IValueParameter)dropData;
  • branches/ClassificationModelComparison/HeuristicLab.Problems.DataAnalysis.Views/3.4/Solution Views/ClusteringSolutionView.Designer.cs

    r7967 r10556  
    11#region License Information
    22/* HeuristicLab
    3  * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
     3 * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
    44 *
    55 * This file is part of HeuristicLab.
  • branches/ClassificationModelComparison/HeuristicLab.Problems.DataAnalysis.Views/3.4/Solution Views/ClusteringSolutionView.cs

    r7259 r10556  
    11#region License Information
    22/* HeuristicLab
    3  * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
     3 * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
    44 *
    55 * This file is part of HeuristicLab.
     
    4343
    4444      var dropData = e.Data.GetData(HeuristicLab.Common.Constants.DragDropDataFormat);
    45       if (dropData is ClusteringProblemData) validDragOperation = true;
     45      if (dropData is IClusteringProblemData) validDragOperation = true;
     46      else if (dropData is IClusteringProblem) validDragOperation = true;
    4647      else if (dropData is IValueParameter) {
    4748        var param = (IValueParameter)dropData;
  • branches/ClassificationModelComparison/HeuristicLab.Problems.DataAnalysis.Views/3.4/Solution Views/DataAnalysisSolutionView.Designer.cs

    r7967 r10556  
    11#region License Information
    22/* HeuristicLab
    3  * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
     3 * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
    44 *
    55 * This file is part of HeuristicLab.
     
    1919 */
    2020#endregion
     21
    2122namespace HeuristicLab.Problems.DataAnalysis.Views {
    2223  partial class DataAnalysisSolutionView {
     
    4445    /// </summary>
    4546    private void InitializeComponent() {
     47      this.flowLayoutPanel = new System.Windows.Forms.FlowLayoutPanel();
     48      this.loadProblemDataButton = new System.Windows.Forms.Button();
     49      this.loadProblemDataFileDialog = new System.Windows.Forms.OpenFileDialog();
    4650      ((System.ComponentModel.ISupportInitialize)(this.splitContainer)).BeginInit();
    4751      this.splitContainer.Panel1.SuspendLayout();
     
    5155      this.detailsGroupBox.SuspendLayout();
    5256      this.SuspendLayout();
     57      //
     58      // itemslistView
     59      //
     60      this.itemsListView.Location = new System.Drawing.Point(this.itemsListView.Location.X, this.itemsListView.Location.Y + 3);
     61      //
     62      // detailsGroupBox
     63      //
     64      this.detailsGroupBox.Location = new System.Drawing.Point(this.detailsGroupBox.Location.X, this.detailsGroupBox.Location.Y + 3);
     65      //
    5366      //
    5467      // splitContainer
    5568      //
    5669      //
     70      // splitContainer.Panel2
     71      //
     72      this.splitContainer.Panel2.Controls.Add(this.flowLayoutPanel);
     73      //
    5774      // itemsGroupBox
    5875      //
    5976      this.itemsGroupBox.Text = "Data Analysis Solution";
     77      //
     78      // flowLayoutPanel
     79      //
     80      this.flowLayoutPanel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right)));
     81      this.flowLayoutPanel.FlowDirection = System.Windows.Forms.FlowDirection.LeftToRight;
     82      this.flowLayoutPanel.Location = new System.Drawing.Point(0, 0);
     83      this.flowLayoutPanel.Padding = new System.Windows.Forms.Padding(3, 0, 3, 0);
     84      this.flowLayoutPanel.Size = new System.Drawing.Size(266, 30);
     85      this.flowLayoutPanel.Controls.Add(this.loadProblemDataButton);
     86      //
     87      // loadProblemDataButton
     88      //
     89      this.loadProblemDataButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)));
     90      this.loadProblemDataButton.AutoSize = true;
     91      this.loadProblemDataButton.Image = HeuristicLab.Common.Resources.VSImageLibrary.Open;
     92      this.loadProblemDataButton.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
     93      this.loadProblemDataButton.Name = "loadProblemDataButton";
     94      this.loadProblemDataButton.Size = new System.Drawing.Size(105, 24);
     95      this.loadProblemDataButton.TabIndex = 6;
     96      this.loadProblemDataButton.Text = "Load new Data";
     97      this.loadProblemDataButton.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
     98      this.loadProblemDataButton.UseVisualStyleBackColor = true;
     99      this.loadProblemDataButton.Click += new System.EventHandler(this.loadProblemDataButton_Click);
     100      this.toolTip.SetToolTip(this.loadProblemDataButton, "Creates a new data analysis solution with the same model and the loaded problem data.");
    60101      //
    61       // addButton
     102      // openFileDialog
    62103      //
    63       this.toolTip.SetToolTip(this.addButton, "Add");
    64       //
    65       // removeButton
    66       //
    67       this.toolTip.SetToolTip(this.removeButton, "Remove");
     104      this.loadProblemDataFileDialog.Filter = "HL files|*.hl";
     105      this.loadProblemDataFileDialog.Title = "Load new ProblemData or Problem...";
    68106      //
    69107      // DataAnalysisSolutionView
    70108      //
    71       this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
    72109      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Inherit;
    73110      this.Name = "DataAnalysisSolutionView";
     
    84121    #endregion
    85122
     123    protected System.Windows.Forms.Button loadProblemDataButton;
     124    protected System.Windows.Forms.OpenFileDialog loadProblemDataFileDialog;
     125    protected System.Windows.Forms.FlowLayoutPanel flowLayoutPanel;
     126
    86127  }
    87128}
  • branches/ClassificationModelComparison/HeuristicLab.Problems.DataAnalysis.Views/3.4/Solution Views/DataAnalysisSolutionView.cs

    r8798 r10556  
    11#region License Information
    22/* HeuristicLab
    3  * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
     3 * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
    44 *
    55 * This file is part of HeuristicLab.
     
    3030using HeuristicLab.Optimization;
    3131using HeuristicLab.Optimization.Views;
     32using HeuristicLab.Persistence.Default.Xml;
     33using HeuristicLab.PluginInfrastructure;
    3234
    3335namespace HeuristicLab.Problems.DataAnalysis.Views {
     36
    3437  [View("DataAnalysisSolution View")]
    3538  [Content(typeof(DataAnalysisSolution), false)]
     
    4952      addButton.Enabled = false;
    5053      removeButton.Enabled = false;
     54      loadProblemDataButton.Enabled = Content != null && !Locked;
    5155    }
    5256
     
    119123    }
    120124
     125    protected virtual void loadProblemDataButton_Click(object sender, EventArgs e) {
     126      if (loadProblemDataFileDialog.ShowDialog(this) != DialogResult.OK) return;
     127      try {
     128        object hlFile = XmlParser.Deserialize(loadProblemDataFileDialog.FileName);
     129
     130        IDataAnalysisProblemData problemData = null;
     131        if (hlFile is IDataAnalysisProblemData) {
     132          problemData = (IDataAnalysisProblemData)hlFile;
     133        } else if (hlFile is IDataAnalysisProblem) {
     134          problemData = ((IDataAnalysisProblem)hlFile).ProblemData;
     135        } else if (hlFile is IDataAnalysisSolution) {
     136          problemData = ((IDataAnalysisSolution)hlFile).ProblemData;
     137        }
     138
     139        if (problemData == null)
     140          throw new InvalidOperationException("The chosen HeuristicLab file does not contain a ProblemData, Problem, or DataAnalysisSolution.");
     141
     142        var solution = (IDataAnalysisSolution)Content.Clone();
     143        problemData.AdjustProblemDataProperties(solution.ProblemData);
     144        solution.ProblemData = problemData;
     145        if (!solution.Name.EndsWith(" with loaded problemData"))
     146          solution.Name += " with loaded problemData";
     147        MainFormManager.MainForm.ShowContent(solution);
     148      }
     149      catch (InvalidOperationException invalidOperationException) {
     150        ErrorHandling.ShowErrorDialog(this, invalidOperationException);
     151      }
     152      catch (ArgumentException argumentException) {
     153        ErrorHandling.ShowErrorDialog(this, argumentException);
     154      }
     155    }
     156
    121157    protected void AddViewListViewItem(Type viewType, Image image) {
    122158      ListViewItem listViewItem = new ListViewItem();
     
    165201      validDragOperation = false;
    166202      if (ReadOnly) return;
     203      if (e.Effect != DragDropEffects.Copy) return;
    167204
    168205      var dropData = e.Data.GetData(HeuristicLab.Common.Constants.DragDropDataFormat);
    169       if (dropData is DataAnalysisProblemData) validDragOperation = true;
     206      if (dropData is IDataAnalysisProblemData) validDragOperation = true;
     207      else if (dropData is IDataAnalysisProblem) validDragOperation = true;
    170208      else if (dropData is IValueParameter) {
    171209        var param = (IValueParameter)dropData;
    172         if (param.Value is DataAnalysisProblemData) validDragOperation = true;
     210        if (param.Value is IDataAnalysisProblemData) validDragOperation = true;
    173211      }
    174212    }
    175213
    176214    protected override void itemsListView_DragDrop(object sender, DragEventArgs e) {
    177       if (e.Effect != DragDropEffects.None) {
    178         var dropData = e.Data.GetData(HeuristicLab.Common.Constants.DragDropDataFormat);
    179         if (dropData is DataAnalysisProblemData) {
    180           DataAnalysisProblemData problemData = (DataAnalysisProblemData)dropData;
    181           Content.ProblemData = (DataAnalysisProblemData)problemData.Clone();
    182         } else if (dropData is IValueParameter) {
    183           var param = (IValueParameter)dropData;
    184           DataAnalysisProblemData problemData = param.Value as DataAnalysisProblemData;
    185           if (problemData != null)
    186             Content.ProblemData = (DataAnalysisProblemData)problemData.Clone();
    187         }
     215      if (e.Effect == DragDropEffects.None) return;
     216
     217      IDataAnalysisProblemData problemData = null;
     218      var dropData = e.Data.GetData(HeuristicLab.Common.Constants.DragDropDataFormat);
     219      if (dropData is IDataAnalysisProblemData)
     220        problemData = (IDataAnalysisProblemData)dropData;
     221      else if (dropData is IDataAnalysisProblem)
     222        problemData = ((IDataAnalysisProblem)dropData).ProblemData;
     223      else if (dropData is IValueParameter) {
     224        var param = (IValueParameter)dropData;
     225        problemData = param.Value as DataAnalysisProblemData;
     226      }
     227      if (problemData == null) return;
     228
     229      try {
     230        problemData.AdjustProblemDataProperties(Content.ProblemData);
     231        Content.ProblemData = problemData;
     232
     233        if (!Content.Name.EndsWith(" with changed problemData"))
     234          Content.Name += " with changed problemData";
     235      }
     236      catch (InvalidOperationException invalidOperationException) {
     237        ErrorHandling.ShowErrorDialog(this, invalidOperationException);
     238      }
     239      catch (ArgumentException argumentException) {
     240        ErrorHandling.ShowErrorDialog(this, argumentException);
    188241      }
    189242    }
    190243    #endregion
     244
    191245  }
    192246}
  • branches/ClassificationModelComparison/HeuristicLab.Problems.DataAnalysis.Views/3.4/Solution Views/DiscriminantFunctionClassificationSolutionView.Designer.cs

    r7967 r10556  
    11#region License Information
    22/* HeuristicLab
    3  * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
     3 * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
    44 *
    55 * This file is part of HeuristicLab.
  • branches/ClassificationModelComparison/HeuristicLab.Problems.DataAnalysis.Views/3.4/Solution Views/DiscriminantFunctionClassificationSolutionView.cs

    r7259 r10556  
    11#region License Information
    22/* HeuristicLab
    3  * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
     3 * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
    44 *
    55 * This file is part of HeuristicLab.
  • branches/ClassificationModelComparison/HeuristicLab.Problems.DataAnalysis.Views/3.4/Solution Views/NamedDataAnalysisSolutionView.Designer.cs

    r8924 r10556  
    11#region License Information
    22/* HeuristicLab
    3  * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
     3 * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
    44 *
    55 * This file is part of HeuristicLab.
  • branches/ClassificationModelComparison/HeuristicLab.Problems.DataAnalysis.Views/3.4/Solution Views/NamedDataAnalysisSolutionView.cs

    r8798 r10556  
    11#region License Information
    22/* HeuristicLab
    3  * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
     3 * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
    44 *
    55 * This file is part of HeuristicLab.
  • branches/ClassificationModelComparison/HeuristicLab.Problems.DataAnalysis.Views/3.4/Solution Views/RegressionEnsembleSolutionView.Designer.cs

    r7967 r10556  
    11#region License Information
    22/* HeuristicLab
    3  * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
     3 * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
    44 *
    55 * This file is part of HeuristicLab.
  • branches/ClassificationModelComparison/HeuristicLab.Problems.DataAnalysis.Views/3.4/Solution Views/RegressionEnsembleSolutionView.cs

    r7259 r10556  
    11#region License Information
    22/* HeuristicLab
    3  * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
     3 * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
    44 *
    55 * This file is part of HeuristicLab.
     
    3232    }
    3333
     34    protected override void SetEnabledStateOfControls() {
     35      base.SetEnabledStateOfControls();
     36      //loading of problemdata is currently not support for ensemble solutions
     37      loadProblemDataButton.Enabled = false;
     38      loadProblemDataButton.Visible = false;
     39    }
     40
    3441    public new RegressionEnsembleSolution Content {
    3542      get { return (RegressionEnsembleSolution)base.Content; }
     
    4754        var droppedData = e.Data.GetData(HeuristicLab.Common.Constants.DragDropDataFormat);
    4855        if (droppedData is IValueParameter) droppedData = ((IValueParameter)droppedData).Value;
     56        if (droppedData is IRegressionProblem) droppedData = ((IRegressionProblem)droppedData).ProblemData;
    4957
    5058        RegressionEnsembleProblemData ensembleProblemData = droppedData as RegressionEnsembleProblemData;
    51         RegressionProblemData problemData = droppedData as RegressionProblemData;
     59        IRegressionProblemData problemData = droppedData as IRegressionProblemData;
    5260        if (ensembleProblemData != null) {
    5361          Content.ProblemData = (RegressionEnsembleProblemData)ensembleProblemData.Clone();
  • branches/ClassificationModelComparison/HeuristicLab.Problems.DataAnalysis.Views/3.4/Solution Views/RegressionSolutionView.Designer.cs

    r7967 r10556  
    11#region License Information
    22/* HeuristicLab
    3  * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
     3 * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
    44 *
    55 * This file is part of HeuristicLab.
  • branches/ClassificationModelComparison/HeuristicLab.Problems.DataAnalysis.Views/3.4/Solution Views/RegressionSolutionView.cs

    r7259 r10556  
    11#region License Information
    22/* HeuristicLab
    3  * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
     3 * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
    44 *
    55 * This file is part of HeuristicLab.
     
    4343
    4444      var dropData = e.Data.GetData(HeuristicLab.Common.Constants.DragDropDataFormat);
    45       if (dropData is RegressionProblemData) validDragOperation = true;
     45      if (dropData is IRegressionProblemData) validDragOperation = true;
     46      else if (dropData is IRegressionProblem) validDragOperation = true;
    4647      else if (dropData is IValueParameter) {
    4748        var param = (IValueParameter)dropData;
  • branches/ClassificationModelComparison/HeuristicLab.Problems.DataAnalysis.Views/3.4/Solution Views/TimeSeriesPrognosisSolutionView.Designer.cs

    r8798 r10556  
    11#region License Information
    22/* HeuristicLab
    3  * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
     3 * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
    44 *
    55 * This file is part of HeuristicLab.
  • branches/ClassificationModelComparison/HeuristicLab.Problems.DataAnalysis.Views/3.4/Solution Views/TimeSeriesPrognosisSolutionView.cs

    r8798 r10556  
    11#region License Information
    22/* HeuristicLab
    3  * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
     3 * Copyright (C) 2002-2013 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
    44 *
    55 * This file is part of HeuristicLab.
     
    4444      var dropData = e.Data.GetData(HeuristicLab.Common.Constants.DragDropDataFormat);
    4545      if (dropData is ITimeSeriesPrognosisProblemData) validDragOperation = true;
     46      else if (dropData is ITimeSeriesPrognosisProblem) validDragOperation = true;
    4647      else if (dropData is IValueParameter) {
    4748        var param = (IValueParameter)dropData;
Note: See TracChangeset for help on using the changeset viewer.