Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
11/18/10 00:53:15 (13 years ago)
Author:
cneumuel
Message:

#1215 worked on metaoptimization

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HeuristicLab.MetaOptimization/HeuristicLab.Problems.MetaOptimization.Views/3.3/ParameterConfigurationView.cs

    r4525 r4830  
    1010using HeuristicLab.Core.Views;
    1111using HeuristicLab.Core;
     12using HeuristicLab.Collections;
    1213
    1314namespace HeuristicLab.Problems.MetaOptimization.Views {
     
    1617  /// </summary>
    1718  [View("ParameterConfiguration View")]
    18   [Content(typeof(IParameterConfiguration), true)]
     19  [Content(typeof(IParameterConfiguration), false)]
     20  [Content(typeof(ParameterConfiguration), true)]
    1921  public partial class ParameterConfigurationView : ItemView {
    2022    /// <summary>
     
    3537      base.OnContentChanged();
    3638      if (Content != null) {
    37         viewHost.Content = Content.Parameter;
     39        optimizeCheckBox.Checked = Content.OptimizationEnabled;
     40        valueViewHost.ViewType = typeof(ValueView);
     41        valueViewHost.Content = Content;
     42        if (Content is IntValueParameterConfiguration) {
     43          configurationViewHost.Content = ((IntValueParameterConfiguration)Content).Ranges;
     44        } else {
     45          configurationViewHost.Content = null;
     46        }
     47
     48        childParameterConfigurationListView.Content = ((ParameterConfiguration)Content).ChildParameterConfigurations;
    3849      } else {
    39         viewHost.Content = null;
     50        valueViewHost.Content = null;
     51        configurationViewHost.Content = null;
     52        childParameterConfigurationListView.Content = null;
    4053      }
     54      SetEnabledStateOfControls();
     55    }
     56
     57    protected override void RegisterContentEvents() {
     58      base.RegisterContentEvents();
     59      Content.ChildParameterConfigurations.ItemsAdded += new CollectionItemsChangedEventHandler<IndexedItem<IParameterConfiguration>>(ChildParameterConfigurations_ItemsAdded);
     60      Content.ChildParameterConfigurations.ItemsRemoved += new CollectionItemsChangedEventHandler<IndexedItem<IParameterConfiguration>>(ChildParameterConfigurations_ItemsRemoved);
     61    }
     62    protected override void DeregisterContentEvents() {
     63      Content.ChildParameterConfigurations.ItemsAdded -= new CollectionItemsChangedEventHandler<IndexedItem<IParameterConfiguration>>(ChildParameterConfigurations_ItemsAdded);
     64      Content.ChildParameterConfigurations.ItemsRemoved -= new CollectionItemsChangedEventHandler<IndexedItem<IParameterConfiguration>>(ChildParameterConfigurations_ItemsRemoved);
     65      base.DeregisterContentEvents();
     66    }
     67
     68    void ChildParameterConfigurations_ItemsRemoved(object sender, Collections.CollectionItemsChangedEventArgs<Collections.IndexedItem<IParameterConfiguration>> e) {
     69      SetEnabledStateOfControls();
     70    }
     71   
     72    void ChildParameterConfigurations_ItemsAdded(object sender, Collections.CollectionItemsChangedEventArgs<Collections.IndexedItem<IParameterConfiguration>> e) {
     73      SetEnabledStateOfControls();
    4174    }
    4275
    4376    protected override void SetEnabledStateOfControls() {
    4477      base.SetEnabledStateOfControls();
     78      this.SuspendLayout();
     79      if (optimizeCheckBox.Checked) {
     80        DisableTabPage(valueTabPage);
     81        EnableTabPage(configurationtabPage);
     82        if (Content.ChildParameterConfigurations.Count > 0)
     83          EnableTabPage(childParameterTabPage);
     84      } else {
     85        DisableTabPage(configurationtabPage);
     86        DisableTabPage(childParameterTabPage);
     87        EnableTabPage(valueTabPage);
     88      }
     89      this.ResumeLayout();
    4590    }
    4691
    4792    private void optimizeCheckBox_CheckedChanged(object sender, EventArgs e) {
     93      Content.OptimizationEnabled = optimizeCheckBox.Checked;
     94      SetEnabledStateOfControls();
     95    }
    4896
     97    protected void EnableTabPage(TabPage tabPage) {
     98      if (!tabControl.TabPages.Contains(tabPage)) {
     99        tabControl.TabPages.Add(tabPage);
     100      }
     101    }
     102
     103    protected void DisableTabPage(TabPage tabPage) {
     104      if (tabControl.TabPages.Contains(tabPage)) {
     105        tabControl.TabPages.Remove(tabPage);
     106      }
    49107    }
    50108  }
Note: See TracChangeset for help on using the changeset viewer.