Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
06/08/10 16:26:35 (14 years ago)
Author:
epitzer
Message:

Incorporate changes suggested by abeham in 842#comment:28 (#842)

  • Fix persistence of selected assemblies
  • Fix problem with static initialization
  • Make parameter values (ActualValue) with parameter object
  • show (or hide) parameter namespaces as necessary
  • add icons for buttons, assemblies and namespaces
  • sort assemblies and namespaces alphabetically
  • correctly mark and unmark select assemblies
  • put assemblies and namespaces into group boxes
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Operators.Programmable/3.3/ProgrammableOperatorView.cs

    r3758 r3903  
    3838using HeuristicLab.MainForm;
    3939using HeuristicLab.PluginInfrastructure;
     40using HeuristicLab.Common.Resources;
    4041
    4142namespace HeuristicLab.Operators.Programmable {
     
    5152    public ProgrammableOperatorView() {
    5253      InitializeComponent();
    53     }
    54 
    55     public ProgrammableOperatorView(ProgrammableOperator programmableOperator)
    56       : this() {
    57       ProgrammableOperator = programmableOperator;
     54      namespacesTreeView.ImageList = new ImageList();
     55      namespacesTreeView.ImageList.Images.Add(VS2008ImageLibrary.Namespace);
     56      assembliesTreeView.ImageList = new ImageList();
     57      assembliesTreeView.ImageList.Images.Add(VS2008ImageLibrary.Assembly);
     58      assembliesTreeView.ImageList.Images.Add(VS2008ImageLibrary.Module);
    5859    }
    5960
     
    7879      } else {
    7980        codeEditor.Prefix = GetGeneratedPrefix();
    80         codeEditor.Suffix = @"
    81     return null;
     81        codeEditor.Suffix = @"    return null;
    8282  }
    8383}";
    8484        codeEditor.UserCode = ProgrammableOperator.Code;
    8585        if (codeEditor.UserCode == "")
    86           codeEditor.UserCode = "\n\n\n";
     86          codeEditor.UserCode = "    \n    \n    \n    \n";
    8787        InitializeAssemblyList();
    8888        InitializeNamespacesList();
     
    9292        codeEditor.ScrollAfterPrefix();
    9393        codeEditor.ShowCompileErrors(ProgrammableOperator.CompileErrors, "ProgrammableOperator");
    94         showCodeButton.Enabled = 
    95           ProgrammableOperator.CompilationUnitCode != null && 
     94        showCodeButton.Enabled =
     95          ProgrammableOperator.CompilationUnitCode != null &&
    9696          ProgrammableOperator.CompilationUnitCode.Length > 0;
    9797        parameterCollectionView.Content = ProgrammableOperator.Parameters;
     
    186186        var node = assembliesTreeView.Nodes.Add(p.Key);
    187187        node.Tag = p;
     188        node.ImageIndex = 1;
    188189        foreach (var a in p.Value) {
    189190          var aNode = node.Nodes.Add(a.GetName().Name);
    190191          aNode.Tag = a;
     192          aNode.ImageIndex = 0;
    191193          if (selectedAssemblies.Contains(a))
    192194            aNode.Checked = true;
     
    194196        if (node.Nodes.Count == 1 && node.Nodes[0].Name == node.Nodes[0].Name) {
    195197          node.Tag = node.Nodes[0].Tag;
     198          node.ImageIndex = node.Nodes[0].ImageIndex;
     199          node.Checked = node.Nodes[0].Checked;
    196200          node.Nodes.Clear();
    197201        } else if (node.Nodes.Count > 0 && node.Nodes.Cast<TreeNode>().All(n => n.Checked)) {
     
    199203        }
    200204      }
     205      assembliesTreeView.Sort();
    201206      assembliesTreeView.EndUpdate();
    202207      assembliesTreeView.Enabled = true;
     
    216221        AddNamespace(namespacesTreeView.Nodes, ns, selectedNamespaces.Contains(ns), oldTree);
    217222      codeEditor.Prefix = GetGeneratedPrefix();
     223      namespacesTreeView.Sort();
    218224      namespacesTreeView.EndUpdate();
    219225      namespacesTreeView.Enabled = true;
     
    225231        TreeNode newNode = root.Nodes.Add(n.Text, n.Text);
    226232        newNode.Checked = n.Checked;
     233        newNode.ImageIndex = n.ImageIndex;
    227234        CloneTreeNodeCollection(newNode, n.Nodes);
    228235        if (n.IsExpanded)
     
    246253      if (isNew || oldNode != null && oldNode.IsExpanded)
    247254        node.Expand();
    248       if (isNew)
     255      if (isNew) {
    249256        namespacesTreeView.SelectedNode = node;
     257        node.ImageIndex = 0;
     258      } else {
     259        node.ImageIndex = oldNode.ImageIndex;
     260      }
    250261      return isNew;
    251262    }
Note: See TracChangeset for help on using the changeset viewer.