Index: /branches/NewItemDialog/HeuristicLab.Optimizer/3.3/NewItemDialog.Designer.cs
===================================================================
--- /branches/NewItemDialog/HeuristicLab.Optimizer/3.3/NewItemDialog.Designer.cs	(revision 12238)
+++ /branches/NewItemDialog/HeuristicLab.Optimizer/3.3/NewItemDialog.Designer.cs	(revision 12239)
@@ -51,16 +51,18 @@
       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();
       this.splitContainer = new System.Windows.Forms.SplitContainer();
       this.availableItemsGroupBox = new System.Windows.Forms.GroupBox();
-      this.searchTextBox = new System.Windows.Forms.TextBox();
-      this.clearSearchButton = new System.Windows.Forms.Button();
       this.typesTreeView = new System.Windows.Forms.TreeView();
       this.imageList = new System.Windows.Forms.ImageList(this.components);
-      this.descriptionGroupBox = new System.Windows.Forms.GroupBox();
+      this.itemGroupBox = new System.Windows.Forms.GroupBox();
+      this.itemDescriptionTextBox = new System.Windows.Forms.TextBox();
+      this.pluginDescriptionGroupBox = new System.Windows.Forms.GroupBox();
       this.versionTextBox = new System.Windows.Forms.TextBox();
       this.pluginTextBox = new System.Windows.Forms.TextBox();
-      this.descriptionTextBox = new System.Windows.Forms.TextBox();
-      this.expandAllButton = new System.Windows.Forms.Button();
-      this.collapseAllButton = new System.Windows.Forms.Button();
+      this.pluginDescriptionTextBox = new System.Windows.Forms.TextBox();
       this.contextMenuStrip = new System.Windows.Forms.ContextMenuStrip(this.components);
       this.expandToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
@@ -68,4 +70,6 @@
       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();
       this.splitContainer.Panel1.SuspendLayout();
@@ -73,7 +77,11 @@
       this.splitContainer.SuspendLayout();
       this.availableItemsGroupBox.SuspendLayout();
-      this.searchTextBox.SuspendLayout();
-      this.descriptionGroupBox.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.SuspendLayout();
       // 
@@ -83,5 +91,5 @@
       this.okButton.DialogResult = System.Windows.Forms.DialogResult.OK;
       this.okButton.Enabled = false;
-      this.okButton.Location = new System.Drawing.Point(456, 502);
+      this.okButton.Location = new System.Drawing.Point(456, 587);
       this.okButton.Name = "okButton";
       this.okButton.Size = new System.Drawing.Size(75, 23);
@@ -95,5 +103,5 @@
       this.cancelButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
       this.cancelButton.DialogResult = System.Windows.Forms.DialogResult.Cancel;
-      this.cancelButton.Location = new System.Drawing.Point(537, 502);
+      this.cancelButton.Location = new System.Drawing.Point(537, 587);
       this.cancelButton.Name = "cancelButton";
       this.cancelButton.Size = new System.Drawing.Size(75, 23);
@@ -111,39 +119,29 @@
       this.toolTip.SetToolTip(this.searchLabel, "Enter string to search for items");
       // 
-      // splitContainer
-      // 
-      this.splitContainer.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
-            | System.Windows.Forms.AnchorStyles.Left)
-            | System.Windows.Forms.AnchorStyles.Right)));
-      this.splitContainer.FixedPanel = System.Windows.Forms.FixedPanel.Panel2;
-      this.splitContainer.Location = new System.Drawing.Point(12, 12);
-      this.splitContainer.Name = "splitContainer";
-      this.splitContainer.Orientation = System.Windows.Forms.Orientation.Horizontal;
-      // 
-      // splitContainer.Panel1
-      // 
-      this.splitContainer.Panel1.Controls.Add(this.availableItemsGroupBox);
-      // 
-      // splitContainer.Panel2
-      // 
-      this.splitContainer.Panel2.Controls.Add(this.descriptionGroupBox);
-      this.splitContainer.Size = new System.Drawing.Size(600, 484);
-      this.splitContainer.SplitterDistance = 373;
-      this.splitContainer.TabIndex = 0;
-      this.splitContainer.TabStop = false;
-      // 
-      // availableItemsGroupBox
-      // 
-      this.availableItemsGroupBox.Controls.Add(this.searchLabel);
-      this.availableItemsGroupBox.Controls.Add(this.searchTextBox);
-      this.availableItemsGroupBox.Controls.Add(this.typesTreeView);
-      this.availableItemsGroupBox.Dock = System.Windows.Forms.DockStyle.Fill;
-      this.availableItemsGroupBox.Location = new System.Drawing.Point(0, 0);
-      this.availableItemsGroupBox.Name = "availableItemsGroupBox";
-      this.availableItemsGroupBox.Padding = new System.Windows.Forms.Padding(3, 15, 3, 3);
-      this.availableItemsGroupBox.Size = new System.Drawing.Size(600, 373);
-      this.availableItemsGroupBox.TabIndex = 5;
-      this.availableItemsGroupBox.TabStop = false;
-      this.availableItemsGroupBox.Text = "Available 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
@@ -157,4 +155,7 @@
       this.searchTextBox.Size = new System.Drawing.Size(562, 20);
       this.searchTextBox.TabIndex = 1;
+      this.toolTip.SetToolTip(this.searchTextBox, "Filters the available Items.\r\nThe search term is tokenized by space and a name ha" +
+        "s to contain all tokens to be displayed.\r\n(E.g. \"Sym Reg\" matches \"Symbolic Regr" +
+        "ession\")");
       this.searchTextBox.TextChanged += new System.EventHandler(this.searchTextBox_TextChanged);
       this.searchTextBox.KeyDown += new System.Windows.Forms.KeyEventHandler(this.searchTextBox_KeyDown);
@@ -178,4 +179,40 @@
       this.clearSearchButton.Click += new System.EventHandler(this.clearSearchButton_Click);
       // 
+      // splitContainer
+      // 
+      this.splitContainer.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+            | System.Windows.Forms.AnchorStyles.Left)
+            | System.Windows.Forms.AnchorStyles.Right)));
+      this.splitContainer.FixedPanel = System.Windows.Forms.FixedPanel.Panel2;
+      this.splitContainer.Location = new System.Drawing.Point(12, 12);
+      this.splitContainer.Name = "splitContainer";
+      this.splitContainer.Orientation = System.Windows.Forms.Orientation.Horizontal;
+      // 
+      // splitContainer.Panel1
+      // 
+      this.splitContainer.Panel1.Controls.Add(this.availableItemsGroupBox);
+      // 
+      // splitContainer.Panel2
+      // 
+      this.splitContainer.Panel2.Controls.Add(this.descriptionSplitContainer);
+      this.splitContainer.Size = new System.Drawing.Size(600, 569);
+      this.splitContainer.SplitterDistance = 373;
+      this.splitContainer.TabIndex = 0;
+      this.splitContainer.TabStop = false;
+      // 
+      // availableItemsGroupBox
+      // 
+      this.availableItemsGroupBox.Controls.Add(this.searchLabel);
+      this.availableItemsGroupBox.Controls.Add(this.searchTextBox);
+      this.availableItemsGroupBox.Controls.Add(this.typesTreeView);
+      this.availableItemsGroupBox.Dock = System.Windows.Forms.DockStyle.Fill;
+      this.availableItemsGroupBox.Location = new System.Drawing.Point(0, 0);
+      this.availableItemsGroupBox.Name = "availableItemsGroupBox";
+      this.availableItemsGroupBox.Padding = new System.Windows.Forms.Padding(3, 15, 3, 3);
+      this.availableItemsGroupBox.Size = new System.Drawing.Size(600, 373);
+      this.availableItemsGroupBox.TabIndex = 5;
+      this.availableItemsGroupBox.TabStop = false;
+      this.availableItemsGroupBox.Text = "Available Items";
+      // 
       // typesTreeView
       // 
@@ -203,16 +240,42 @@
       this.imageList.TransparentColor = System.Drawing.Color.Transparent;
       // 
-      // descriptionGroupBox
-      // 
-      this.descriptionGroupBox.Controls.Add(this.versionTextBox);
-      this.descriptionGroupBox.Controls.Add(this.pluginTextBox);
-      this.descriptionGroupBox.Controls.Add(this.descriptionTextBox);
-      this.descriptionGroupBox.Dock = System.Windows.Forms.DockStyle.Fill;
-      this.descriptionGroupBox.Location = new System.Drawing.Point(0, 0);
-      this.descriptionGroupBox.Name = "descriptionGroupBox";
-      this.descriptionGroupBox.Size = new System.Drawing.Size(600, 107);
-      this.descriptionGroupBox.TabIndex = 1;
-      this.descriptionGroupBox.TabStop = false;
-      this.descriptionGroupBox.Text = "Description";
+      // itemGroupBox
+      // 
+      this.itemGroupBox.Controls.Add(this.itemDescriptionTextBox);
+      this.itemGroupBox.Dock = System.Windows.Forms.DockStyle.Fill;
+      this.itemGroupBox.Location = new System.Drawing.Point(0, 0);
+      this.itemGroupBox.Name = "itemGroupBox";
+      this.itemGroupBox.Size = new System.Drawing.Size(600, 81);
+      this.itemGroupBox.TabIndex = 1;
+      this.itemGroupBox.TabStop = false;
+      this.itemGroupBox.Text = "Item";
+      // 
+      // itemDescriptionTextBox
+      // 
+      this.itemDescriptionTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+            | System.Windows.Forms.AnchorStyles.Left)
+            | System.Windows.Forms.AnchorStyles.Right)));
+      this.itemDescriptionTextBox.Font = new System.Drawing.Font("Courier New", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+      this.itemDescriptionTextBox.Location = new System.Drawing.Point(6, 19);
+      this.itemDescriptionTextBox.Multiline = true;
+      this.itemDescriptionTextBox.Name = "itemDescriptionTextBox";
+      this.itemDescriptionTextBox.ReadOnly = true;
+      this.itemDescriptionTextBox.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
+      this.itemDescriptionTextBox.Size = new System.Drawing.Size(588, 56);
+      this.itemDescriptionTextBox.TabIndex = 0;
+      this.itemDescriptionTextBox.TabStop = false;
+      // 
+      // pluginDescriptionGroupBox
+      // 
+      this.pluginDescriptionGroupBox.Controls.Add(this.versionTextBox);
+      this.pluginDescriptionGroupBox.Controls.Add(this.pluginTextBox);
+      this.pluginDescriptionGroupBox.Controls.Add(this.pluginDescriptionTextBox);
+      this.pluginDescriptionGroupBox.Dock = System.Windows.Forms.DockStyle.Fill;
+      this.pluginDescriptionGroupBox.Location = new System.Drawing.Point(0, 0);
+      this.pluginDescriptionGroupBox.Name = "pluginDescriptionGroupBox";
+      this.pluginDescriptionGroupBox.Size = new System.Drawing.Size(600, 107);
+      this.pluginDescriptionGroupBox.TabIndex = 1;
+      this.pluginDescriptionGroupBox.TabStop = false;
+      this.pluginDescriptionGroupBox.Text = "Plugin";
       // 
       // versionTextBox
@@ -237,42 +300,18 @@
       this.pluginTextBox.TabStop = false;
       // 
-      // descriptionTextBox
-      // 
-      this.descriptionTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+      // pluginDescriptionTextBox
+      // 
+      this.pluginDescriptionTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
             | System.Windows.Forms.AnchorStyles.Left)
             | System.Windows.Forms.AnchorStyles.Right)));
-      this.descriptionTextBox.Font = new System.Drawing.Font("Courier New", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
-      this.descriptionTextBox.Location = new System.Drawing.Point(6, 46);
-      this.descriptionTextBox.Multiline = true;
-      this.descriptionTextBox.Name = "descriptionTextBox";
-      this.descriptionTextBox.ReadOnly = true;
-      this.descriptionTextBox.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
-      this.descriptionTextBox.Size = new System.Drawing.Size(588, 55);
-      this.descriptionTextBox.TabIndex = 0;
-      this.descriptionTextBox.TabStop = false;
-      // 
-      // 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, 502);
-      this.expandAllButton.Name = "expandAllButton";
-      this.expandAllButton.Size = new System.Drawing.Size(23, 23);
-      this.expandAllButton.TabIndex = 0;
-      this.expandAllButton.TabStop = false;
-      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, 502);
-      this.collapseAllButton.Name = "collapseAllButton";
-      this.collapseAllButton.Size = new System.Drawing.Size(23, 23);
-      this.collapseAllButton.TabIndex = 0;
-      this.collapseAllButton.TabStop = false;
-      this.collapseAllButton.UseVisualStyleBackColor = true;
-      this.collapseAllButton.Click += new System.EventHandler(this.collapseAllButton_Click);
+      this.pluginDescriptionTextBox.Font = new System.Drawing.Font("Courier New", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
+      this.pluginDescriptionTextBox.Location = new System.Drawing.Point(6, 46);
+      this.pluginDescriptionTextBox.Multiline = true;
+      this.pluginDescriptionTextBox.Name = "pluginDescriptionTextBox";
+      this.pluginDescriptionTextBox.ReadOnly = true;
+      this.pluginDescriptionTextBox.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
+      this.pluginDescriptionTextBox.Size = new System.Drawing.Size(588, 55);
+      this.pluginDescriptionTextBox.TabIndex = 0;
+      this.pluginDescriptionTextBox.TabStop = false;
       // 
       // contextMenuStrip
@@ -314,4 +353,23 @@
       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
       // 
@@ -319,5 +377,5 @@
       this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Inherit;
       this.CancelButton = this.cancelButton;
-      this.ClientSize = new System.Drawing.Size(624, 537);
+      this.ClientSize = new System.Drawing.Size(624, 622);
       this.Controls.Add(this.splitContainer);
       this.Controls.Add(this.cancelButton);
@@ -335,4 +393,5 @@
       this.Load += new System.EventHandler(this.NewItemDialog_Load);
       this.Shown += new System.EventHandler(this.NewItemDialog_Shown);
+      this.searchTextBox.ResumeLayout(false);
       this.splitContainer.Panel1.ResumeLayout(false);
       this.splitContainer.Panel2.ResumeLayout(false);
@@ -341,8 +400,13 @@
       this.availableItemsGroupBox.ResumeLayout(false);
       this.availableItemsGroupBox.PerformLayout();
-      this.searchTextBox.ResumeLayout(false);
-      this.descriptionGroupBox.ResumeLayout(false);
-      this.descriptionGroupBox.PerformLayout();
+      this.itemGroupBox.ResumeLayout(false);
+      this.itemGroupBox.PerformLayout();
+      this.pluginDescriptionGroupBox.ResumeLayout(false);
+      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);
 
@@ -355,5 +419,5 @@
     private System.Windows.Forms.ToolTip toolTip;
     private System.Windows.Forms.SplitContainer splitContainer;
-    private System.Windows.Forms.TextBox descriptionTextBox;
+    private System.Windows.Forms.TextBox pluginDescriptionTextBox;
     private System.Windows.Forms.Label searchLabel;
     private System.Windows.Forms.TextBox searchTextBox;
@@ -363,5 +427,5 @@
     private System.Windows.Forms.Button collapseAllButton;
     private System.Windows.Forms.GroupBox availableItemsGroupBox;
-    private System.Windows.Forms.GroupBox descriptionGroupBox;
+    private System.Windows.Forms.GroupBox pluginDescriptionGroupBox;
     private System.Windows.Forms.TextBox versionTextBox;
     private System.Windows.Forms.TextBox pluginTextBox;
@@ -372,4 +436,7 @@
     private System.Windows.Forms.ToolStripMenuItem collapseAllToolStripMenuItem;
     private System.Windows.Forms.Button clearSearchButton;
+    private System.Windows.Forms.GroupBox itemGroupBox;
+    private System.Windows.Forms.TextBox itemDescriptionTextBox;
+    private System.Windows.Forms.SplitContainer descriptionSplitContainer;
   }
 }
Index: /branches/NewItemDialog/HeuristicLab.Optimizer/3.3/NewItemDialog.cs
===================================================================
--- /branches/NewItemDialog/HeuristicLab.Optimizer/3.3/NewItemDialog.cs	(revision 12238)
+++ /branches/NewItemDialog/HeuristicLab.Optimizer/3.3/NewItemDialog.cs	(revision 12239)
@@ -162,4 +162,8 @@
       searchTextBox.Text = string.Empty;
       searchTextBox.Focus();
+      SelectedType = null;
+      typesTreeView.SelectedNode = null;
+      typesTreeView.CollapseAll();
+      UpdateDescription();
     }
 
@@ -172,5 +176,5 @@
         if (!searchString.Contains(currentSearchString)) {
           typesTreeView.BeginUpdate();
-          // expand saerch -> restore all tree nodes
+          // expand search -> restore all tree nodes
           var selectedNode = typesTreeView.SelectedNode;
           typesTreeView.Nodes.Clear();
@@ -197,11 +201,9 @@
 
         // select first item
-        if (SelectedType == null) {
-          var firstNode = FirstVisibleNode;
-          while (firstNode != null && !(firstNode.Tag is Type))
-            firstNode = firstNode.NextVisibleNode;
-          if (firstNode != null)
-            typesTreeView.SelectedNode = firstNode;
-        }
+        var firstNode = FirstVisibleNode;
+        while (firstNode != null && !(firstNode.Tag is Type))
+          firstNode = firstNode.NextVisibleNode;
+        if (firstNode != null)
+          typesTreeView.SelectedNode = firstNode;
 
         if (typesTreeView.Nodes.Count == 0) {
@@ -243,12 +245,13 @@
 
     protected virtual void UpdateDescription() {
-      descriptionTextBox.Text = string.Empty;
+      itemDescriptionTextBox.Text = string.Empty;
+      pluginDescriptionTextBox.Text = string.Empty;
+      pluginTextBox.Text = string.Empty;
+      versionTextBox.Text = string.Empty;
 
       if (typesTreeView.SelectedNode != null) {
         string category = typesTreeView.SelectedNode.Tag as string;
         if (category != null) {
-          descriptionTextBox.Text = category;
-          pluginTextBox.Text = string.Empty;
-          versionTextBox.Text = string.Empty;
+          itemDescriptionTextBox.Text = category;
         }
         Type type = typesTreeView.SelectedNode.Tag as Type;
@@ -258,14 +261,14 @@
           var plugin = ApplicationManager.Manager.GetDeclaringPlugin(type);
           if (description != null)
-            descriptionTextBox.Text = description;
-          if (plugin != null)
+            itemDescriptionTextBox.Text = description;
+          if (plugin != null) {
             pluginTextBox.Text = plugin.Name;
+            pluginDescriptionTextBox.Text = plugin.Description;
+          }
           if (version != null)
             versionTextBox.Text = version.ToString();
         }
       } else if (typesTreeView.Nodes.Count == 0) {
-        descriptionTextBox.Text = "No types found";
-        pluginTextBox.Text = string.Empty;
-        versionTextBox.Text = string.Empty;
+        itemDescriptionTextBox.Text = "No types found";
       }
     }
