Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
01/08/12 19:13:14 (12 years ago)
Author:
gkronber
Message:

#1669 merged r7209:7283 from trunk into regression benchmark branch

Location:
branches/RegressionBenchmarks
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/RegressionBenchmarks

  • branches/RegressionBenchmarks/HeuristicLab.Optimization.Views/3.3/ExperimentTreeView.cs

    r6628 r7290  
    11#region License Information
    22/* HeuristicLab
    3  * Copyright (C) 2002-2011 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
     3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
    44 *
    55 * This file is part of HeuristicLab.
     
    186186        foreach (TreeNode childNode in CreateAlgorithmChildNodes(algorithm)) {
    187187          node.Nodes.Add(childNode);
    188           NamedItem namedItem = childNode.Tag as NamedItem;
     188          INamedItem namedItem = childNode.Tag as INamedItem;
    189189          if (namedItem != null) {
    190190            if (!treeNodeTagMapping.TryGetValue(namedItem, out nodes)) {
     
    607607
    608608      var treeNode = treeView.SelectedNode;
    609       var namedItem = (NamedItem)treeNode.Tag;
     609      var namedItem = (INamedItem)treeNode.Tag;
    610610      var optimizer = namedItem as IOptimizer;
    611611
     
    652652        SetEnabledStateOfControls();
    653653
    654         ExpandToolStripMenuItem.Enabled = !toolStripMenuNode.IsExpanded && toolStripMenuNode.Nodes.Count > 0;
    655         ExpandToolStripMenuItem.Visible = !toolStripMenuNode.IsExpanded && toolStripMenuNode.Nodes.Count > 0;
    656         CollapseToolStripMenuItem.Enabled = toolStripMenuNode.IsExpanded;
    657         CollapseToolStripMenuItem.Visible = toolStripMenuNode.IsExpanded;
    658         EditNodeLabelToolStripMenuItem.Enabled = !Locked && !ReadOnly && toolStripMenuNode.Tag != null && toolStripMenuNode.Tag is INamedItem && ((INamedItem)toolStripMenuNode.Tag).CanChangeName;
    659         EditNodeLabelToolStripMenuItem.Visible = !Locked && !ReadOnly && toolStripMenuNode.Tag != null && toolStripMenuNode.Tag is INamedItem && ((INamedItem)toolStripMenuNode.Tag).CanChangeName;
    660         if (contextMenuStrip.Items.Cast<ToolStripMenuItem>().Any(item => item.Enabled))
    661           contextMenuStrip.Show(Cursor.Position);
    662       }
     654        ExpandToolStripMenuItem.Enabled = ExpandToolStripMenuItem.Visible = !toolStripMenuNode.IsExpanded && toolStripMenuNode.Nodes.Count > 0;
     655        CollapseToolStripMenuItem.Enabled = CollapseToolStripMenuItem.Visible = toolStripMenuNode.IsExpanded;
     656        EditNodeLabelToolStripMenuItem.Enabled = EditNodeLabelToolStripMenuItem.Visible = !Locked && !ReadOnly && toolStripMenuNode.Tag != null && toolStripMenuNode.Tag is INamedItem && ((INamedItem)toolStripMenuNode.Tag).CanChangeName;
     657      } else {
     658        ExpandToolStripMenuItem.Enabled = ExpandToolStripMenuItem.Visible = false;
     659        CollapseToolStripMenuItem.Enabled = CollapseToolStripMenuItem.Visible = false;
     660        EditNodeLabelToolStripMenuItem.Enabled = EditNodeLabelToolStripMenuItem.Visible = false;
     661      }
     662      ExpandAllToolStripMenuItem.Enabled = ExpandAllToolStripMenuItem.Visible = !treeView.Nodes.OfType<TreeNode>().All(x => TreeNodeIsFullyExpanded(x));
     663      CollapseAllToolStripMenuItem.Enabled = CollapseAllToolStripMenuItem.Visible = treeView.Nodes.OfType<TreeNode>().Any(x => x.IsExpanded);
     664      if (contextMenuStrip.Items.Cast<ToolStripMenuItem>().Any(item => item.Enabled))
     665        contextMenuStrip.Show(Cursor.Position);
    663666    }
    664667
     
    681684      if (toolStripMenuNode != null) toolStripMenuNode.ExpandAll();
    682685    }
     686    private void ExpandAllToolStripMenuItem_Click(object sender, EventArgs e) {
     687      treeView.ExpandAll();
     688    }
    683689    private void CollapseToolStripMenuItem_Click(object sender, EventArgs e) {
    684690      if (toolStripMenuNode != null) toolStripMenuNode.Collapse();
     691    }
     692    private void CollapseAllToolStripMenuItem_Click(object sender, EventArgs e) {
     693      treeView.CollapseAll();
    685694    }
    686695    private void EditNodeLabelToolStripMenuItem_Click(object sender, EventArgs e) {
     
    723732            algorithm.Problem = problem;
    724733          }
    725         } catch (Exception ex) {
     734        }
     735        catch (Exception ex) {
    726736          ErrorHandling.ShowErrorDialog(this, ex);
    727737        }
     
    811821
    812822      foreach (TreeNode childNode in node.Nodes) {
    813         NamedItem namedItem = childNode.Tag as NamedItem;
     823        INamedItem namedItem = childNode.Tag as INamedItem;
    814824        if (namedItem != null) {
    815825          if (!treeNodeTagMapping.TryGetValue(namedItem, out nodes)) {
     
    871881    }
    872882
     883    private bool TreeNodeIsFullyExpanded(TreeNode node) {
     884      return (node.Nodes.Count == 0) || (node.IsExpanded && node.Nodes.OfType<TreeNode>().All(x => TreeNodeIsFullyExpanded(x)));
     885    }
     886
    873887    private void RebuildImageList() {
    874888      if (InvokeRequired) {
Note: See TracChangeset for help on using the changeset viewer.