Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
06/04/12 21:50:19 (12 years ago)
Author:
sforsten
Message:

#1782: improvements from mkommend's comment have been applied

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Optimization.Views/3.3/ProblemView.cs

    r7823 r7956  
    2020#endregion
    2121
     22using System;
     23using System.Collections.Generic;
    2224using System.Linq;
    2325using System.Windows.Forms;
     
    2527using HeuristicLab.MainForm;
    2628using HeuristicLab.Problems.Instances;
     29using HeuristicLab.Problems.Instances.Views;
    2730
    2831namespace HeuristicLab.Optimization.Views {
     
    3336  [Content(typeof(IProblem), true)]
    3437  public partial class ProblemView : ParameterizedNamedItemView {
     38
     39    private static Type neededViewType = typeof(ProblemInstanceConsumerView);
     40
    3541    public new IProblem Content {
    3642      get { return (IProblem)base.Content; }
     
    4955      IProblemInstanceConsumer consumer = Content as IProblemInstanceConsumer;
    5056      if (consumer != null) {
    51         problemInstanceConsumerView.Content = consumer;
    52         problemInstanceSplitContainer.Panel1Collapsed = !problemInstanceConsumerView.ProblemInstanceProviders.Any();
     57        IEnumerable<Type> viewTypes = MainFormManager.GetViewTypes(consumer.GetType(), true);
     58        Type genericView = viewTypes.Where(x => x.IsSubclassOf(neededViewType)).First();
     59        ProblemInstanceConsumerViewHost.ViewType = genericView;
     60        ProblemInstanceConsumerViewHost.Content = consumer;
     61        ProblemInstanceConsumerView view = (ProblemInstanceConsumerView)ProblemInstanceConsumerViewHost.ActiveView;
     62        problemInstanceSplitContainer.Panel1Collapsed = !view.ProblemInstanceProviders.Any();
    5363      } else {
    5464        problemInstanceSplitContainer.Panel1Collapsed = true;
Note: See TracChangeset for help on using the changeset viewer.