Changeset 14467


Ignore:
Timestamp:
12/09/16 11:35:42 (3 years ago)
Author:
pfleck
Message:

#2709

  • Removed some groupboxes in ViewShortcutListView.
  • Removed unnecessary IViewChartShortcut
  • Split ScatterPlot Multi and Single in to separate contents.
  • Renamed Color-combo box in Scatterplot to "Group".
Location:
branches/DataPreprocessing Enhancements
Files:
1 deleted
11 edited
1 copied

Legend:

Unmodified
Added
Removed
  • branches/DataPreprocessing Enhancements/HeuristicLab.DataPreprocessing.Views/3.4/DataPreprocessingView.cs

    r14462 r14467  
    6161          new LineChartContent(data),
    6262          new HistogramContent(data),
    63           new ScatterPlotContent(data),
     63          new SingleScatterPlotContent(data),
    6464          new MultiScatterPlotContent(data),
    6565          new CorrelationMatrixContent(Content),
  • branches/DataPreprocessing Enhancements/HeuristicLab.DataPreprocessing.Views/3.4/ScatterPlotMultiView.cs

    r14462 r14467  
    77using HeuristicLab.Analysis.Views;
    88using HeuristicLab.Collections;
    9 using HeuristicLab.Common;
    109using HeuristicLab.Data;
    1110using HeuristicLab.MainForm;
     
    347346    private void ScatterPlotDoubleClick(object sender, EventArgs e) {
    348347      var scatterPlotControl = (ScatterPlotControl)sender;
    349       ScatterPlotContent scatterContent = new ScatterPlotContent(Content, new Cloner());  // create new content
     348      var scatterContent = new SingleScatterPlotContent(Content.PreprocessingData);
    350349      ScatterPlot scatterPlot = scatterPlotControl.Content;
    351350
  • branches/DataPreprocessing Enhancements/HeuristicLab.DataPreprocessing.Views/3.4/ScatterPlotSingleView.Designer.cs

    r14446 r14467  
    5050      this.label2 = new System.Windows.Forms.Label();
    5151      this.label1 = new System.Windows.Forms.Label();
    52       this.comboBoxColor = new System.Windows.Forms.ComboBox();
     52      this.comboBoxGroup = new System.Windows.Forms.ComboBox();
    5353      this.comboBoxYVariable = new System.Windows.Forms.ComboBox();
    5454      this.comboBoxXVariable = new System.Windows.Forms.ComboBox();
     
    7272      this.groupBox1.Controls.Add(this.label2);
    7373      this.groupBox1.Controls.Add(this.label1);
    74       this.groupBox1.Controls.Add(this.comboBoxColor);
     74      this.groupBox1.Controls.Add(this.comboBoxGroup);
    7575      this.groupBox1.Controls.Add(this.comboBoxYVariable);
    7676      this.groupBox1.Controls.Add(this.comboBoxXVariable);
     
    8787      this.label3.Location = new System.Drawing.Point(17, 141);
    8888      this.label3.Name = "label3";
    89       this.label3.Size = new System.Drawing.Size(31, 13);
     89      this.label3.Size = new System.Drawing.Size(36, 13);
    9090      this.label3.TabIndex = 3;
    91       this.label3.Text = "Color";
     91      this.label3.Text = "Group";
    9292      //
    9393      // label2
     
    109109      this.label1.Text = "X Variable";
    110110      //
    111       // comboBoxColor
     111      // comboBoxGroup
    112112      //
    113       this.comboBoxColor.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
    114       this.comboBoxColor.FormattingEnabled = true;
    115       this.comboBoxColor.Location = new System.Drawing.Point(20, 164);
    116       this.comboBoxColor.Margin = new System.Windows.Forms.Padding(3, 10, 3, 3);
    117       this.comboBoxColor.Name = "comboBoxColor";
    118       this.comboBoxColor.Size = new System.Drawing.Size(121, 21);
    119       this.comboBoxColor.TabIndex = 1;
    120       this.comboBoxColor.SelectedIndexChanged += new System.EventHandler(this.comboBox_SelectedIndexChanged);
     113      this.comboBoxGroup.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
     114      this.comboBoxGroup.FormattingEnabled = true;
     115      this.comboBoxGroup.Location = new System.Drawing.Point(20, 164);
     116      this.comboBoxGroup.Margin = new System.Windows.Forms.Padding(3, 10, 3, 3);
     117      this.comboBoxGroup.Name = "comboBoxGroup";
     118      this.comboBoxGroup.Size = new System.Drawing.Size(121, 21);
     119      this.comboBoxGroup.TabIndex = 1;
     120      this.comboBoxGroup.SelectedIndexChanged += new System.EventHandler(this.comboBox_SelectedIndexChanged);
    121121      //
    122122      // comboBoxYVariable
     
    164164    private System.Windows.Forms.ComboBox comboBoxYVariable;
    165165    private System.Windows.Forms.ComboBox comboBoxXVariable;
    166     private System.Windows.Forms.ComboBox comboBoxColor;
     166    private System.Windows.Forms.ComboBox comboBoxGroup;
    167167    private System.Windows.Forms.Label label3;
    168168  }
  • branches/DataPreprocessing Enhancements/HeuristicLab.DataPreprocessing.Views/3.4/ScatterPlotSingleView.cs

    r14446 r14467  
    3030
    3131  [View("Scatter Plot Single View")]
    32   [Content(typeof(ScatterPlotContent), true)]
     32  [Content(typeof(SingleScatterPlotContent), true)]
    3333  public partial class ScatterPlotSingleView : ItemView {
    3434
    35     public new ScatterPlotContent Content {
    36       get { return (ScatterPlotContent)base.Content; }
     35    public new SingleScatterPlotContent Content {
     36      get { return (SingleScatterPlotContent)base.Content; }
    3737      set { base.Content = value; }
    3838    }
     
    4848      comboBoxXVariable.Items.Clear();
    4949      comboBoxYVariable.Items.Clear();
    50       comboBoxColor.Items.Clear();
     50      comboBoxGroup.Items.Clear();
    5151      comboBoxXVariable.Items.AddRange(variables.ToArray());
    5252      comboBoxYVariable.Items.AddRange(variables.ToArray());
    53       comboBoxColor.Items.Add("-");
     53      comboBoxGroup.Items.Add("-");
    5454      for (int i = 0; i < Content.PreprocessingData.Columns; ++i) {
    5555        if (Content.PreprocessingData.VariableHasType<double>(i)) {
    5656          double distinctValueCount = Content.PreprocessingData.GetValues<double>(i).GroupBy(x => x).Count();
    5757          if (distinctValueCount <= 20)
    58             comboBoxColor.Items.Add(Content.PreprocessingData.GetVariableName(i));
     58            comboBoxGroup.Items.Add(Content.PreprocessingData.GetVariableName(i));
    5959        }
    6060      }
    6161
    6262      // use x and y variable from content
    63       if (Content.SelectedXVariable != null && Content.SelectedYVariable != null && Content.SelectedColorVariable != null) {
     63      if (Content.SelectedXVariable != null && Content.SelectedYVariable != null && Content.SelectedGroupVariable != null) {
    6464        comboBoxXVariable.SelectedItem = Content.SelectedXVariable;
    6565        comboBoxYVariable.SelectedItem = Content.SelectedYVariable;
    66         comboBoxColor.SelectedItem = Content.SelectedColorVariable;
     66        comboBoxGroup.SelectedItem = Content.SelectedGroupVariable;
    6767      } else {
    6868        if (variables.Count() >= 2) {
    6969          comboBoxXVariable.SelectedIndex = 0;
    7070          comboBoxYVariable.SelectedIndex = 1;
    71           comboBoxColor.SelectedIndex = 0;
     71          comboBoxGroup.SelectedIndex = 0;
    7272          UpdateScatterPlot();
    7373        }
     
    8787
    8888    private void UpdateScatterPlot() {
    89       if (comboBoxXVariable.SelectedItem != null && comboBoxYVariable.SelectedItem != null && comboBoxColor.SelectedItem != null) {
     89      if (comboBoxXVariable.SelectedItem != null && comboBoxYVariable.SelectedItem != null && comboBoxGroup.SelectedItem != null) {
    9090        var xVariable = (string)comboBoxXVariable.SelectedItem;
    9191        var yVariable = (string)comboBoxYVariable.SelectedItem;
    92         var colorVariable = (string)comboBoxColor.SelectedItem;
    93         ScatterPlot scatterPlot = Content.CreateScatterPlot(xVariable, yVariable, colorVariable);
     92        var groupVariable = (string)comboBoxGroup.SelectedItem;
     93        ScatterPlot scatterPlot = Content.CreateScatterPlot(xVariable, yVariable, groupVariable);
    9494        var vp = scatterPlot.VisualProperties;
    9595        vp.Title = string.Empty;
     
    9898
    9999        scatterPlotControl.Content = scatterPlot;
    100        
     100
    101101        //save selected x and y variable in content
    102102        this.Content.SelectedXVariable = (string)comboBoxXVariable.SelectedItem;
    103103        this.Content.SelectedYVariable = (string)comboBoxYVariable.SelectedItem;
    104         this.Content.SelectedColorVariable = (string)comboBoxColor.SelectedItem;
     104        this.Content.SelectedGroupVariable = (string)comboBoxGroup.SelectedItem;
    105105      }
    106106    }
  • branches/DataPreprocessing Enhancements/HeuristicLab.DataPreprocessing.Views/3.4/ViewShortcutListView.Designer.cs

    r14462 r14467  
    5353      this.SuspendLayout();
    5454      //
    55       // splitContainer
    56       //
    57       this.splitContainer.Size = new System.Drawing.Size(526, 364);
    58       //
    59       // itemsGroupBox
    60       //
    61       this.itemsGroupBox.Size = new System.Drawing.Size(532, 383);
    62       //
    6355      // itemsListView
    6456      //
    65       this.itemsListView.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)));
    6657      this.itemsListView.Dock = System.Windows.Forms.DockStyle.Fill;
    67       this.itemsListView.Location = new System.Drawing.Point(0, 0);
    68       this.itemsListView.Size = new System.Drawing.Size(200, 364);
    69       //
    70       // detailsGroupBox
    71       //
    72       this.detailsGroupBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)));
    73       this.detailsGroupBox.Dock = System.Windows.Forms.DockStyle.Fill;
    74       this.detailsGroupBox.Location = new System.Drawing.Point(0, 0);
    75       this.detailsGroupBox.Size = new System.Drawing.Size(322, 364);
    76       //
    77       // addButton
    78       //
    79       this.toolTip.SetToolTip(this.addButton, "Add");
    80       this.addButton.Visible = false;
    81       //
    82       // removeButton
    83       //
    84       this.toolTip.SetToolTip(this.removeButton, "Remove");
    85       this.removeButton.Visible = false;
    86       //
    87       // moveUpButton
    88       //
    89       this.toolTip.SetToolTip(this.moveUpButton, "Move Up");
    90       this.moveUpButton.Visible = false;
    91       //
    92       // moveDownButton
    93       //
    94       this.toolTip.SetToolTip(this.moveDownButton, "Move Down");
    95       this.moveDownButton.Visible = false;
    9658      //
    9759      // viewHost
    9860      //
    99       this.viewHost.Size = new System.Drawing.Size(310, 339);
     61      this.viewHost.Dock = System.Windows.Forms.DockStyle.Fill;
    10062      this.viewHost.ViewsLabelVisible = false;
    10163      //
  • branches/DataPreprocessing Enhancements/HeuristicLab.DataPreprocessing.Views/3.4/ViewShortcutListView.cs

    r14185 r14467  
    2121
    2222using System;
    23 using HeuristicLab.Common;
    2423using HeuristicLab.Core;
    2524using HeuristicLab.Core.Views;
     
    3332    public ViewShortcutListView() {
    3433      InitializeComponent();
    35       itemsGroupBox.Text = "View Shortcuts";
     34      Controls.Clear();
     35      Controls.Add(splitContainer);
     36      splitContainer.Panel1.Controls.Clear();
     37      splitContainer.Panel1.Controls.Add(itemsListView);
     38      splitContainer.Panel2.Controls.Clear();
     39      splitContainer.Panel2.Controls.Add(viewHost);
    3640    }
    3741
     
    4246        IViewShortcut item = itemsListView.SelectedItems[0].Tag as IViewShortcut;
    4347        if (item != null) {
     48          item = (IViewShortcut)item.Clone();
    4449
    45           if (item is IViewChartShortcut)
    46             item = (IViewChartShortcut)item.Clone(new Cloner());
    47 
    48           IContentView view = MainFormManager.MainForm.ShowContent(item);
     50          var view = MainFormManager.MainForm.ShowContent(item);
    4951          if (view != null) {
    5052            view.ReadOnly = ReadOnly;
  • branches/DataPreprocessing Enhancements/HeuristicLab.DataPreprocessing/3.4/Content/CorrelationMatrixContent.cs

    r14185 r14467  
    2727namespace HeuristicLab.DataPreprocessing {
    2828  [Item("Feature Correlation Matrix", "Represents the feature correlation matrix.")]
    29   public class CorrelationMatrixContent : Item, IViewChartShortcut {
     29  public class CorrelationMatrixContent : Item, IViewShortcut {
    3030    public static new Image StaticItemImage {
    3131      get { return HeuristicLab.Common.Resources.VSImageLibrary.Gradient; }
  • branches/DataPreprocessing Enhancements/HeuristicLab.DataPreprocessing/3.4/Content/DataCompletenessChartContent.cs

    r13508 r14467  
    66  [Item("DataCompletenessChart", "Represents a datacompleteness chart.")]
    77
    8   public class DataCompletenessChartContent : Item, IViewChartShortcut {
     8  public class DataCompletenessChartContent : Item, IViewShortcut {
    99    public static new Image StaticItemImage {
    1010      get { return HeuristicLab.Common.Resources.VSImageLibrary.EditBrightnessContrast; }
  • branches/DataPreprocessing Enhancements/HeuristicLab.DataPreprocessing/3.4/Content/PreprocessingChartContent.cs

    r14459 r14467  
    2929namespace HeuristicLab.DataPreprocessing {
    3030  [Item("PreprocessingChart", "Represents a preprocessing chart.")]
    31   public class PreprocessingChartContent : Item, IViewChartShortcut {
     31  public class PreprocessingChartContent : Item, IViewShortcut {
    3232    public static new Image StaticItemImage {
    3333      get { return HeuristicLab.Common.Resources.VSImageLibrary.PieChart; }
  • branches/DataPreprocessing Enhancements/HeuristicLab.DataPreprocessing/3.4/Content/ScatterPlotContent.cs

    r14446 r14467  
    2121
    2222using System.Collections.Generic;
    23 using System.Drawing;
    2423using System.Linq;
    2524using HeuristicLab.Analysis;
    2625using HeuristicLab.Common;
    27 using HeuristicLab.Core;
    2826
    2927namespace HeuristicLab.DataPreprocessing {
    3028
    31   [Item("ScatterPlot", "Represents a scatter plot.")]
    32   public class ScatterPlotContent : PreprocessingChartContent {
    33 
    34     public string SelectedXVariable { get; set; }
    35     public string SelectedYVariable { get; set; }
    36     public string SelectedColorVariable { get; set; }
    37 
    38     public ScatterPlotContent(IFilteredPreprocessingData preprocessingData)
     29  public abstract class ScatterPlotContent : PreprocessingChartContent {
     30    protected ScatterPlotContent(IFilteredPreprocessingData preprocessingData)
    3931      : base(preprocessingData) {
    4032    }
    4133
    42     public ScatterPlotContent(ScatterPlotContent content, Cloner cloner)
     34    protected ScatterPlotContent(ScatterPlotContent content, Cloner cloner)
    4335      : base(content, cloner) {
    44       this.SelectedXVariable = content.SelectedXVariable;
    45       this.SelectedYVariable = content.SelectedYVariable;
    46       this.SelectedColorVariable = content.SelectedColorVariable;
    47     }
    48 
    49     public static new Image StaticItemImage {
    50       get { return HeuristicLab.Common.Resources.VSImageLibrary.Performance; }
    51     }
    52 
    53     public override IDeepCloneable Clone(Cloner cloner) {
    54       return new ScatterPlotContent(this, cloner);
    5536    }
    5637
  • branches/DataPreprocessing Enhancements/HeuristicLab.DataPreprocessing/3.4/Content/SingleScatterPlotContent.cs

    r14452 r14467  
    2020#endregion
    2121
    22 using System.Collections.Generic;
    2322using System.Drawing;
    24 using System.Linq;
    25 using HeuristicLab.Analysis;
    2623using HeuristicLab.Common;
    2724using HeuristicLab.Core;
     
    3027
    3128  [Item("ScatterPlot", "Represents a scatter plot.")]
    32   public class ScatterPlotContent : PreprocessingChartContent {
     29  public class SingleScatterPlotContent : ScatterPlotContent {
    3330
    3431    public string SelectedXVariable { get; set; }
    3532    public string SelectedYVariable { get; set; }
    36     public string SelectedColorVariable { get; set; }
     33    public string SelectedGroupVariable { get; set; }
    3734
    38     public ScatterPlotContent(IFilteredPreprocessingData preprocessingData)
     35    public SingleScatterPlotContent(IFilteredPreprocessingData preprocessingData)
    3936      : base(preprocessingData) {
    4037    }
    4138
    42     public ScatterPlotContent(ScatterPlotContent content, Cloner cloner)
     39    public SingleScatterPlotContent(SingleScatterPlotContent content, Cloner cloner)
    4340      : base(content, cloner) {
    4441      this.SelectedXVariable = content.SelectedXVariable;
    4542      this.SelectedYVariable = content.SelectedYVariable;
    46       this.SelectedColorVariable = content.SelectedColorVariable;
     43      this.SelectedGroupVariable = content.SelectedGroupVariable;
    4744    }
    4845
     
    5249
    5350    public override IDeepCloneable Clone(Cloner cloner) {
    54       return new ScatterPlotContent(this, cloner);
    55     }
    56 
    57     public ScatterPlot CreateScatterPlot(string variableNameX, string variableNameY, string variableNameColor = "-") {
    58       ScatterPlot scatterPlot = new ScatterPlot();
    59 
    60       IList<double> xValues = PreprocessingData.GetValues<double>(PreprocessingData.GetColumnIndex(variableNameX));
    61       IList<double> yValues = PreprocessingData.GetValues<double>(PreprocessingData.GetColumnIndex(variableNameY));
    62       if (variableNameColor == null || variableNameColor == "-") {
    63         List<Point2D<double>> points = new List<Point2D<double>>();
    64 
    65         for (int i = 0; i < xValues.Count; i++) {
    66           Point2D<double> point = new Point2D<double>(xValues[i], yValues[i]);
    67           points.Add(point);
    68         }
    69 
    70         ScatterPlotDataRow scdr = new ScatterPlotDataRow(variableNameX + " - " + variableNameY, "", points);
    71         scdr.VisualProperties.IsVisibleInLegend = false;
    72         scatterPlot.Rows.Add(scdr);
    73 
    74       } else {
    75         var colorValues = PreprocessingData.GetValues<double>(PreprocessingData.GetColumnIndex(variableNameColor));
    76         var data = xValues.Zip(yValues, (x, y) => new { x, y }).Zip(colorValues, (v, c) => new { v.x, v.y, c }).ToList();
    77         var gradients = ColorGradient.Colors;
    78         int curGradient = 0;
    79         int numColors = colorValues.Distinct().Count();
    80         foreach (var colorValue in colorValues.Distinct()) {
    81           var values = data.Where(x => x.c == colorValue);
    82           var row = new ScatterPlotDataRow(
    83             variableNameX + " - " + variableNameY + " (" + colorValue + ")",
    84             "",
    85             values.Select(v => new Point2D<double>(v.x, v.y)),
    86             new ScatterPlotDataRowVisualProperties() { Color = gradients[curGradient] });
    87           curGradient += gradients.Count / numColors;
    88           scatterPlot.Rows.Add(row);
    89         }
    90       }
    91       return scatterPlot;
     51      return new SingleScatterPlotContent(this, cloner);
    9252    }
    9353  }
  • branches/DataPreprocessing Enhancements/HeuristicLab.DataPreprocessing/3.4/HeuristicLab.DataPreprocessing-3.4.csproj

    r14462 r14467  
    121121  <ItemGroup>
    122122    <Compile Include="Content\MultiScatterPlotContent.cs" />
     123    <Compile Include="Content\SingleScatterPlotContent.cs" />
    123124    <Compile Include="Content\ScatterPlotContent.cs" />
    124125    <Compile Include="Content\DataCompletenessChartContent.cs" />
     
    127128    <Compile Include="Content\PreprocessingChartContent.cs" />
    128129    <Compile Include="Data\PreprocessingData.cs" />
    129     <Compile Include="Content\IViewChartShortcut.cs" />
    130130    <Compile Include="Data\IFilteredPreprocessingData.cs" />
    131131    <Compile Include="Content\CorrelationMatrixContent.cs" />
Note: See TracChangeset for help on using the changeset viewer.