- Timestamp:
- 01/12/16 17:05:37 (9 years ago)
- Location:
- trunk/sources
- Files:
-
- 1 added
- 1 deleted
- 49 edited
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.DataPreprocessing.Views/3.4/CheckedFilterCollectionView.Designer.cs
r10785 r13502 1 using HeuristicLab.Core.Views; 2 using HeuristicLab.DataPreprocessing.Filter; 3 namespace HeuristicLab.DataPreprocessing.Views 4 { 5 partial class CheckedFilterCollectionView 6 { 1 #region License Information 2 /* HeuristicLab 3 * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 * 5 * This file is part of HeuristicLab. 6 * 7 * HeuristicLab is free software: you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License as published by 9 * the Free Software Foundation, either version 3 of the License, or 10 * (at your option) any later version. 11 * 12 * HeuristicLab is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>. 19 */ 20 #endregion 21 22 namespace HeuristicLab.DataPreprocessing.Views { 23 partial class CheckedFilterCollectionView { 7 24 /// <summary> 8 25 /// Required designer variable. … … 14 31 /// </summary> 15 32 /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> 16 protected override void Dispose(bool disposing) 17 { 18 if (disposing && (components != null)) 19 { 33 protected override void Dispose(bool disposing) { 34 if (disposing && (components != null)) { 20 35 components.Dispose(); 21 36 } … … 29 44 /// the contents of this method with the code editor. 30 45 /// </summary> 31 private void InitializeComponent() 32 { 46 private void InitializeComponent() { 33 47 components = new System.ComponentModel.Container(); 34 48 this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; -
trunk/sources/HeuristicLab.DataPreprocessing.Views/3.4/CheckedFilterCollectionView.cs
r11114 r13502 1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Drawing; 5 using System.Linq; 6 using System.Text; 1 #region License Information 2 /* HeuristicLab 3 * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 * 5 * This file is part of HeuristicLab. 6 * 7 * HeuristicLab is free software: you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License as published by 9 * the Free Software Foundation, either version 3 of the License, or 10 * (at your option) any later version. 11 * 12 * HeuristicLab is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>. 19 */ 20 #endregion 21 22 using System; 7 23 using System.Windows.Forms; 24 using HeuristicLab.Core; 8 25 using HeuristicLab.Core.Views; 9 using HeuristicLab. Collections;26 using HeuristicLab.DataPreprocessing.Filter; 10 27 using HeuristicLab.MainForm; 11 using HeuristicLab.Core;12 using HeuristicLab.DataPreprocessing.Filter;13 28 14 namespace HeuristicLab.DataPreprocessing.Views 15 { 29 namespace HeuristicLab.DataPreprocessing.Views { 16 30 [View("CheckedFilterCollection View")] 17 31 [Content(typeof(ICheckedItemCollection<>), false)] 18 32 [Content(typeof(CheckedItemCollection<>), false)] 19 public partial class CheckedFilterCollectionView : CheckedItemCollectionView<IFilter> 20 { 21 public CheckedFilterCollectionView() 22 { 33 public partial class CheckedFilterCollectionView : CheckedItemCollectionView<IFilter> { 34 public CheckedFilterCollectionView() { 23 35 InitializeComponent(); 24 36 } 25 37 26 protected override void addButton_Click(object sender, EventArgs e) 27 { 38 protected override void addButton_Click(object sender, EventArgs e) { 28 39 IFilter filter = new ComparisonFilter(); 29 40 Content.Add(filter); -
trunk/sources/HeuristicLab.DataPreprocessing.Views/3.4/DataCompletenessView.Designer.cs
r10979 r13502 1 namespace HeuristicLab.DataPreprocessing.Views { 2 partial class DataCompletenessView 3 { 1 #region License Information 2 /* HeuristicLab 3 * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 * 5 * This file is part of HeuristicLab. 6 * 7 * HeuristicLab is free software: you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License as published by 9 * the Free Software Foundation, either version 3 of the License, or 10 * (at your option) any later version. 11 * 12 * HeuristicLab is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>. 19 */ 20 #endregion 21 22 namespace HeuristicLab.DataPreprocessing.Views { 23 partial class DataCompletenessView { 4 24 /// <summary> 5 25 /// Required designer variable. … … 34 54 // chart 35 55 // 36 this.chart.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 37 | System.Windows.Forms.AnchorStyles.Left) 56 this.chart.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 57 | System.Windows.Forms.AnchorStyles.Left) 38 58 | System.Windows.Forms.AnchorStyles.Right))); 39 59 chartArea1.Name = "ChartArea1"; -
trunk/sources/HeuristicLab.DataPreprocessing.Views/3.4/DataCompletenessView.cs
r11002 r13502 1 using System; 1 #region License Information 2 /* HeuristicLab 3 * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 * 5 * This file is part of HeuristicLab. 6 * 7 * HeuristicLab is free software: you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License as published by 9 * the Free Software Foundation, either version 3 of the License, or 10 * (at your option) any later version. 11 * 12 * HeuristicLab is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>. 19 */ 20 #endregion 21 22 using System; 23 using System.Collections.Generic; 24 using System.Drawing; 2 25 using System.Windows.Forms; 3 using HeuristicLab.Analysis; 26 using System.Windows.Forms.DataVisualization.Charting; 27 using HeuristicLab.Core.Views; 4 28 using HeuristicLab.MainForm; 5 using HeuristicLab.Core.Views;6 using System.Collections.Generic;7 using HeuristicLab.DataPreprocessing.Implementations;8 using System.Drawing;9 using System.Windows.Forms.DataVisualization.Charting;10 29 11 30 namespace HeuristicLab.DataPreprocessing.Views { … … 13 32 [View("Histogram View")] 14 33 [Content(typeof(DataCompletenessChartContent), true)] 15 public partial class DataCompletenessView : ItemView 16 { 34 public partial class DataCompletenessView : ItemView { 17 35 18 36 //list of columns, bool indicates wether the cell is a missing value or not … … 22 40 private static Color colorMissingVal = Color.Orange; 23 41 24 public new DataCompletenessChartContent Content 25 { 42 public new DataCompletenessChartContent Content { 26 43 get { return (DataCompletenessChartContent)base.Content; } 27 44 set { base.Content = value; } … … 29 46 30 47 31 public DataCompletenessView() 32 { 48 public DataCompletenessView() { 33 49 InitializeComponent(); 34 50 } 35 51 36 protected override void OnContentChanged() 37 { 52 protected override void OnContentChanged() { 38 53 base.OnContentChanged(); 39 if (Content != null) 40 { 54 if (Content != null) { 41 55 InitData(); 42 56 } 43 57 } 44 58 45 private void InitData() 46 { 59 private void InitData() { 47 60 IDictionary<int, IList<int>> missingValueIndices = Content.SearchLogic.GetMissingValueIndices(); 48 for (int i = 0; i < Content.SearchLogic.Columns; i++) 49 { 61 for (int i = 0; i < Content.SearchLogic.Columns; i++) { 50 62 //append column 51 63 List<bool> column = new List<bool>(); … … 60 72 } 61 73 62 private void PrepareChart() 63 { 74 private void PrepareChart() { 64 75 chart.Titles.Add("DataCompletenessChart"); 65 76 chart.EnableDoubleClickResetsZoom = true; … … 74 85 //custom x axis label 75 86 double from = 0.5; 76 foreach (String columnName in Content.SearchLogic.VariableNames) 77 { 87 foreach (String columnName in Content.SearchLogic.VariableNames) { 78 88 double to = from + 1; 79 89 chart.ChartAreas[0].AxisX.CustomLabels.Add(from, to, columnName); … … 84 94 } 85 95 86 private void CreateSeries(List<List<int>> yValuesPerColumn) 87 { 96 private void CreateSeries(List<List<int>> yValuesPerColumn) { 88 97 //prepare series 89 98 int seriesCount = DetermineSeriesCount(yValuesPerColumn); 90 for (int i = 0; i < seriesCount; i++) 91 { 99 for (int i = 0; i < seriesCount; i++) { 92 100 chart.Series.Add(CreateSeriesName(i)); 93 101 Series series = chart.Series[CreateSeriesName(i)]; … … 95 103 series.IsVisibleInLegend = false; 96 104 series["PointWidth"] = "1.0"; 97 if (i % 2 == 0) 98 { 105 if (i % 2 == 0) { 99 106 if (i == 0) //show legend for non missing values only once 100 107 series.IsVisibleInLegend = true; 101 108 series.Color = colorNonMissingVal; 102 } 103 else 104 { 109 } else { 105 110 if (i == 1) //show legend for missing values only once 106 111 series.IsVisibleInLegend = true; … … 109 114 } 110 115 //fill series 111 for (int i = 0; i < yValuesPerColumn.Count; i++) 112 { 116 for (int i = 0; i < yValuesPerColumn.Count; i++) { 113 117 List<int> column = yValuesPerColumn[i]; 114 118 for (int j = 0; j < seriesCount; j++) { … … 122 126 } 123 127 124 private String CreateSeriesName(int index) 125 { 128 private String CreateSeriesName(int index) { 126 129 if (index == 0) 127 130 return "non-missing value"; … … 132 135 133 136 #region data_preparation_for_chartseries 134 private int DetermineSeriesCount(List<List<int>> yValuesPerColumn) 135 { 137 private int DetermineSeriesCount(List<List<int>> yValuesPerColumn) { 136 138 int highest = 0; 137 139 foreach (List<int> values in yValuesPerColumn) { … … 141 143 } 142 144 143 private List<List<int>> ProcessMatrixForCharting(List<List<bool>> matrix, IDictionary<int, IList<int>> missingValueIndices) 144 { 145 private List<List<int>> ProcessMatrixForCharting(List<List<bool>> matrix, IDictionary<int, IList<int>> missingValueIndices) { 145 146 List<List<int>> columnsYValues = new List<List<int>>(); 146 for (int i =0; i < matrix.Count; i++) //column147 for (int i = 0; i < matrix.Count; i++) //column 147 148 { 148 149 List<int> yValues = new List<int>(); … … 150 151 bool missingState = false; 151 152 int valueCount = 0; 152 for (int j = 0; j < column.Count; j++ ) { 153 if (missingState == missingValueIndices[i].Contains(j)) 154 { 153 for (int j = 0; j < column.Count; j++) { 154 if (missingState == missingValueIndices[i].Contains(j)) { 155 155 valueCount++; 156 } 157 else 158 { 156 } else { 159 157 yValues.Add(valueCount); 160 158 valueCount = 1; -
trunk/sources/HeuristicLab.DataPreprocessing.Views/3.4/DataPreprocessingView.cs
r12676 r13502 30 30 [View("DataPreprocessing View")] 31 31 [Content(typeof(PreprocessingContext), true)] 32 [Content(typeof(IPreprocessingContext), false)]33 32 public partial class DataPreprocessingView : ItemView { 34 33 … … 37 36 } 38 37 39 public new IPreprocessingContext Content {40 get { return ( IPreprocessingContext)base.Content; }38 public new PreprocessingContext Content { 39 get { return (PreprocessingContext)base.Content; } 41 40 set { base.Content = value; } 42 41 } … … 60 59 new CorrelationMatrixContent(Content), 61 60 new DataCompletenessChartContent(searchLogic), 62 61 63 62 new FilterContent(filterLogic), 64 63 new ManipulationContent(manipulationLogic, searchLogic, filterLogic), … … 94 93 viewShortcutListView.Enabled = Content != null; 95 94 applyInNewTabButton.Enabled = Content != null; 96 exportProblemButton.Enabled = Content != null && Content. Problem != null;95 exportProblemButton.Enabled = Content != null && Content.CanExport; 97 96 undoButton.Enabled = Content != null; 98 97 } 99 98 100 99 private void exportProblemButton_Click(object sender, EventArgs e) { 101 var problem = Content.ExportProblem(); 100 // ToDo: select one export probability 101 var problem = Content.Export(); 102 102 103 103 var saveFileDialog = new SaveFileDialog { -
trunk/sources/HeuristicLab.DataPreprocessing.Views/3.4/DataPreprocessorStarter.cs
r12676 r13502 21 21 22 22 using System.Windows.Forms; 23 using HeuristicLab.Core; 23 24 using HeuristicLab.MainForm; 24 25 using HeuristicLab.Optimization; … … 33 34 IDataAnalysisProblem problem; 34 35 GetMostOuterContent(currentView as Control, out algorithm, out problem); 35 var context = new PreprocessingContext( problemData, algorithm, problem);36 var context = new PreprocessingContext(algorithm ?? problem ?? problemData as IItem); 36 37 MainFormManager.MainForm.ShowContent(context); 37 38 } … … 42 43 43 44 while (control != null) { 44 IContentViewcontentView = control as IContentView;45 var contentView = control as IContentView; 45 46 if (contentView != null) { 46 47 var newAlgorithm = contentView.Content as IAlgorithm; -
trunk/sources/HeuristicLab.DataPreprocessing.Views/3.4/FilterView.Designer.cs
r11044 r13502 1 namespace HeuristicLab.DataPreprocessing.Views 2 { 3 partial class FilterView 4 { 1 #region License Information 2 /* HeuristicLab 3 * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 * 5 * This file is part of HeuristicLab. 6 * 7 * HeuristicLab is free software: you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License as published by 9 * the Free Software Foundation, either version 3 of the License, or 10 * (at your option) any later version. 11 * 12 * HeuristicLab is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>. 19 */ 20 #endregion 21 22 namespace HeuristicLab.DataPreprocessing.Views { 23 partial class FilterView { 5 24 /// <summary> 6 25 /// Required designer variable. … … 12 31 /// </summary> 13 32 /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> 14 protected override void Dispose(bool disposing) 15 { 16 if (disposing && (components != null)) 17 { 33 protected override void Dispose(bool disposing) { 34 if (disposing && (components != null)) { 18 35 components.Dispose(); 19 36 } … … 27 44 /// the contents of this method with the code editor. 28 45 /// </summary> 29 private void InitializeComponent() 30 { 46 private void InitializeComponent() { 31 47 this.groupBoxFilter = new System.Windows.Forms.GroupBox(); 32 48 this.checkedFilterView = new HeuristicLab.DataPreprocessing.Views.CheckedFilterCollectionView(); … … 53 69 // groupBoxFilter 54 70 // 55 this.groupBoxFilter.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 71 this.groupBoxFilter.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 56 72 | System.Windows.Forms.AnchorStyles.Right))); 57 73 this.groupBoxFilter.Controls.Add(this.checkedFilterView); … … 77 93 // groupBoxFilterInfo 78 94 // 79 this.groupBoxFilterInfo.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 95 this.groupBoxFilterInfo.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 80 96 | System.Windows.Forms.AnchorStyles.Right))); 81 97 this.groupBoxFilterInfo.Controls.Add(this.lblPercentage); … … 103 119 // tbPercentage 104 120 // 105 this.tbPercentage.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 121 this.tbPercentage.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 106 122 | System.Windows.Forms.AnchorStyles.Right))); 107 123 this.tbPercentage.Enabled = false; … … 113 129 // tbFiltered 114 130 // 115 this.tbRemaining.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 131 this.tbRemaining.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 116 132 | System.Windows.Forms.AnchorStyles.Right))); 117 133 this.tbRemaining.Enabled = false; … … 132 148 // tbTotal 133 149 // 134 this.tbTotal.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 150 this.tbTotal.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 135 151 | System.Windows.Forms.AnchorStyles.Right))); 136 152 this.tbTotal.Enabled = false; … … 193 209 // groupBox1 194 210 // 195 this.groupBox1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 211 this.groupBox1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 196 212 | System.Windows.Forms.AnchorStyles.Right))); 197 213 this.groupBox1.Controls.Add(this.label4); -
trunk/sources/HeuristicLab.DataPreprocessing.Views/3.4/FilterView.cs
r11044 r13502 1 using System; 1 #region License Information 2 /* HeuristicLab 3 * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 * 5 * This file is part of HeuristicLab. 6 * 7 * HeuristicLab is free software: you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License as published by 9 * the Free Software Foundation, either version 3 of the License, or 10 * (at your option) any later version. 11 * 12 * HeuristicLab is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>. 19 */ 20 #endregion 21 22 using System; 2 23 using System.Collections.Generic; 3 24 using System.Linq; 4 using System.Windows.Forms;5 25 using HeuristicLab.Collections; 6 using HeuristicLab.Core;7 26 using HeuristicLab.Core.Views; 8 using HeuristicLab.Data;9 27 using HeuristicLab.DataPreprocessing.Filter; 10 28 using HeuristicLab.MainForm; … … 22 40 } 23 41 24 private void InitData() 25 { 26 checkedFilterView.Content = Content.Filters; 27 checkedFilterView.Content.ItemsAdded += Content_ItemsAdded; 28 checkedFilterView.Content.ItemsRemoved += Content_ItemsRemoved; 29 checkedFilterView.Content.CheckedItemsChanged += Content_CheckedItemsChanged; 42 private void InitData() { 43 checkedFilterView.Content = Content.Filters; 44 checkedFilterView.Content.ItemsAdded += Content_ItemsAdded; 45 checkedFilterView.Content.ItemsRemoved += Content_ItemsRemoved; 46 checkedFilterView.Content.CheckedItemsChanged += Content_CheckedItemsChanged; 30 47 } 31 48 … … 35 52 } 36 53 37 protected override void OnContentChanged() 38 { 54 protected override void OnContentChanged() { 39 55 base.OnContentChanged(); 40 if (Content != null) 41 { 56 if (Content != null) { 42 57 InitData(); 43 58 UpdateFilterInfo(); … … 46 61 47 62 private void Content_CheckedItemsChanged(object sender, Collections.CollectionItemsChangedEventArgs<IFilter> e) { 48 if (Content != null) 49 { 50 foreach (IFilter filter in e.Items) 51 { 63 if (Content != null) { 64 foreach (IFilter filter in e.Items) { 52 65 filter.Active = checkedFilterView.Content.ItemChecked(filter); 53 66 } … … 57 70 58 71 private void UpdateFilterInfo() { 59 60 61 62 63 64 65 72 List<IFilter> filters = Content.Filters.ToList(); 73 int activeFilters = filters.Count(c => c.Active); 74 applyFilterButton.Enabled = (activeFilters > 0); 75 rBtnAnd.Enabled = (activeFilters > 0); 76 rBtnOr.Enabled = (activeFilters > 0); 77 Content.FilterLogic.Reset(); 78 bool[] result = Content.FilterLogic.Preview(filters, rBtnAnd.Checked); 66 79 67 80 int filteredCnt = result.Count(c => !c); 68 81 69 70 71 72 82 tbRemaining.Text = filteredCnt.ToString(); 83 double percentage = result.Length == 0 ? 0.0 : filteredCnt * 100 / (double)result.Length; 84 tbPercentage.Text = String.Format("{0:0.0000}%", percentage); 85 tbTotal.Text = result.Length.ToString(); 73 86 } 74 87 75 88 private void applyFilterButton_Click(object sender, EventArgs e) { 76 if (Content != null) 77 { 89 if (Content != null) { 78 90 List<IFilter> filters = Content.Filters.ToList(); 79 91 //apply filters … … 81 93 //deactivate checked filters 82 94 filters = checkedFilterView.Content.CheckedItems.ToList(); 83 foreach (IFilter filter in filters) 84 { 95 foreach (IFilter filter in filters) { 85 96 checkedFilterView.Content.SetItemCheckedState(filter, false); 86 97 filter.Active = false; … … 92 103 //whenever a new filter is added the preprocessing data is set to the filter 93 104 private void Content_ItemsAdded(object sender, Collections.CollectionItemsChangedEventArgs<IFilter> e) { 94 if (Content != null) 95 { 96 foreach (IFilter filter in e.Items) 97 { 105 if (Content != null) { 106 foreach (IFilter filter in e.Items) { 98 107 filter.ConstrainedValue = Content.FilterLogic.PreprocessingData; 99 108 } … … 102 111 103 112 private void Content_ItemsRemoved(object sender, CollectionItemsChangedEventArgs<IFilter> e) { 104 if (Content != null) 105 { 113 if (Content != null) { 106 114 UpdateFilterInfo(); 107 115 } 108 116 } 109 117 110 private void rBtnAnd_CheckedChanged(object sender, EventArgs e) 111 { 112 if (Content != null) 113 { 118 private void rBtnAnd_CheckedChanged(object sender, EventArgs e) { 119 if (Content != null) { 114 120 UpdateFilterInfo(); 115 121 Content.IsAndCombination = rBtnAnd.Checked; -
trunk/sources/HeuristicLab.DataPreprocessing.Views/3.4/HeuristicLab.DataPreprocessing.Views-3.4.csproj
r13252 r13502 97 97 </ItemGroup> 98 98 <ItemGroup> 99 <Compile Include="DataPreprocessingMenuItem.cs" /> 99 100 <Compile Include="PreprocessingFeatureCorrelationView.cs"> 100 101 <SubType>UserControl</SubType> … … 304 305 <Name>HeuristicLab.Optimization-3.3</Name> 305 306 <Private>False</Private> 307 </ProjectReference> 308 <ProjectReference Include="..\..\HeuristicLab.Optimizer\3.3\HeuristicLab.Optimizer-3.3.csproj"> 309 <Project>{C664305E-497C-4533-A140-967DEDB05C19}</Project> 310 <Name>HeuristicLab.Optimizer-3.3</Name> 306 311 </ProjectReference> 307 312 <ProjectReference Include="..\..\HeuristicLab.PluginInfrastructure\3.3\HeuristicLab.PluginInfrastructure-3.3.csproj"> -
trunk/sources/HeuristicLab.DataPreprocessing.Views/3.4/HistogramView.Designer.cs
r12676 r13502 1 namespace HeuristicLab.DataPreprocessing.Views { 1 #region License Information 2 /* HeuristicLab 3 * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 * 5 * This file is part of HeuristicLab. 6 * 7 * HeuristicLab is free software: you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License as published by 9 * the Free Software Foundation, either version 3 of the License, or 10 * (at your option) any later version. 11 * 12 * HeuristicLab is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>. 19 */ 20 #endregion 21 22 namespace HeuristicLab.DataPreprocessing.Views { 2 23 partial class HistogramView { 3 24 /// <summary> -
trunk/sources/HeuristicLab.DataPreprocessing.Views/3.4/HistogramView.cs
r12676 r13502 19 19 */ 20 20 #endregion 21 21 22 using System; 22 using System.Windows.Forms;23 23 using HeuristicLab.Analysis; 24 24 using HeuristicLab.MainForm; -
trunk/sources/HeuristicLab.DataPreprocessing.Views/3.4/LineChartView.Designer.cs
r10736 r13502 1 namespace HeuristicLab.DataPreprocessing.Views { 1 #region License Information 2 /* HeuristicLab 3 * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 * 5 * This file is part of HeuristicLab. 6 * 7 * HeuristicLab is free software: you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License as published by 9 * the Free Software Foundation, either version 3 of the License, or 10 * (at your option) any later version. 11 * 12 * HeuristicLab is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>. 19 */ 20 #endregion 21 22 namespace HeuristicLab.DataPreprocessing.Views { 2 23 partial class LineChartView { 3 24 /// <summary> -
trunk/sources/HeuristicLab.DataPreprocessing.Views/3.4/LineChartView.cs
r12012 r13502 21 21 22 22 using System; 23 using System.Windows.Forms;24 23 using HeuristicLab.Analysis; 25 24 using HeuristicLab.MainForm; … … 46 45 private void allInOneCheckBox_CheckedChanged(object sender, EventArgs e) { 47 46 Content.AllInOneMode = allInOneCheckBox.Checked; 48 47 49 48 GenerateChart(); 50 49 } 51 50 52 protected override void OnContentChanged() 53 { 51 protected override void OnContentChanged() { 54 52 base.OnContentChanged(); 55 if (Content != null) 56 { 53 if (Content != null) { 57 54 allInOneCheckBox.Checked = Content.AllInOneMode; 58 55 } -
trunk/sources/HeuristicLab.DataPreprocessing.Views/3.4/ManipulationView.Designer.cs
r12676 r13502 1 namespace HeuristicLab.DataPreprocessing.Views { 1 #region License Information 2 /* HeuristicLab 3 * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 * 5 * This file is part of HeuristicLab. 6 * 7 * HeuristicLab is free software: you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License as published by 9 * the Free Software Foundation, either version 3 of the License, or 10 * (at your option) any later version. 11 * 12 * HeuristicLab is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>. 19 */ 20 #endregion 21 22 namespace HeuristicLab.DataPreprocessing.Views { 2 23 partial class ManipulationView { 3 24 /// <summary> … … 91 112 // lstMethods 92 113 // 93 this.lstMethods.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 114 this.lstMethods.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 94 115 | System.Windows.Forms.AnchorStyles.Right))); 95 116 this.lstMethods.FormattingEnabled = true; … … 124 145 // grpBoxData 125 146 // 126 this.grpBoxData.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 147 this.grpBoxData.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 127 148 | System.Windows.Forms.AnchorStyles.Right))); 128 149 this.grpBoxData.Controls.Add(this.tabsData); … … 138 159 // tabsData 139 160 // 140 this.tabsData.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 161 this.tabsData.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 141 162 | System.Windows.Forms.AnchorStyles.Right))); 142 163 this.tabsData.Controls.Add(this.tabPage1); … … 416 437 // grpBoxPreview 417 438 // 418 this.grpBoxPreview.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 419 | System.Windows.Forms.AnchorStyles.Left) 439 this.grpBoxPreview.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 440 | System.Windows.Forms.AnchorStyles.Left) 420 441 | System.Windows.Forms.AnchorStyles.Right))); 421 442 this.grpBoxPreview.Controls.Add(this.tabsPreview); … … 431 452 // tabsPreview 432 453 // 433 this.tabsPreview.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 454 this.tabsPreview.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) 434 455 | System.Windows.Forms.AnchorStyles.Right))); 435 456 this.tabsPreview.Controls.Add(this.tabPreviewInactive); -
trunk/sources/HeuristicLab.DataPreprocessing.Views/3.4/PreprocessingChartView.Designer.cs
r12012 r13502 20 20 #endregion 21 21 22 using HeuristicLab.Data;23 22 namespace HeuristicLab.DataPreprocessing.Views { 24 23 partial class PreprocessingChartView { … … 65 64 // tableLayoutPanel 66 65 // 67 this.tableLayoutPanel.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 68 | System.Windows.Forms.AnchorStyles.Left) 66 this.tableLayoutPanel.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 67 | System.Windows.Forms.AnchorStyles.Left) 69 68 | System.Windows.Forms.AnchorStyles.Right))); 70 69 this.tableLayoutPanel.AutoScroll = true; … … 82 81 // checkedItemList 83 82 // 84 this.checkedItemList.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 83 this.checkedItemList.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 85 84 | System.Windows.Forms.AnchorStyles.Left))); 86 85 this.checkedItemList.Caption = "View"; -
trunk/sources/HeuristicLab.DataPreprocessing.Views/3.4/PreprocessingChartView.cs
r12676 r13502 28 28 using HeuristicLab.Core.Views; 29 29 using HeuristicLab.Data; 30 using HeuristicLab.DataPreprocessing.Implementations;31 30 using HeuristicLab.MainForm; 32 31 33 32 namespace HeuristicLab.DataPreprocessing.Views { 34 35 33 [View("Preprocessing Chart View")] 36 34 [Content(typeof(PreprocessingChartContent), false)] -
trunk/sources/HeuristicLab.DataPreprocessing.Views/3.4/PreprocessingCheckedItemListView.cs
r12012 r13502 22 22 #endregion 23 23 24 using System.Windows.Forms;25 24 using HeuristicLab.Core; 26 25 using HeuristicLab.Core.Views; -
trunk/sources/HeuristicLab.DataPreprocessing.Views/3.4/PreprocessingDataTableView.Designer.cs
r12012 r13502 20 20 #endregion 21 21 22 namespace HeuristicLab.DataPreprocessing.Views 23 { 22 namespace HeuristicLab.DataPreprocessing.Views { 24 23 partial class PreprocessingDataTableView { 25 24 /// <summary> … … 57 56 // chart 58 57 // 59 this.chart.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 60 | System.Windows.Forms.AnchorStyles.Left) 58 this.chart.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 59 | System.Windows.Forms.AnchorStyles.Left) 61 60 | System.Windows.Forms.AnchorStyles.Right))); 62 61 this.chart.BorderlineColor = System.Drawing.Color.Black; -
trunk/sources/HeuristicLab.DataPreprocessing.Views/3.4/PreprocessingDataTableView.cs
r12676 r13502 26 26 using System.Windows.Forms; 27 27 using System.Windows.Forms.DataVisualization.Charting; 28 using HeuristicLab.Analysis; 29 using HeuristicLab.Analysis.Views; 28 30 using HeuristicLab.Collections; 29 31 using HeuristicLab.Core.Views; 30 using HeuristicLab.DataPreprocessing.Implementations;31 32 using HeuristicLab.MainForm; 32 using HeuristicLab.Analysis;33 using HeuristicLab.Analysis.Views;34 33 35 34 namespace HeuristicLab.DataPreprocessing.Views { -
trunk/sources/HeuristicLab.DataPreprocessing.Views/3.4/PreprocessingFeatureCorrelationView.Designer.cs
r12012 r13502 47 47 /// </summary> 48 48 private void InitializeComponent() { 49 this.components = new System.ComponentModel.Container(); 49 this.components = new System.ComponentModel.Container(); 50 50 this.ResumeLayout(false); 51 51 } -
trunk/sources/HeuristicLab.DataPreprocessing.Views/3.4/PreprocessingFeatureCorrelationView.cs
r12012 r13502 20 20 #endregion 21 21 22 using System.Collections.Generic;23 using System.ComponentModel;24 using System.Linq;25 22 using System.Windows.Forms; 26 using HeuristicLab.Data ;23 using HeuristicLab.DataPreprocessing; 27 24 using HeuristicLab.MainForm; 28 25 using HeuristicLab.MainForm.WindowsForms; 29 using HeuristicLab.PluginInfrastructure;30 using System;31 using HeuristicLab.DataPreprocessing;32 using HeuristicLab.Problems.DataAnalysis.Views;33 26 34 27 namespace HeuristicLab.Problems.DataAnalysis.Views { … … 37 30 public partial class PreprocessingFeatureCorrelationView : AsynchronousContentView { 38 31 39 public new CorrelationMatrixContent Content 40 { 41 get { return (CorrelationMatrixContent) base.Content; } 32 public new CorrelationMatrixContent Content { 33 get { return (CorrelationMatrixContent)base.Content; } 42 34 set { base.Content = value; } 43 35 } … … 55 47 protected override void RegisterContentEvents() { 56 48 base.RegisterContentEvents(); 57 Content.Changed += Data_Changed; 49 Content.Changed += Data_Changed; 58 50 } 59 51 60 52 protected override void DeregisterContentEvents() { 61 Content.Changed -= Data_Changed; 53 Content.Changed -= Data_Changed; 62 54 base.DeregisterContentEvents(); 63 55 } -
trunk/sources/HeuristicLab.DataPreprocessing.Views/3.4/PreprocessingScatterPlotView.Designer.cs
r12012 r13502 56 56 // chart 57 57 // 58 this.chart.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 59 | System.Windows.Forms.AnchorStyles.Left) 58 this.chart.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 59 | System.Windows.Forms.AnchorStyles.Left) 60 60 | System.Windows.Forms.AnchorStyles.Right))); 61 61 this.chart.BorderlineColor = System.Drawing.Color.Black; -
trunk/sources/HeuristicLab.DataPreprocessing.Views/3.4/PreprocessingScatterPlotView.cs
r12012 r13502 462 462 if (chartDoubleClick != null) 463 463 chartDoubleClick(this, e); 464 } 464 } 465 465 } 466 466 } -
trunk/sources/HeuristicLab.DataPreprocessing.Views/3.4/RenameColumnsDialog.Designer.cs
r13271 r13502 78 78 this.dataGridView.AllowUserToAddRows = false; 79 79 this.dataGridView.AllowUserToDeleteRows = false; 80 this.dataGridView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 81 | System.Windows.Forms.AnchorStyles.Left) 80 this.dataGridView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 81 | System.Windows.Forms.AnchorStyles.Left) 82 82 | System.Windows.Forms.AnchorStyles.Right))); 83 83 this.dataGridView.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize; -
trunk/sources/HeuristicLab.DataPreprocessing.Views/3.4/ScatterPlotMultiView.Designer.cs
r10987 r13502 1 namespace HeuristicLab.DataPreprocessing.Views { 1 #region License Information 2 /* HeuristicLab 3 * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 * 5 * This file is part of HeuristicLab. 6 * 7 * HeuristicLab is free software: you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License as published by 9 * the Free Software Foundation, either version 3 of the License, or 10 * (at your option) any later version. 11 * 12 * HeuristicLab is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>. 19 */ 20 #endregion 21 22 namespace HeuristicLab.DataPreprocessing.Views { 2 23 partial class ScatterPlotMultiView { 3 24 /// <summary> … … 29 50 // tableLayoutPanel 30 51 // 31 this.tableLayoutPanel.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 32 | System.Windows.Forms.AnchorStyles.Left) 52 this.tableLayoutPanel.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 53 | System.Windows.Forms.AnchorStyles.Left) 33 54 | System.Windows.Forms.AnchorStyles.Right))); 34 55 this.tableLayoutPanel.AutoScroll = true; -
trunk/sources/HeuristicLab.DataPreprocessing.Views/3.4/ScatterPlotMultiView.cs
r10992 r13502 7 7 using HeuristicLab.Common; 8 8 using HeuristicLab.Core.Views; 9 using HeuristicLab.DataPreprocessing.Implementations;10 9 using HeuristicLab.MainForm; 11 10 12 11 namespace HeuristicLab.DataPreprocessing.Views { 13 14 12 [View("Scatter Plot Multi View")] 15 13 [Content(typeof(ScatterPlotContent), false)] … … 81 79 tableLayoutPanel.RowStyles.Add(new RowStyle(SizeType.Absolute, (tableLayoutPanel.Height - HEADER_HEIGHT) / variables.Count)); 82 80 } 83 81 // fixed size 84 82 else { 85 83 tableLayoutPanel.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, FIXED_CHART_WIDTH)); … … 111 109 tableLayoutPanel.Controls.Add(pcv, y, x); 112 110 } 113 111 //scatter plot 114 112 else { 115 113 ScatterPlot scatterPlot = Content.CreateScatterPlot(variables[x - 1], variables[y - 1]); -
trunk/sources/HeuristicLab.DataPreprocessing.Views/3.4/ScatterPlotSingleView.Designer.cs
r11043 r13502 1 namespace HeuristicLab.DataPreprocessing.Views { 1 #region License Information 2 /* HeuristicLab 3 * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 * 5 * This file is part of HeuristicLab. 6 * 7 * HeuristicLab is free software: you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License as published by 9 * the Free Software Foundation, either version 3 of the License, or 10 * (at your option) any later version. 11 * 12 * HeuristicLab is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>. 19 */ 20 #endregion 21 22 namespace HeuristicLab.DataPreprocessing.Views { 2 23 partial class ScatterPlotSingleView { 3 24 /// <summary> … … 30 51 this.comboBoxYVariable = new System.Windows.Forms.ComboBox(); 31 52 this.comboBoxXVariable = new System.Windows.Forms.ComboBox(); 53 this.label3 = new System.Windows.Forms.Label(); 54 this.comboBoxColor = new System.Windows.Forms.ComboBox(); 32 55 this.groupBox1.SuspendLayout(); 33 56 this.SuspendLayout(); … … 35 58 // scatterPlotView 36 59 // 37 this.scatterPlotView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 38 | System.Windows.Forms.AnchorStyles.Left) 60 this.scatterPlotView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 61 | System.Windows.Forms.AnchorStyles.Left) 39 62 | System.Windows.Forms.AnchorStyles.Right))); 40 63 this.scatterPlotView.Caption = "ScatterPlot View"; … … 48 71 // groupBox1 49 72 // 73 this.groupBox1.Controls.Add(this.label3); 50 74 this.groupBox1.Controls.Add(this.label2); 51 75 this.groupBox1.Controls.Add(this.label1); 76 this.groupBox1.Controls.Add(this.comboBoxColor); 52 77 this.groupBox1.Controls.Add(this.comboBoxYVariable); 53 78 this.groupBox1.Controls.Add(this.comboBoxXVariable); 54 79 this.groupBox1.Location = new System.Drawing.Point(3, 3); 55 80 this.groupBox1.Name = "groupBox1"; 56 this.groupBox1.Size = new System.Drawing.Size(160, 140);81 this.groupBox1.Size = new System.Drawing.Size(160, 215); 57 82 this.groupBox1.TabIndex = 1; 58 83 this.groupBox1.TabStop = false; … … 99 124 this.comboBoxXVariable.SelectedIndexChanged += new System.EventHandler(this.comboBox_SelectedIndexChanged); 100 125 // 126 // label3 127 // 128 this.label3.AutoSize = true; 129 this.label3.Location = new System.Drawing.Point(17, 141); 130 this.label3.Name = "label3"; 131 this.label3.Size = new System.Drawing.Size(31, 13); 132 this.label3.TabIndex = 3; 133 this.label3.Text = "Color"; 134 // 135 // comboBoxColor 136 // 137 this.comboBoxColor.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; 138 this.comboBoxColor.FormattingEnabled = true; 139 this.comboBoxColor.Location = new System.Drawing.Point(20, 164); 140 this.comboBoxColor.Margin = new System.Windows.Forms.Padding(3, 10, 3, 3); 141 this.comboBoxColor.Name = "comboBoxColor"; 142 this.comboBoxColor.Size = new System.Drawing.Size(121, 21); 143 this.comboBoxColor.TabIndex = 1; 144 this.comboBoxColor.SelectedIndexChanged += new System.EventHandler(this.comboBox_SelectedIndexChanged); 145 // 101 146 // ScatterPlotSingleView 102 147 // … … 121 166 private System.Windows.Forms.ComboBox comboBoxYVariable; 122 167 private System.Windows.Forms.ComboBox comboBoxXVariable; 168 private System.Windows.Forms.ComboBox comboBoxColor; 169 private System.Windows.Forms.Label label3; 123 170 } 124 171 } -
trunk/sources/HeuristicLab.DataPreprocessing.Views/3.4/ScatterPlotSingleView.cs
r10998 r13502 1 using System; 1 #region License Information 2 /* HeuristicLab 3 * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 * 5 * This file is part of HeuristicLab. 6 * 7 * HeuristicLab is free software: you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License as published by 9 * the Free Software Foundation, either version 3 of the License, or 10 * (at your option) any later version. 11 * 12 * HeuristicLab is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>. 19 */ 20 #endregion 21 22 using System; 2 23 using System.Collections.Generic; 3 24 using System.Linq; 4 using System.Windows.Forms;5 25 using HeuristicLab.Analysis; 6 26 using HeuristicLab.Core.Views; … … 18 38 } 19 39 20 public ScatterPlotSingleView() 21 { 40 public ScatterPlotSingleView() { 22 41 InitializeComponent(); 23 42 } 24 43 25 44 public void InitData() { 26 27 45 IEnumerable<string> variables = Content.PreprocessingData.GetDoubleVariableNames(); 28 46 … … 30 48 comboBoxXVariable.Items.Clear(); 31 49 comboBoxYVariable.Items.Clear(); 50 comboBoxColor.Items.Clear(); 32 51 comboBoxXVariable.Items.AddRange(variables.ToArray()); 33 52 comboBoxYVariable.Items.AddRange(variables.ToArray()); 53 comboBoxColor.Items.Add("-"); 54 for (int i = 0; i < Content.PreprocessingData.Columns; ++i) { 55 if (Content.PreprocessingData.VariableHasType<double>(i)) { 56 double distinctValueCount = Content.PreprocessingData.GetValues<double>(i).GroupBy(x => x).Count(); 57 if (distinctValueCount <= 20) 58 comboBoxColor.Items.Add(Content.PreprocessingData.GetVariableName(i)); 59 } 60 } 34 61 35 62 // use x and y variable from content 36 if (Content.SelectedXVariable != null && Content.SelectedYVariable != null ) {63 if (Content.SelectedXVariable != null && Content.SelectedYVariable != null && Content.SelectedColorVariable != null) { 37 64 comboBoxXVariable.SelectedItem = Content.SelectedXVariable; 38 65 comboBoxYVariable.SelectedItem = Content.SelectedYVariable; 66 comboBoxColor.SelectedItem = Content.SelectedColorVariable; 39 67 } else { 40 68 if (variables.Count() >= 2) { 41 69 comboBoxXVariable.SelectedIndex = 0; 42 70 comboBoxYVariable.SelectedIndex = 1; 71 comboBoxColor.SelectedIndex = 0; 43 72 UpdateScatterPlot(); 44 45 73 } 46 74 } … … 59 87 60 88 private void UpdateScatterPlot() { 61 if (comboBoxXVariable.SelectedItem != null && comboBoxYVariable.SelectedItem != null ) {89 if (comboBoxXVariable.SelectedItem != null && comboBoxYVariable.SelectedItem != null && comboBoxColor.SelectedItem != null) { 62 90 //get scatter plot with selected x and y variable 63 ScatterPlot scatterPlot = Content.CreateScatterPlot((string)comboBoxXVariable.SelectedItem, (string)comboBoxYVariable.SelectedItem); 91 ScatterPlot scatterPlot = Content.CreateScatterPlot( 92 (string)comboBoxXVariable.SelectedItem, 93 (string)comboBoxYVariable.SelectedItem, 94 (string)comboBoxColor.SelectedItem); 64 95 scatterPlotView.Content = scatterPlot; 65 96 … … 67 98 this.Content.SelectedXVariable = (string)comboBoxXVariable.SelectedItem; 68 99 this.Content.SelectedYVariable = (string)comboBoxYVariable.SelectedItem; 100 this.Content.SelectedColorVariable = (string)comboBoxColor.SelectedItem; 69 101 } 70 102 } 71 72 103 } 73 74 75 104 } -
trunk/sources/HeuristicLab.DataPreprocessing.Views/3.4/SearchAndReplaceDialog.Designer.cs
r10930 r13502 1 namespace HeuristicLab.DataPreprocessing.Views { 1 #region License Information 2 /* HeuristicLab 3 * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 * 5 * This file is part of HeuristicLab. 6 * 7 * HeuristicLab is free software: you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License as published by 9 * the Free Software Foundation, either version 3 of the License, or 10 * (at your option) any later version. 11 * 12 * HeuristicLab is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>. 19 */ 20 #endregion 21 22 namespace HeuristicLab.DataPreprocessing.Views { 2 23 partial class SearchAndReplaceDialog { 3 24 /// <summary> … … 44 65 // tabSearchReplace 45 66 // 46 this.tabSearchReplace.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 47 | System.Windows.Forms.AnchorStyles.Left) 67 this.tabSearchReplace.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) 68 | System.Windows.Forms.AnchorStyles.Left) 48 69 | System.Windows.Forms.AnchorStyles.Right))); 49 70 this.tabSearchReplace.Controls.Add(this.tabSearch); -
trunk/sources/HeuristicLab.DataPreprocessing.Views/3.4/SearchAndReplaceDialog.cs
r10930 r13502 1 using System; 1 #region License Information 2 /* HeuristicLab 3 * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 * 5 * This file is part of HeuristicLab. 6 * 7 * HeuristicLab is free software: you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License as published by 9 * the Free Software Foundation, either version 3 of the License, or 10 * (at your option) any later version. 11 * 12 * HeuristicLab is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>. 19 */ 20 #endregion 21 22 using System; 2 23 using System.Windows.Forms; 3 24 … … 20 41 NotEqual 21 42 } 22 23 24 43 25 44 public partial class SearchAndReplaceDialog : Form { -
trunk/sources/HeuristicLab.DataPreprocessing.Views/3.4/ViewShortcutListView.Designer.cs
r12012 r13502 19 19 */ 20 20 #endregion 21 22 21 23 22 namespace HeuristicLab.DataPreprocessing.Views { -
trunk/sources/HeuristicLab.DataPreprocessing/3.4/HeuristicLab.DataPreprocessing-3.4.csproj
r12682 r13502 108 108 <None Include="Plugin.cs.frame" /> 109 109 <Compile Include="Implementations\DataGridContent.cs" /> 110 <Compile Include=" Implementations\PreprocessingContext.cs" />110 <Compile Include="PreprocessingContext.cs" /> 111 111 <Compile Include="Implementations\TransactionalPreprocessingData.cs" /> 112 112 <Compile Include="Implementations\SearchLogic.cs" /> 113 113 <Compile Include="Implementations\StatisticsLogic.cs" /> 114 114 <Compile Include="Interfaces\IDataGridContent.cs" /> 115 <Compile Include="Interfaces\IPreprocessingContext.cs" />116 115 <Compile Include="Interfaces\ISearchLogic.cs" /> 117 116 <Compile Include="Interfaces\IStatisticsLogic.cs" /> … … 160 159 <Private>False</Private> 161 160 </ProjectReference> 161 <ProjectReference Include="..\..\HeuristicLab.Persistence\3.3\HeuristicLab.Persistence-3.3.csproj"> 162 <Project>{102BC7D3-0EF9-439C-8F6D-96FF0FDB8E1B}</Project> 163 <Name>HeuristicLab.Persistence-3.3</Name> 164 </ProjectReference> 162 165 <ProjectReference Include="..\..\HeuristicLab.PluginInfrastructure\3.3\HeuristicLab.PluginInfrastructure-3.3.csproj"> 163 166 <Project>{94186a6a-5176-4402-ae83-886557b53cca}</Project> -
trunk/sources/HeuristicLab.DataPreprocessing/3.4/Implementations/CorrelationMatrixContent.cs
r12012 r13502 21 21 22 22 using System.Drawing; 23 using System.Linq; 23 24 using HeuristicLab.Common; 24 25 using HeuristicLab.Core; … … 32 33 } 33 34 34 private IPreprocessingContext Context { get; set; }35 private PreprocessingContext Context { get; set; } 35 36 private ITransactionalPreprocessingData PreprocessingData { 36 37 get { return Context.Data; } … … 39 40 public DataAnalysisProblemData ProblemData { 40 41 get { 41 var creator = new ProblemDataCreator(Context); 42 return (DataAnalysisProblemData)creator.CreateProblemData(); 42 // ToDo: avoid iterating 43 return Context.ExportPossibilities.Select(p => p.Value()).OfType<DataAnalysisProblemData>().Single(); 44 //var creator = new ProblemDataCreator(Context); 45 //return (DataAnalysisProblemData)creator.CreateProblemData(); 43 46 } 44 47 } 45 48 46 public CorrelationMatrixContent( IPreprocessingContext context) {49 public CorrelationMatrixContent(PreprocessingContext context) { 47 50 Context = context; 48 51 } … … 50 53 public CorrelationMatrixContent(CorrelationMatrixContent original, Cloner cloner) 51 54 : base(original, cloner) { 52 55 Context = original.Context; 53 56 } 54 57 -
trunk/sources/HeuristicLab.DataPreprocessing/3.4/Implementations/Filter/IFilter.cs
r10667 r13502 1 using HeuristicLab.Core; 2 using System; 3 using System.Collections.Generic; 4 using System.Linq; 5 using System.Text; 1 #region License Information 2 /* HeuristicLab 3 * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 * 5 * This file is part of HeuristicLab. 6 * 7 * HeuristicLab is free software: you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License as published by 9 * the Free Software Foundation, either version 3 of the License, or 10 * (at your option) any later version. 11 * 12 * HeuristicLab is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>. 19 */ 20 #endregion 6 21 7 namespace HeuristicLab.DataPreprocessing.Filter 8 { 9 public interface IFilter : IConstraint 10 {22 using HeuristicLab.Core; 23 24 namespace HeuristicLab.DataPreprocessing.Filter { 25 public interface IFilter : IConstraint { 11 26 new bool[] Check(); 12 27 new bool[] Check(out string errorMessage); -
trunk/sources/HeuristicLab.DataPreprocessing/3.4/Implementations/FilterLogic.cs
r12012 r13502 24 24 using System.Linq; 25 25 using HeuristicLab.DataPreprocessing.Filter; 26 using HeuristicLab.DataPreprocessing.Interfaces; 26 27 27 namespace HeuristicLab.DataPreprocessing { 28 28 public class FilterLogic : IFilterLogic { -
trunk/sources/HeuristicLab.DataPreprocessing/3.4/Implementations/FilteredPreprocessingData.cs
r13252 r13502 1 using System; 1 #region License Information 2 /* HeuristicLab 3 * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 * 5 * This file is part of HeuristicLab. 6 * 7 * HeuristicLab is free software: you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License as published by 9 * the Free Software Foundation, either version 3 of the License, or 10 * (at your option) any later version. 11 * 12 * HeuristicLab is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>. 19 */ 20 #endregion 21 22 using System; 2 23 using System.Collections.Generic; 3 24 using HeuristicLab.Common; 4 25 using HeuristicLab.Core; 5 26 using HeuristicLab.Data; 6 using HeuristicLab.DataPreprocessing.Interfaces;7 27 using HeuristicLab.Problems.DataAnalysis; 8 28 9 namespace HeuristicLab.DataPreprocessing .Implementations{29 namespace HeuristicLab.DataPreprocessing { 10 30 public class FilteredPreprocessingData : NamedItem, IFilteredPreprocessingData { 11 31 private readonly ITransactionalPreprocessingData originalData; -
trunk/sources/HeuristicLab.DataPreprocessing/3.4/Implementations/HistogramContent.cs
r12676 r13502 25 25 using HeuristicLab.Common; 26 26 using HeuristicLab.Core; 27 using HeuristicLab.DataPreprocessing.Interfaces;28 27 29 28 namespace HeuristicLab.DataPreprocessing { -
trunk/sources/HeuristicLab.DataPreprocessing/3.4/Implementations/LineChartContent.cs
r12012 r13502 23 23 using HeuristicLab.Common; 24 24 using HeuristicLab.Core; 25 using HeuristicLab.DataPreprocessing.Interfaces;26 25 27 26 namespace HeuristicLab.DataPreprocessing { -
trunk/sources/HeuristicLab.DataPreprocessing/3.4/Implementations/PreprocessingChartContent.cs
r12676 r13502 28 28 using HeuristicLab.Core; 29 29 using HeuristicLab.Data; 30 using HeuristicLab.DataPreprocessing.Interfaces;31 30 32 31 namespace HeuristicLab.DataPreprocessing { -
trunk/sources/HeuristicLab.DataPreprocessing/3.4/Implementations/PreprocessingData.cs
r13427 r13502 94 94 selection = new Dictionary<int, IList<int>>(); 95 95 96 Import(problemData); 97 98 RegisterEventHandler(); 99 } 100 101 public void Import(IDataAnalysisProblemData problemData) { 96 102 Dataset dataset = (Dataset)problemData.Dataset; 97 103 variableNames = new List<string>(problemData.Dataset.VariableNames); … … 114 120 TrainingPartition = new IntRange(problemData.TrainingPartition.Start, problemData.TrainingPartition.End); 115 121 TestPartition = new IntRange(problemData.TestPartition.Start, problemData.TestPartition.End); 116 117 RegisterEventHandler();118 122 } 119 123 -
trunk/sources/HeuristicLab.DataPreprocessing/3.4/Implementations/PreprocessingDataTable.cs
r11114 r13502 1 using System; 1 #region License Information 2 /* HeuristicLab 3 * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 * 5 * This file is part of HeuristicLab. 6 * 7 * HeuristicLab is free software: you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License as published by 9 * the Free Software Foundation, either version 3 of the License, or 10 * (at your option) any later version. 11 * 12 * HeuristicLab is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>. 19 */ 20 #endregion 21 22 using System; 2 23 using HeuristicLab.Analysis; 3 24 using HeuristicLab.Common; 4 25 using HeuristicLab.Core; 5 26 6 namespace HeuristicLab.DataPreprocessing .Implementations{27 namespace HeuristicLab.DataPreprocessing { 7 28 [Item("PreprossingDataTable", "A table of data values.")] 8 29 public class PreprocessingDataTable : DataTable { -
trunk/sources/HeuristicLab.DataPreprocessing/3.4/Implementations/ScatterPlotContent.cs
r12012 r13502 22 22 using System.Collections.Generic; 23 23 using System.Drawing; 24 using System.Linq; 24 25 using HeuristicLab.Analysis; 25 26 using HeuristicLab.Common; 26 27 using HeuristicLab.Core; 27 using HeuristicLab.DataPreprocessing.Interfaces;28 28 29 29 namespace HeuristicLab.DataPreprocessing { … … 34 34 public string SelectedXVariable { get; set; } 35 35 public string SelectedYVariable { get; set; } 36 public string SelectedColorVariable { get; set; } 36 37 37 38 public ScatterPlotContent(IFilteredPreprocessingData preprocessingData) … … 43 44 this.SelectedXVariable = content.SelectedXVariable; 44 45 this.SelectedYVariable = content.SelectedYVariable; 46 this.SelectedColorVariable = content.SelectedColorVariable; 45 47 } 46 48 47 public static new Image StaticItemImage 48 { 49 public static new Image StaticItemImage { 49 50 get { return HeuristicLab.Common.Resources.VSImageLibrary.Performance; } 50 51 } … … 54 55 } 55 56 56 public ScatterPlot CreateScatterPlot(string variableNameX, string variableNameY ) {57 public ScatterPlot CreateScatterPlot(string variableNameX, string variableNameY, string variableNameColor = "-") { 57 58 ScatterPlot scatterPlot = new ScatterPlot(); 58 59 59 60 IList<double> xValues = PreprocessingData.GetValues<double>(PreprocessingData.GetColumnIndex(variableNameX)); 60 61 IList<double> yValues = PreprocessingData.GetValues<double>(PreprocessingData.GetColumnIndex(variableNameY)); 62 if (variableNameColor == null || variableNameColor == "-") { 63 List<Point2D<double>> points = new List<Point2D<double>>(); 61 64 62 List<Point2D<double>> points = new List<Point2D<double>>(); 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 } 63 69 64 for (int i = 0; i < xValues.Count; i++) { 65 Point2D<double> point = new Point2D<double>(xValues[i], yValues[i]); 66 points.Add(point); 70 ScatterPlotDataRow scdr = new ScatterPlotDataRow(variableNameX + " - " + variableNameY, "", points); 71 scatterPlot.Rows.Add(scdr); 72 73 } else { 74 var colorValues = PreprocessingData.GetValues<double>(PreprocessingData.GetColumnIndex(variableNameColor)); 75 var data = xValues.Zip(yValues, (x, y) => new { x, y }).Zip(colorValues, (v, c) => new { v.x, v.y, c }).ToList(); 76 var gradients = ColorGradient.Colors; 77 int curGradient = 0; 78 int numColors = colorValues.Distinct().Count(); 79 foreach (var colorValue in colorValues.Distinct()) { 80 var values = data.Where(x => x.c == colorValue); 81 var row = new ScatterPlotDataRow( 82 variableNameX + " - " + variableNameY + " (" + colorValue + ")", 83 "", 84 values.Select(v => new Point2D<double>(v.x, v.y)), 85 new ScatterPlotDataRowVisualProperties() { Color = gradients[curGradient] }); 86 curGradient += gradients.Count / numColors; 87 scatterPlot.Rows.Add(row); 88 } 67 89 } 68 69 ScatterPlotDataRow scdr = new ScatterPlotDataRow(variableNameX + " - " + variableNameY, "", points);70 scatterPlot.Rows.Add(scdr);71 90 return scatterPlot; 72 91 } -
trunk/sources/HeuristicLab.DataPreprocessing/3.4/Implementations/StatisticsContent.cs
r12012 r13502 19 19 */ 20 20 #endregion 21 21 22 using System.Drawing; 22 23 using HeuristicLab.Common; -
trunk/sources/HeuristicLab.DataPreprocessing/3.4/Implementations/StatisticsLogic.cs
r13051 r13502 26 26 27 27 namespace HeuristicLab.DataPreprocessing { 28 29 28 public class StatisticsLogic : IStatisticsLogic { 30 29 -
trunk/sources/HeuristicLab.DataPreprocessing/3.4/Interfaces/IFilterLogic.cs
r12012 r13502 23 23 using System.Collections.Generic; 24 24 using HeuristicLab.DataPreprocessing.Filter; 25 using HeuristicLab.DataPreprocessing.Interfaces; 25 26 26 namespace HeuristicLab.DataPreprocessing { 27 27 public interface IFilterLogic { -
trunk/sources/HeuristicLab.DataPreprocessing/3.4/Interfaces/IFilteredPreprocessingData.cs
r10900 r13502 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 1 #region License Information 2 /* HeuristicLab 3 * Copyright (C) 2002-2015 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 * 5 * This file is part of HeuristicLab. 6 * 7 * HeuristicLab is free software: you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License as published by 9 * the Free Software Foundation, either version 3 of the License, or 10 * (at your option) any later version. 11 * 12 * HeuristicLab is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>. 19 */ 20 #endregion 5 21 6 namespace HeuristicLab.DataPreprocessing.Interfaces 7 { 8 public interface IFilteredPreprocessingData : ITransactionalPreprocessingData 9 {22 using System; 23 24 namespace HeuristicLab.DataPreprocessing { 25 public interface IFilteredPreprocessingData : ITransactionalPreprocessingData { 10 26 void SetFilter(bool[] rowFilters); 11 27 void PersistFilter(); … … 14 30 15 31 event EventHandler FilterChanged; 16 32 } 17 33 } -
trunk/sources/HeuristicLab.DataPreprocessing/3.4/Interfaces/ITransactionalPreprocessingData.cs
r12012 r13502 20 20 #endregion 21 21 22 using System; 22 23 23 using System;24 24 namespace HeuristicLab.DataPreprocessing { 25 26 25 public interface ITransactionalPreprocessingData : IPreprocessingData { 27 26 -
trunk/sources/HeuristicLab.DataPreprocessing/3.4/Interfaces/IViewChartShortcut.cs
r12012 r13502 20 20 #endregion 21 21 22 using HeuristicLab.Core;23 22 24 23 namespace HeuristicLab.DataPreprocessing { -
trunk/sources/HeuristicLab.DataPreprocessing/3.4/PreprocessingContext.cs
r13496 r13502 20 20 #endregion 21 21 22 using System; 23 using System.Collections.Generic; 22 24 using HeuristicLab.Common; 23 25 using HeuristicLab.Core; 24 using HeuristicLab.DataPreprocessing.Implementations;25 using HeuristicLab.DataPreprocessing.Interfaces;26 26 using HeuristicLab.Optimization; 27 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable; 27 28 using HeuristicLab.Problems.DataAnalysis; 28 29 29 30 namespace HeuristicLab.DataPreprocessing { 30 31 [Item("PreprocessingContext", "PreprocessingContext")] 31 public class PreprocessingContext 32 : Item, IPreprocessingContext { 32 public class PreprocessingContext : NamedItem, IStorableContent { 33 34 public string Filename { get; set; } 35 36 public IEnumerable<KeyValuePair<string, Func<IItem>>> ExportPossibilities { 37 get { 38 var algorithm = Source as IAlgorithm; 39 if (algorithm != null) 40 yield return new KeyValuePair<string, Func<IItem>>(algorithm.Name, () => ExportAlgorithm(algorithm)); 41 42 var problem = algorithm != null ? algorithm.Problem as IDataAnalysisProblem : Source as IDataAnalysisProblem; 43 if (problem != null) 44 yield return new KeyValuePair<string, Func<IItem>>(problem.Name, () => ExportProblem(problem)); 45 46 var problemData = problem != null ? problem.ProblemData : Source as IDataAnalysisProblemData; 47 if (problemData != null) 48 yield return new KeyValuePair<string, Func<IItem>>(problemData.Name, () => ExportProblemData(problemData)); 49 50 // ToDo: Export CSV 51 } 52 } 53 public bool CanExport { 54 get { return Source is IAlgorithm || Source is IDataAnalysisProblem || Source is IDataAnalysisProblemData; } 55 } 56 57 [Storable] 58 public IFilteredPreprocessingData Data { get; private set; } 59 60 [Storable] 61 private IItem Source { get; set; } 33 62 34 63 35 public IFilteredPreprocessingData Data { get; private set; } 64 public PreprocessingContext() : this(new RegressionProblemData()) { } 65 public PreprocessingContext(IItem source) { 66 Import(source); 36 67 37 public IAlgorithm Algorithm { get; private set; }38 public IDataAnalysisProblem Problem { get; private set; }39 public IDataAnalysisProblemData ProblemData { get; private set; }40 41 private readonly ProblemDataCreator creator;42 43 public PreprocessingContext(IDataAnalysisProblemData dataAnalysisProblemData, IAlgorithm algorithm, IDataAnalysisProblem problem) {44 var transactionalPreprocessingData = new TransactionalPreprocessingData(dataAnalysisProblemData);45 Data = new FilteredPreprocessingData(transactionalPreprocessingData);46 47 ProblemData = dataAnalysisProblemData;48 Algorithm = algorithm;49 Problem = problem;50 51 creator = new ProblemDataCreator(this);52 68 } 53 69 70 [StorableConstructor] 71 private PreprocessingContext(bool deserializing) 72 : base(deserializing) { } 54 73 protected PreprocessingContext(PreprocessingContext original, Cloner cloner) 55 74 : base(original, cloner) { 75 Source = cloner.Clone(original.Source); 56 76 Data = cloner.Clone(original.Data); 57 Algorithm = original.Algorithm;58 Problem = original.Problem;59 77 } 60 78 … … 63 81 } 64 82 83 #region Import 84 public void Import(IItem source) { 85 Source = source; 86 87 var dataSource = ExtractProblemData(source); 88 Data = new FilteredPreprocessingData(new TransactionalPreprocessingData(dataSource)); 89 } 90 91 private IDataAnalysisProblemData ExtractProblemData(IItem source) { 92 var algorithm = source as Algorithm; 93 var problem = algorithm != null ? algorithm.Problem as IDataAnalysisProblem : source as IDataAnalysisProblem; 94 var problemData = problem != null ? problem.ProblemData : source as IDataAnalysisProblemData; 95 return problemData; 96 } 97 #endregion 98 99 #region Export 65 100 public IItem Export() { 66 if (Algorithm != null) 67 return ExportAlgorithm(); 68 else if (Problem != null) 69 return ExportProblem(); 70 return ExportProblemData(); 101 var creator = new ProblemDataCreator(this); 102 if (Source is IAlgorithm) 103 return ExportAlgorithm((IAlgorithm)Source); 104 if (Source is IDataAnalysisProblem) 105 return ExportProblem((IDataAnalysisProblem)Source); 106 if (Source is IDataAnalysisProblemData) 107 return ExportProblemData((IDataAnalysisProblemData)Source); 108 return null; 71 109 } 72 p ublic IAlgorithm ExportAlgorithm() {73 var preprocessedAlgorithm = (IAlgorithm) Algorithm.Clone(new Cloner());110 private IAlgorithm ExportAlgorithm(IAlgorithm source) { 111 var preprocessedAlgorithm = (IAlgorithm)source.Clone(); 74 112 preprocessedAlgorithm.Name = preprocessedAlgorithm.Name + "(Preprocessed)"; 75 Algorithm.Runs.Clear();113 preprocessedAlgorithm.Runs.Clear(); 76 114 var problem = (IDataAnalysisProblem)preprocessedAlgorithm.Problem; 77 115 SetNewProblemData(problem); 78 116 return preprocessedAlgorithm; 79 117 } 80 p ublic IDataAnalysisProblem ExportProblem() {81 var preprocessedProblem = (IDataAnalysisProblem) Problem.Clone(new Cloner());118 private IDataAnalysisProblem ExportProblem(IDataAnalysisProblem source) { 119 var preprocessedProblem = (IDataAnalysisProblem)source.Clone(); 82 120 SetNewProblemData(preprocessedProblem); 83 121 return preprocessedProblem; 84 122 } 85 86 public IDataAnalysisProblemData ExportProblemData() {87 return creator.CreateProblemData( );123 private IDataAnalysisProblemData ExportProblemData(IDataAnalysisProblemData source) { 124 var creator = new ProblemDataCreator(this); 125 return creator.CreateProblemData(source); 88 126 } 89 90 127 private void SetNewProblemData(IDataAnalysisProblem problem) { 91 var data = creator.CreateProblemData();128 var data = ExtractProblemData(problem.ProblemData); 92 129 problem.ProblemDataParameter.ActualValue = data; 93 130 problem.Name = "Preprocessed " + problem.Name; 94 131 } 132 #endregion 95 133 } 96 134 } -
trunk/sources/HeuristicLab.DataPreprocessing/3.4/ProblemDataCreator.cs
r13252 r13502 29 29 public class ProblemDataCreator { 30 30 31 private readonly IPreprocessingContext context;31 private readonly PreprocessingContext context; 32 32 33 33 private Dataset ExportedDataset { … … 39 39 private IList<ITransformation> Transformations { get { return context.Data.Transformations; } } 40 40 41 public ProblemDataCreator( IPreprocessingContext context) {41 public ProblemDataCreator(PreprocessingContext context) { 42 42 this.context = context; 43 43 } 44 44 45 public IDataAnalysisProblemData CreateProblemData( ) {45 public IDataAnalysisProblemData CreateProblemData(IDataAnalysisProblemData oldProblemData) { 46 46 if (context.Data.Rows == 0 || context.Data.Columns == 0) return null; 47 47 48 var oldProblemData = context.ProblemData;49 48 IDataAnalysisProblemData problemData; 50 49
Note: See TracChangeset
for help on using the changeset viewer.