Index: /trunk/sources/HeuristicLab.Optimizer/3.3/NewItemDialog.Designer.cs
===================================================================
--- /trunk/sources/HeuristicLab.Optimizer/3.3/NewItemDialog.Designer.cs	(revision 12392)
+++ /trunk/sources/HeuristicLab.Optimizer/3.3/NewItemDialog.Designer.cs	(revision 12393)
@@ -51,6 +51,4 @@
       this.toolTip = new System.Windows.Forms.ToolTip(this.components);
       this.searchLabel = new System.Windows.Forms.Label();
-      this.expandAllButton = new System.Windows.Forms.Button();
-      this.collapseAllButton = new System.Windows.Forms.Button();
       this.searchTextBox = new System.Windows.Forms.TextBox();
       this.clearSearchButton = new System.Windows.Forms.Button();
@@ -59,4 +57,5 @@
       this.typesTreeView = new System.Windows.Forms.TreeView();
       this.imageList = new System.Windows.Forms.ImageList(this.components);
+      this.descriptionSplitContainer = new System.Windows.Forms.SplitContainer();
       this.itemGroupBox = new System.Windows.Forms.GroupBox();
       this.itemDescriptionTextBox = new System.Windows.Forms.TextBox();
@@ -70,5 +69,4 @@
       this.collapseToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
       this.collapseAllToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
-      this.descriptionSplitContainer = new System.Windows.Forms.SplitContainer();
       this.searchTextBox.SuspendLayout();
       ((System.ComponentModel.ISupportInitialize)(this.splitContainer)).BeginInit();
@@ -77,11 +75,11 @@
       this.splitContainer.SuspendLayout();
       this.availableItemsGroupBox.SuspendLayout();
-      this.itemGroupBox.SuspendLayout();
-      this.pluginDescriptionGroupBox.SuspendLayout();
-      this.contextMenuStrip.SuspendLayout();
       ((System.ComponentModel.ISupportInitialize)(this.descriptionSplitContainer)).BeginInit();
       this.descriptionSplitContainer.Panel1.SuspendLayout();
       this.descriptionSplitContainer.Panel2.SuspendLayout();
       this.descriptionSplitContainer.SuspendLayout();
+      this.itemGroupBox.SuspendLayout();
+      this.pluginDescriptionGroupBox.SuspendLayout();
+      this.contextMenuStrip.SuspendLayout();
       this.SuspendLayout();
       // 
@@ -118,30 +116,4 @@
       this.searchLabel.TabIndex = 0;
       this.toolTip.SetToolTip(this.searchLabel, "Enter string to search for items");
-      // 
-      // expandAllButton
-      // 
-      this.expandAllButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
-      this.expandAllButton.Image = HeuristicLab.Common.Resources.VSImageLibrary.ZoomIn;
-      this.expandAllButton.Location = new System.Drawing.Point(12, 587);
-      this.expandAllButton.Name = "expandAllButton";
-      this.expandAllButton.Size = new System.Drawing.Size(23, 23);
-      this.expandAllButton.TabIndex = 0;
-      this.expandAllButton.TabStop = false;
-      this.toolTip.SetToolTip(this.expandAllButton, "Expand all nodes.");
-      this.expandAllButton.UseVisualStyleBackColor = true;
-      this.expandAllButton.Click += new System.EventHandler(this.expandAllButton_Click);
-      // 
-      // collapseAllButton
-      // 
-      this.collapseAllButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
-      this.collapseAllButton.Image = HeuristicLab.Common.Resources.VSImageLibrary.ZoomOut;
-      this.collapseAllButton.Location = new System.Drawing.Point(41, 587);
-      this.collapseAllButton.Name = "collapseAllButton";
-      this.collapseAllButton.Size = new System.Drawing.Size(23, 23);
-      this.collapseAllButton.TabIndex = 0;
-      this.collapseAllButton.TabStop = false;
-      this.toolTip.SetToolTip(this.collapseAllButton, "Collapse all nodes.");
-      this.collapseAllButton.UseVisualStyleBackColor = true;
-      this.collapseAllButton.Click += new System.EventHandler(this.collapseAllButton_Click);
       // 
       // searchTextBox
@@ -240,4 +212,23 @@
       this.imageList.TransparentColor = System.Drawing.Color.Transparent;
       // 
+      // descriptionSplitContainer
+      // 
+      this.descriptionSplitContainer.Dock = System.Windows.Forms.DockStyle.Fill;
+      this.descriptionSplitContainer.Location = new System.Drawing.Point(0, 0);
+      this.descriptionSplitContainer.Name = "descriptionSplitContainer";
+      this.descriptionSplitContainer.Orientation = System.Windows.Forms.Orientation.Horizontal;
+      // 
+      // descriptionSplitContainer.Panel1
+      // 
+      this.descriptionSplitContainer.Panel1.Controls.Add(this.itemGroupBox);
+      // 
+      // descriptionSplitContainer.Panel2
+      // 
+      this.descriptionSplitContainer.Panel2.Controls.Add(this.pluginDescriptionGroupBox);
+      this.descriptionSplitContainer.Size = new System.Drawing.Size(600, 192);
+      this.descriptionSplitContainer.SplitterDistance = 81;
+      this.descriptionSplitContainer.TabIndex = 1;
+      this.descriptionSplitContainer.TabStop = false;
+      // 
       // itemGroupBox
       // 
@@ -353,23 +344,4 @@
       this.collapseAllToolStripMenuItem.Click += new System.EventHandler(this.collapseAllToolStripMenuItem_Click);
       // 
-      // descriptionSplitContainer
-      // 
-      this.descriptionSplitContainer.Dock = System.Windows.Forms.DockStyle.Fill;
-      this.descriptionSplitContainer.Location = new System.Drawing.Point(0, 0);
-      this.descriptionSplitContainer.Name = "descriptionSplitContainer";
-      this.descriptionSplitContainer.Orientation = System.Windows.Forms.Orientation.Horizontal;
-      // 
-      // descriptionSplitContainer.Panel1
-      // 
-      this.descriptionSplitContainer.Panel1.Controls.Add(this.itemGroupBox);
-      // 
-      // descriptionSplitContainer.Panel2
-      // 
-      this.descriptionSplitContainer.Panel2.Controls.Add(this.pluginDescriptionGroupBox);
-      this.descriptionSplitContainer.Size = new System.Drawing.Size(600, 192);
-      this.descriptionSplitContainer.SplitterDistance = 81;
-      this.descriptionSplitContainer.TabIndex = 1;
-      this.descriptionSplitContainer.TabStop = false;
-      // 
       // NewItemDialog
       // 
@@ -381,6 +353,4 @@
       this.Controls.Add(this.cancelButton);
       this.Controls.Add(this.okButton);
-      this.Controls.Add(this.expandAllButton);
-      this.Controls.Add(this.collapseAllButton);
       this.MaximizeBox = false;
       this.MinimizeBox = false;
@@ -400,4 +370,8 @@
       this.availableItemsGroupBox.ResumeLayout(false);
       this.availableItemsGroupBox.PerformLayout();
+      this.descriptionSplitContainer.Panel1.ResumeLayout(false);
+      this.descriptionSplitContainer.Panel2.ResumeLayout(false);
+      ((System.ComponentModel.ISupportInitialize)(this.descriptionSplitContainer)).EndInit();
+      this.descriptionSplitContainer.ResumeLayout(false);
       this.itemGroupBox.ResumeLayout(false);
       this.itemGroupBox.PerformLayout();
@@ -405,8 +379,4 @@
       this.pluginDescriptionGroupBox.PerformLayout();
       this.contextMenuStrip.ResumeLayout(false);
-      this.descriptionSplitContainer.Panel1.ResumeLayout(false);
-      this.descriptionSplitContainer.Panel2.ResumeLayout(false);
-      ((System.ComponentModel.ISupportInitialize)(this.descriptionSplitContainer)).EndInit();
-      this.descriptionSplitContainer.ResumeLayout(false);
       this.ResumeLayout(false);
 
@@ -424,6 +394,4 @@
     private System.Windows.Forms.TreeView typesTreeView;
     private System.Windows.Forms.ImageList imageList;
-    private System.Windows.Forms.Button expandAllButton;
-    private System.Windows.Forms.Button collapseAllButton;
     private System.Windows.Forms.GroupBox availableItemsGroupBox;
     private System.Windows.Forms.GroupBox pluginDescriptionGroupBox;
Index: /trunk/sources/HeuristicLab.Optimizer/3.3/NewItemDialog.cs
===================================================================
--- /trunk/sources/HeuristicLab.Optimizer/3.3/NewItemDialog.cs	(revision 12392)
+++ /trunk/sources/HeuristicLab.Optimizer/3.3/NewItemDialog.cs	(revision 12393)
@@ -336,11 +336,4 @@
     }
 
-    private void expandAllButton_Click(object sender, EventArgs e) {
-      typesTreeView.ExpandAll();
-    }
-    private void collapseAllButton_Click(object sender, EventArgs e) {
-      typesTreeView.CollapseAll();
-    }
-
     private TreeNode toolStripMenuNode = null;
     private void typesTreeView_MouseDown(object sender, MouseEventArgs e) {
@@ -398,12 +391,11 @@
         var selectedNode = typesTreeView.SelectedNode;
 
-        if (selectedNode == null) { // nothing selected => select first or last
+        if (selectedNode == null) { // nothing selected => select first
           if (e.KeyCode == Keys.Down) typesTreeView.SelectedNode = FirstVisibleNode;
-          if (e.KeyCode == Keys.Up) typesTreeView.SelectedNode = LastVisibleNode;
         } else {
-          if (e.KeyCode == Keys.Down)
-            typesTreeView.SelectedNode = selectedNode.NextVisibleNode ?? FirstVisibleNode; // select next or cycle to first
-          if (e.KeyCode == Keys.Up)
-            typesTreeView.SelectedNode = selectedNode.PrevVisibleNode ?? LastVisibleNode; // select prev or cycle to last
+          if (e.KeyCode == Keys.Down && selectedNode.NextVisibleNode != null)
+            typesTreeView.SelectedNode = selectedNode.NextVisibleNode;
+          if (e.KeyCode == Keys.Up && selectedNode.PrevVisibleNode != null)
+            typesTreeView.SelectedNode = selectedNode.PrevVisibleNode;
         }
         e.Handled = true;
