Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
03/23/16 22:51:27 (9 years ago)
Author:
abeham
Message:

#2457:

  • Renamed remaining files from ExpertSystem to KnowledgeCenter
  • Added ability to scatter plot to display a regression line
  • Allowed to execute multiple instances at once and displaying either only final result or tracking result
  • Split runs in seeded runs and instance runs
File:
1 moved

Legend:

Unmodified
Added
Removed
  • branches/PerformanceComparison/HeuristicLab.OptimizationExpertSystem/3.3/Views/KnowledgeCenterAllinOneView.cs

    r13721 r13722  
    3030using HeuristicLab.Data.Views;
    3131using HeuristicLab.MainForm;
     32using HeuristicLab.MainForm.WindowsForms;
    3233using HeuristicLab.Optimization;
    3334using HeuristicLab.Optimization.Views;
     
    4344namespace HeuristicLab.OptimizationExpertSystem {
    4445  [View("Knowledge Center (all-in-one view)")]
    45   [Content(typeof(ExpertSystem), IsDefaultView = true)]
    46   public partial class ExpertSystemView : ItemView {
     46  [Content(typeof(KnowledgeCenter), IsDefaultView = true)]
     47  public partial class KnowledgeCenterAllinOneView : AsynchronousContentView {
    4748    private EnumValueView<SeedingStrategyTypes> seedingStrategyView;
    4849    private CheckedItemListView<IScope> seedingSolutionsView;
     
    5051    private bool okbDownloadInProgress;
    5152
    52     public new ExpertSystem Content {
    53       get { return (ExpertSystem)base.Content; }
     53    public new KnowledgeCenter Content {
     54      get { return (KnowledgeCenter)base.Content; }
    5455      set { base.Content = value; }
    5556    }
    5657
    57     public ExpertSystemView() {
     58    public KnowledgeCenterAllinOneView() {
    5859      InitializeComponent();
    5960      // brings progress panel to front (it is not visible by default, but obstructs other elements in designer)
     
    7778    #region Event Registration
    7879    protected override void DeregisterContentEvents() {
    79       Content.PropertyChanged -= ContentOnPropertyChanged;
    8080      Content.SuggestedInstances.CollectionReset -= SuggestedInstancesOnChanged;
    8181      Content.SuggestedInstances.ItemsAdded -= SuggestedInstancesOnChanged;
     
    9494    protected override void RegisterContentEvents() {
    9595      base.RegisterContentEvents();
    96       Content.PropertyChanged += ContentOnPropertyChanged;
    9796      Content.SuggestedInstances.CollectionReset += SuggestedInstancesOnChanged;
    9897      Content.SuggestedInstances.ItemsAdded += SuggestedInstancesOnChanged;
     
    145144          maxEvaluationsTextBox.Text = Content.MaximumEvaluations.ToString();
    146145          problemViewHost.Content = Content.Problem;
    147           runsView.Content = Content.Runs;
     146          runsView.Content = Content.InstanceRuns;
    148147          kbViewHost.ViewType = typeof(RunCollectionRLDView);
    149148          kbViewHost.Content = Content.KnowledgeBase;
    150149          problemInstancesView.Content = Content.ProblemInstances;
    151           solverResultsView.Content = Content.CurrentResult;
     150          solverResultsView.Content = null;
    152151          seedingStrategyView.Content = Content.SeedingStrategy;
    153152          seedingSolutionsView.Content = Content.SolutionSeedingPool;
     
    181180    }
    182181
    183     private void ContentOnPropertyChanged(object sender, PropertyChangedEventArgs e) {
    184       if (InvokeRequired) {
    185         Invoke((Action<object, PropertyChangedEventArgs>)ContentOnPropertyChanged, sender, e);
    186         return;
    187       }
    188       SuppressEvents = true;
    189       try {
    190         switch (e.PropertyName) {
    191           case "KnowledgeBase": kbViewHost.Content = Content.KnowledgeBase; break;
    192           case "MaximumEvaluations": maxEvaluationsTextBox.Text = Content.MaximumEvaluations.ToString(); break;
    193           case "Problem":
    194             DeregisterProblemEvents(problemViewHost.Content as OKBProblem);
    195             problemViewHost.Content = Content.Problem;
    196             RegisterProblemEvents(Content.Problem);
    197             UpdateNamesComboboxes();
    198             break;
    199           case "ProblemInstances": problemInstancesView.Content = Content.ProblemInstances; break;
    200           case "CurrentResult": solverResultsView.Content = Content.CurrentResult; break;
    201         }
    202       } finally { SuppressEvents = false; }
    203       SetEnabledStateOfControls();
    204     }
    205 
    206182    private void SuggestedInstancesOnChanged(object sender, EventArgs e) {
    207183      UpdateSuggestedInstancesCombobox();
     
    230206        //errorProvider.SetError(maxEvaluationsTextBox, "Please enter a valid integer number.");
    231207      } else {
    232         Content.MaximumEvaluations = value;
     208        Content.MaximumEvaluations.Value = value;
    233209        e.Cancel = false;
    234210        //errorProvider.SetError(maxEvaluationsTextBox, null);
     
    264240    }
    265241
    266     private void AlgorithmStartButtonOnClick(object sender, EventArgs e) {
    267       if (suggestedInstancesComboBox.SelectedIndex >= 0)
    268         Content.StartAlgorithmAsync(suggestedInstancesComboBox.SelectedIndex);
     242    private async void AlgorithmStartButtonOnClick(object sender, EventArgs e) {
     243      if (suggestedInstancesComboBox.SelectedIndex >= 0) {
     244        solverResultsView.Content = await Content.StartAlgorithmAsync(suggestedInstancesComboBox.SelectedIndex);
     245      }
    269246    }
    270247
Note: See TracChangeset for help on using the changeset viewer.