Free cookie consent management tool by TermsFeed Policy Generator

source: branches/DataPreprocessing/HeuristicLab.DataPreprocessing/3.3/Views/DataPreprocessingView.cs @ 10537

Last change on this file since 10537 was 10537, checked in by rstoll, 10 years ago
  • Delete samples without sufficient information or variance implemented in TransformationLogic
File size: 4.7 KB
Line 
1using System;
2using System.Windows.Forms;
3using HeuristicLab.Common;
4using HeuristicLab.Core;
5using HeuristicLab.Core.Views;
6using HeuristicLab.MainForm;
7
8namespace HeuristicLab.DataPreprocessing {
9  [View("DataPreprocessing View")]
10  [Content(typeof(IPreprocessingContext), true)]
11  public partial class DataPreprocessingView : ItemView {
12
13    private DataGridContent dataGridContent;
14    private StatisticsContent statisticsContent;
15    private FilterContent filterContent;
16    private TransformationContent tranformationContent;
17    private LineChartContent lineChartContent;
18    private HistogramContent histogramContent;
19
20    public DataPreprocessingView() {
21      InitializeComponent();
22    }
23
24    protected override void OnContentChanged() {
25      base.OnContentChanged();
26      InitializeContents();
27    }
28
29    //Create list view item for content list view
30    private ListViewItem CreateListViewItem(IItem item) {
31      ListViewItem listViewItem = new ListViewItem();
32
33      listViewItem.Text = item.ToString();
34      listViewItem.ToolTipText = item.ItemName + ": " + item.ItemDescription;
35      contentListView.SmallImageList.Images.Add(item.ItemImage);
36      listViewItem.ImageIndex = contentListView.SmallImageList.Images.Count - 1;
37      listViewItem.Tag = item;
38
39      return listViewItem;
40    }
41
42    private void InitializeContents() {
43
44      //create content items
45      IPreprocessingData data = Content.Data;
46      ISearchLogic searchLogic = new SearchLogic(data);
47      var dataGridLogic = new DataGridLogic(data);
48      StatisticsLogic statisticsLogic = new StatisticsLogic(data, searchLogic);
49      dataGridContent = new DataGridContent(dataGridLogic, new ManipulationLogic(data, searchLogic, statisticsLogic));
50      statisticsContent = new StatisticsContent(statisticsLogic);
51      filterContent = new FilterContent(new FilterLogic());
52      tranformationContent = new TransformationContent(new TransformationLogic(data, searchLogic, statisticsLogic));
53      lineChartContent = new LineChartContent(new LineChartLogic(data));
54      histogramContent = new HistogramContent(new HistogramLogic());
55
56      //create view items
57      contentListView.SmallImageList = new ImageList();
58      ListViewItem contentListViewItem = CreateListViewItem(dataGridContent);
59      ListViewItem statisticsListViewItem = CreateListViewItem(statisticsContent);
60      ListViewItem filterListViewItem = CreateListViewItem(filterContent);
61      ListViewItem transformationListViewItem = CreateListViewItem(tranformationContent);
62      ListViewItem lineChartListViewItem = CreateListViewItem(lineChartContent);
63      ListViewItem histogramListViewItem = CreateListViewItem(histogramContent);
64
65      //add view items to content list view
66      contentListView.Items.Add(statisticsListViewItem);
67      contentListView.Items.Add(contentListViewItem);
68      contentListView.Items.Add(filterListViewItem);
69      contentListView.Items.Add(transformationListViewItem);
70      contentListView.Items.Add(lineChartListViewItem);
71      contentListView.Items.Add(histogramListViewItem);
72
73      //default view -> statistic view
74      contentListView.SelectedIndices.Add(0);
75    }
76
77    public new PreprocessingContext Content {
78      get { return (PreprocessingContext)base.Content; }
79      set {
80        base.Content = value;
81      }
82    }
83
84    private void listView1_SelectedIndexChanged(object sender, EventArgs e) {
85
86      if (contentListView.SelectedItems.Count > 0) {
87        ListViewItem listViewItem = (ListViewItem)contentListView.SelectedItems[0];
88        this.viewHost.Content = (IItem)listViewItem.Tag;
89      }
90    }
91
92    private void listView1_DoubleClick(object sender, EventArgs e) {
93      if (contentListView.SelectedItems.Count > 0) {
94        ListViewItem listViewItem = (ListViewItem)contentListView.SelectedItems[0];
95        MainFormManager.MainForm.ShowContent((IItem)listViewItem.Tag);
96      }
97    }
98
99    private void exportProblemButton_Click(object sender, EventArgs e) {
100      var problem = Content.ExportProblem();
101
102      var saveFileDialog = new SaveFileDialog {
103        Title = "Save Item",
104        DefaultExt = "hl",
105        Filter = "Uncompressed HeuristicLab Files|*.hl|HeuristicLab Files|*.hl|All Files|*.*",
106        FilterIndex = 2
107      };
108
109      var content = problem as IStorableContent;
110      if (saveFileDialog.ShowDialog() == DialogResult.OK) {
111        bool compressed = saveFileDialog.FilterIndex != 1;
112        ContentManager.Save(content, saveFileDialog.FileName, compressed);
113      }
114    }
115
116    private void applyInNewTabButton_Click(object sender, EventArgs e) {
117      var item = Content.ExportAlgorithmOrProblem();
118
119      MainFormManager.MainForm.ShowContent(item);
120    }
121  }
122}
Note: See TracBrowser for help on using the repository browser.