Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
07/19/18 15:20:50 (6 years ago)
Author:
mkommend
Message:

#2890: Merged r15730, r15782 into stable.

Location:
stable
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • stable

  • stable/HeuristicLab.Algorithms.DataAnalysis.Views

  • stable/HeuristicLab.Algorithms.DataAnalysis.Views/3.4/GradientBoostedTreesModelView.cs

    r15584 r15997  
    2020#endregion
    2121
     22using System;
     23using System.Diagnostics;
     24using System.Linq;
     25using System.Windows.Forms;
    2226using HeuristicLab.Common;
    2327using HeuristicLab.Core.Views;
    2428using HeuristicLab.MainForm;
    2529using HeuristicLab.MainForm.WindowsForms;
    26 using HeuristicLab.Problems.DataAnalysis;                 
     30using HeuristicLab.Problems.DataAnalysis;
    2731
    2832namespace HeuristicLab.Algorithms.DataAnalysis.Views {
     
    3034  [Content(typeof(IGradientBoostedTreesModel), true)]
    3135  public partial class GradientBoostedTreesModelView : ItemView {
    32 
     36    #region Getter/Setter
    3337    public new IGradientBoostedTreesModel Content {
    3438      get { return (IGradientBoostedTreesModel)base.Content; }
    3539      set { base.Content = value; }
    3640    }
     41    #endregion
    3742
    38     protected override void SetEnabledStateOfControls() {
    39       base.SetEnabledStateOfControls();
    40       listBox.Enabled = Content != null;
    41       viewHost.Enabled = Content != null;
    42     }
    43 
     43    #region Ctor
    4444    public GradientBoostedTreesModelView()
    4545      : base() {
    4646      InitializeComponent();
     47    }
     48    #endregion
     49
     50    #region Events
     51    protected override void SetEnabledStateOfControls() {
     52      base.SetEnabledStateOfControls();
     53      listView.Enabled = Content != null;
     54      viewHost.Enabled = Content != null;
    4755    }
    4856
     
    5159      if (Content == null) {
    5260        viewHost.Content = null;
    53         listBox.Items.Clear();
     61        listView.Items.Clear();
    5462      } else {
    5563        viewHost.Content = null;
    56         listBox.Items.Clear();
    57         foreach (var e in Content.Models) {
    58           listBox.Items.Add(e);
    59         }
     64        listView.BeginUpdate();
     65        listView.Items.Clear();
     66        int i = 1;
     67        listView.Items.AddRange(
     68          new ListViewItem(Content.Models.First().ToString()) { Tag = Content.Models.First() }.ToEnumerable()
     69          .Union(Content.Models.Skip(1).Select(v => new ListViewItem("Model " + i++) { Tag = v }))
     70          .ToArray()
     71        );
     72        listView.EndUpdate();
    6073      }
    6174    }
    6275
    63     private void listBox_SelectedIndexChanged(object sender, System.EventArgs e) {
    64       var model = listBox.SelectedItem;
    65       if (model == null) viewHost.Content = null;
    66       else {
    67         viewHost.Content = ConvertModel(model);
     76
     77    private void listView_SelectedIndexChanged(object sender, EventArgs e) {
     78      if (listView.SelectedItems.Count == 1) {
     79        var item = listView.SelectedItems[0];
     80        viewHost.Content = ConvertModel(item);
    6881      }
    6982    }
    7083
    71     private void listBox_DoubleClick(object sender, System.EventArgs e) {
    72       var selectedItem = listBox.SelectedItem;
    73       if (selectedItem == null) return;
    74       MainFormManager.MainForm.ShowContent(ConvertModel(selectedItem));
    75     }
    76 
    77     private IContent ConvertModel(object model) {
    78       var treeModel = model as RegressionTreeModel;
    79       if (treeModel != null)
    80         return treeModel.CreateSymbolicRegressionModel();
    81       else {
    82         var regModel = model as IRegressionModel;
    83         return regModel;
     84    private void listView_DoubleClick(object sender, EventArgs e) {
     85      if (listView.SelectedItems.Count == 1) {
     86        var item = listView.SelectedItems[0];
     87        var content = ConvertModel(item);
     88        if (content != null) { MainFormManager.MainForm.ShowContent(content); }
    8489      }
    8590    }
     91    #endregion
     92
     93    #region Helper Methods
     94    private IContent ConvertModel(ListViewItem item) {
     95      if (item.Tag is RegressionTreeModel) {
     96        return (item.Tag as RegressionTreeModel).CreateSymbolicRegressionModel();
     97      } else if (item.Tag is IRegressionModel) {
     98        return item.Tag as IRegressionModel;
     99      } else {
     100        return null;
     101      }
     102    }
     103    #endregion
    86104  }
    87105}
Note: See TracChangeset for help on using the changeset viewer.