Index: branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Views/3.4/ExperimentManager/HiveExperimentView.Designer.cs
===================================================================
--- branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Views/3.4/ExperimentManager/HiveExperimentView.Designer.cs	(revision 5636)
+++ branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Views/3.4/ExperimentManager/HiveExperimentView.Designer.cs	(revision 5637)
@@ -68,5 +68,5 @@
       this.downloadExperimentPanel = new System.Windows.Forms.Panel();
       this.useLocalPluginsCheckBox = new System.Windows.Forms.CheckBox();
-      this.hiveJobView = new HeuristicLab.Clients.Hive.Views.HiveJobView();
+      this.jobViewHost = new HeuristicLab.MainForm.WindowsForms.ViewHost();
       ((System.ComponentModel.ISupportInitialize)(this.errorProvider)).BeginInit();
       this.tabControl.SuspendLayout();
@@ -81,9 +81,9 @@
       this.errorProvider.SetIconAlignment(this.nameTextBox, System.Windows.Forms.ErrorIconAlignment.MiddleLeft);
       this.errorProvider.SetIconPadding(this.nameTextBox, 2);
-      this.nameTextBox.Size = new System.Drawing.Size(670, 20);
+      this.nameTextBox.Size = new System.Drawing.Size(727, 20);
       // 
       // descriptionTextBox
       // 
-      this.descriptionTextBox.Size = new System.Drawing.Size(670, 20);
+      this.descriptionTextBox.Size = new System.Drawing.Size(727, 20);
       // 
       // tabControl
@@ -98,5 +98,5 @@
       this.tabControl.Name = "tabControl";
       this.tabControl.SelectedIndex = 0;
-      this.tabControl.Size = new System.Drawing.Size(742, 416);
+      this.tabControl.Size = new System.Drawing.Size(799, 520);
       this.tabControl.TabIndex = 4;
       // 
@@ -110,5 +110,5 @@
       this.experimentTabPage.Name = "experimentTabPage";
       this.experimentTabPage.Padding = new System.Windows.Forms.Padding(3);
-      this.experimentTabPage.Size = new System.Drawing.Size(734, 390);
+      this.experimentTabPage.Size = new System.Drawing.Size(791, 494);
       this.experimentTabPage.TabIndex = 1;
       this.experimentTabPage.Text = "Experiment";
@@ -163,8 +163,8 @@
       // jobsTabPage
       // 
-      this.jobsTabPage.Controls.Add(this.hiveJobView);
+      this.jobsTabPage.Controls.Add(this.jobViewHost);
       this.jobsTabPage.Location = new System.Drawing.Point(4, 22);
       this.jobsTabPage.Name = "jobsTabPage";
-      this.jobsTabPage.Size = new System.Drawing.Size(734, 390);
+      this.jobsTabPage.Size = new System.Drawing.Size(791, 494);
       this.jobsTabPage.TabIndex = 5;
       this.jobsTabPage.Text = "Jobs";
@@ -176,5 +176,5 @@
       this.logTabPage.Location = new System.Drawing.Point(4, 22);
       this.logTabPage.Name = "logTabPage";
-      this.logTabPage.Size = new System.Drawing.Size(734, 390);
+      this.logTabPage.Size = new System.Drawing.Size(791, 494);
       this.logTabPage.TabIndex = 3;
       this.logTabPage.Text = "Log";
@@ -213,5 +213,5 @@
       this.startButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
       this.startButton.Image = ((System.Drawing.Image)(resources.GetObject("startButton.Image")));
-      this.startButton.Location = new System.Drawing.Point(0, 500);
+      this.startButton.Location = new System.Drawing.Point(0, 604);
       this.startButton.Name = "startButton";
       this.startButton.Size = new System.Drawing.Size(24, 24);
@@ -225,5 +225,5 @@
       this.stopButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
       this.stopButton.Image = ((System.Drawing.Image)(resources.GetObject("stopButton.Image")));
-      this.stopButton.Location = new System.Drawing.Point(60, 500);
+      this.stopButton.Location = new System.Drawing.Point(60, 604);
       this.stopButton.Name = "stopButton";
       this.stopButton.Size = new System.Drawing.Size(24, 24);
@@ -238,5 +238,5 @@
       this.resetButton.Enabled = false;
       this.resetButton.Image = ((System.Drawing.Image)(resources.GetObject("resetButton.Image")));
-      this.resetButton.Location = new System.Drawing.Point(90, 500);
+      this.resetButton.Location = new System.Drawing.Point(90, 604);
       this.resetButton.Name = "resetButton";
       this.resetButton.Size = new System.Drawing.Size(24, 24);
@@ -250,5 +250,5 @@
       this.executionTimeLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
       this.executionTimeLabel.AutoSize = true;
-      this.executionTimeLabel.Location = new System.Drawing.Point(516, 507);
+      this.executionTimeLabel.Location = new System.Drawing.Point(573, 611);
       this.executionTimeLabel.Name = "executionTimeLabel";
       this.executionTimeLabel.Size = new System.Drawing.Size(83, 13);
@@ -259,5 +259,5 @@
       // 
       this.executionTimeTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
-      this.executionTimeTextBox.Location = new System.Drawing.Point(605, 504);
+      this.executionTimeTextBox.Location = new System.Drawing.Point(662, 608);
       this.executionTimeTextBox.Name = "executionTimeTextBox";
       this.executionTimeTextBox.ReadOnly = true;
@@ -270,5 +270,5 @@
       this.pauseButton.Enabled = false;
       this.pauseButton.Image = ((System.Drawing.Image)(resources.GetObject("pauseButton.Image")));
-      this.pauseButton.Location = new System.Drawing.Point(30, 500);
+      this.pauseButton.Location = new System.Drawing.Point(30, 604);
       this.pauseButton.Name = "pauseButton";
       this.pauseButton.Size = new System.Drawing.Size(24, 24);
@@ -287,11 +287,11 @@
       this.resourceIdsLabel.Text = "ResourceIds";
       // 
-      // resourceIdsTextBox
+      // resourceNamesTextBox
       // 
       this.resourceNamesTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
                   | System.Windows.Forms.AnchorStyles.Right)));
       this.resourceNamesTextBox.Location = new System.Drawing.Point(72, 52);
-      this.resourceNamesTextBox.Name = "resourceIdsTextBox";
-      this.resourceNamesTextBox.Size = new System.Drawing.Size(559, 20);
+      this.resourceNamesTextBox.Name = "resourceNamesTextBox";
+      this.resourceNamesTextBox.Size = new System.Drawing.Size(616, 20);
       this.resourceNamesTextBox.TabIndex = 14;
       this.resourceNamesTextBox.Validated += new System.EventHandler(this.resourceNamesTextBox_Validated);
@@ -301,5 +301,5 @@
       this.disconnectButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
       this.disconnectButton.Enabled = false;
-      this.disconnectButton.Location = new System.Drawing.Point(234, 500);
+      this.disconnectButton.Location = new System.Drawing.Point(234, 604);
       this.disconnectButton.Name = "disconnectButton";
       this.disconnectButton.Size = new System.Drawing.Size(120, 24);
@@ -314,5 +314,5 @@
       this.reconnectButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
       this.reconnectButton.Enabled = false;
-      this.reconnectButton.Location = new System.Drawing.Point(120, 500);
+      this.reconnectButton.Location = new System.Drawing.Point(120, 604);
       this.reconnectButton.Name = "reconnectButton";
       this.reconnectButton.Size = new System.Drawing.Size(108, 24);
@@ -335,5 +335,5 @@
       this.useLocalPluginsCheckBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
       this.useLocalPluginsCheckBox.AutoSize = true;
-      this.useLocalPluginsCheckBox.Location = new System.Drawing.Point(637, 54);
+      this.useLocalPluginsCheckBox.Location = new System.Drawing.Point(694, 54);
       this.useLocalPluginsCheckBox.Name = "useLocalPluginsCheckBox";
       this.useLocalPluginsCheckBox.Size = new System.Drawing.Size(105, 17);
@@ -343,16 +343,17 @@
       this.useLocalPluginsCheckBox.CheckedChanged += new System.EventHandler(this.useLocalPluginsCheckBox_CheckedChanged);
       // 
-      // hiveJobView
-      // 
-      this.hiveJobView.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.hiveJobView.Caption = "HiveJob View";
-      this.hiveJobView.Content = null;
-      this.hiveJobView.Location = new System.Drawing.Point(2, 3);
-      this.hiveJobView.Name = "hiveJobView";
-      this.hiveJobView.ReadOnly = true;
-      this.hiveJobView.Size = new System.Drawing.Size(722, 384);
-      this.hiveJobView.TabIndex = 0;
+      // jobViewHost
+      // 
+      this.jobViewHost.Caption = "View";
+      this.jobViewHost.Content = null;
+      this.jobViewHost.Dock = System.Windows.Forms.DockStyle.Fill;
+      this.jobViewHost.Enabled = false;
+      this.jobViewHost.Location = new System.Drawing.Point(0, 0);
+      this.jobViewHost.Name = "jobViewHost";
+      this.jobViewHost.ReadOnly = false;
+      this.jobViewHost.Size = new System.Drawing.Size(791, 494);
+      this.jobViewHost.TabIndex = 0;
+      this.jobViewHost.ViewsLabelVisible = true;
+      this.jobViewHost.ViewType = null;
       // 
       // HiveExperimentView
@@ -374,5 +375,5 @@
       this.Controls.Add(this.reconnectButton);
       this.Name = "HiveExperimentView";
-      this.Size = new System.Drawing.Size(742, 524);
+      this.Size = new System.Drawing.Size(799, 628);
       this.Controls.SetChildIndex(this.nameTextBox, 0);
       this.Controls.SetChildIndex(this.descriptionTextBox, 0);
@@ -425,6 +426,6 @@
     private System.Windows.Forms.Button downloadExperimentButton;
     private System.Windows.Forms.Panel downloadExperimentPanel;
-    private HiveJobView hiveJobView;
     private System.Windows.Forms.CheckBox useLocalPluginsCheckBox;
+    private MainForm.WindowsForms.ViewHost jobViewHost;
 
   }
Index: branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Views/3.4/ExperimentManager/HiveExperimentView.cs
===================================================================
--- branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Views/3.4/ExperimentManager/HiveExperimentView.cs	(revision 5636)
+++ branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Views/3.4/ExperimentManager/HiveExperimentView.cs	(revision 5637)
@@ -105,5 +105,5 @@
         this.descriptionTextBox.ReadOnly = Content.ExecutionState != ExecutionState.Prepared;
         this.resourceNamesTextBox.ReadOnly = Content.ExecutionState != ExecutionState.Prepared;
-        this.hiveJobView.ReadOnly = Content.ExecutionState != ExecutionState.Prepared;
+        this.jobViewHost.ReadOnly = Content.ExecutionState != ExecutionState.Prepared;
         this.useLocalPluginsCheckBox.Enabled = Content.ExecutionState == ExecutionState.Prepared;
 
@@ -189,8 +189,8 @@
       else {
         if (Content != null) {
-          hiveJobView.Content = Content.HiveJob;
+          jobViewHost.Content = Content.HiveJob;
           experimentNamedItemView.Content = Content.GetExperiment();
         } else {
-          hiveJobView.Content = null;
+          jobViewHost.Content = null;
           experimentNamedItemView.Content = null;
         }
Index: branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Views/3.4/ExperimentManager/HiveJobView.designer.cs
===================================================================
--- branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Views/3.4/ExperimentManager/HiveJobView.designer.cs	(revision 5636)
+++ branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Views/3.4/ExperimentManager/HiveJobView.designer.cs	(revision 5637)
@@ -56,7 +56,7 @@
       this.runCollectionViewHost = new HeuristicLab.MainForm.WindowsForms.ViewHost();
       this.stateLogTabPage = new System.Windows.Forms.TabPage();
+      this.stateLogViewHost = new HeuristicLab.MainForm.WindowsForms.ViewHost();
       this.logTabPage = new System.Windows.Forms.TabPage();
       this.logView = new HeuristicLab.Core.Views.LogView();
-      this.stateLogViewHost = new HeuristicLab.MainForm.WindowsForms.ViewHost();
       this.childHiveJobView = new HeuristicLab.Clients.Hive.Views.HiveJobListView();
       this.jobStatusGroupBox.SuspendLayout();
@@ -249,8 +249,8 @@
       this.optimizerNamedItemView.Caption = "NamedItem View";
       this.optimizerNamedItemView.Content = null;
-      this.optimizerNamedItemView.Location = new System.Drawing.Point(0, 20);
+      this.optimizerNamedItemView.Location = new System.Drawing.Point(6, 20);
       this.optimizerNamedItemView.Name = "optimizerNamedItemView";
       this.optimizerNamedItemView.ReadOnly = false;
-      this.optimizerNamedItemView.Size = new System.Drawing.Size(604, 51);
+      this.optimizerNamedItemView.Size = new System.Drawing.Size(598, 51);
       this.optimizerNamedItemView.TabIndex = 0;
       // 
@@ -411,28 +411,4 @@
       this.stateLogTabPage.UseVisualStyleBackColor = true;
       // 
-      // logTabPage
-      // 
-      this.logTabPage.Controls.Add(this.logView);
-      this.logTabPage.Location = new System.Drawing.Point(4, 22);
-      this.logTabPage.Name = "logTabPage";
-      this.logTabPage.Padding = new System.Windows.Forms.Padding(3);
-      this.logTabPage.Size = new System.Drawing.Size(619, 492);
-      this.logTabPage.TabIndex = 1;
-      this.logTabPage.Text = "Log";
-      this.logTabPage.UseVisualStyleBackColor = true;
-      // 
-      // logView
-      // 
-      this.logView.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.logView.Caption = "Log View";
-      this.logView.Content = null;
-      this.logView.Location = new System.Drawing.Point(3, 3);
-      this.logView.Name = "logView";
-      this.logView.ReadOnly = false;
-      this.logView.Size = new System.Drawing.Size(613, 486);
-      this.logView.TabIndex = 0;
-      // 
       // stateLogViewHost
       // 
@@ -450,4 +426,28 @@
       this.stateLogViewHost.ViewsLabelVisible = true;
       this.stateLogViewHost.ViewType = null;
+      // 
+      // logTabPage
+      // 
+      this.logTabPage.Controls.Add(this.logView);
+      this.logTabPage.Location = new System.Drawing.Point(4, 22);
+      this.logTabPage.Name = "logTabPage";
+      this.logTabPage.Padding = new System.Windows.Forms.Padding(3);
+      this.logTabPage.Size = new System.Drawing.Size(619, 492);
+      this.logTabPage.TabIndex = 1;
+      this.logTabPage.Text = "Log";
+      this.logTabPage.UseVisualStyleBackColor = true;
+      // 
+      // logView
+      // 
+      this.logView.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.logView.Caption = "Log View";
+      this.logView.Content = null;
+      this.logView.Location = new System.Drawing.Point(3, 3);
+      this.logView.Name = "logView";
+      this.logView.ReadOnly = false;
+      this.logView.Size = new System.Drawing.Size(613, 486);
+      this.logView.TabIndex = 0;
       // 
       // childHiveJobView
@@ -509,5 +509,4 @@
     private System.Windows.Forms.TextBox jobIdTextBox;
     private System.Windows.Forms.TabPage childJobsTabPage;
-    private HiveJobListView childHiveJobView;
     private System.Windows.Forms.GroupBox configurationGroupBox;
     private System.Windows.Forms.TextBox priorityTextBox;
@@ -525,4 +524,5 @@
     private System.Windows.Forms.TabPage stateLogTabPage;
     private MainForm.WindowsForms.ViewHost stateLogViewHost;
+    private HiveJobListView childHiveJobView;
   }
 }
Index: branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Views/3.4/ExperimentManager/ItemTreeView.cs
===================================================================
--- branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Views/3.4/ExperimentManager/ItemTreeView.cs	(revision 5637)
+++ branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Views/3.4/ExperimentManager/ItemTreeView.cs	(revision 5637)
@@ -0,0 +1,100 @@
+﻿#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2010 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System.Windows.Forms;
+using HeuristicLab.Common;
+using HeuristicLab.Core.Views;
+using HeuristicLab.MainForm;
+using HeuristicLab.MainForm.WindowsForms;
+
+namespace HeuristicLab.Clients.Hive.Views {
+  [View("ItemTree View")]
+  [Content(typeof(IItemTree), IsDefaultView = false)]
+  public sealed partial class ItemTreeView : ItemView {
+    public new IItemTree Content {
+      get { return (IItemTree)base.Content; }
+      set { base.Content = value; }
+    }
+
+    public ItemTreeView() {
+      InitializeComponent();
+    }
+
+    protected override void DeregisterContentEvents() {
+      // Deregister your event handlers here
+      base.DeregisterContentEvents();
+    }
+
+    protected override void RegisterContentEvents() {
+      base.RegisterContentEvents();
+      // Register your event handlers here
+    }
+
+    #region Event Handlers (Content)
+    // Put event handlers of the content here
+    #endregion
+
+    protected override void OnContentChanged() {
+      base.OnContentChanged();
+      if (Content == null) {
+        // Add code when content has been changed and is null
+        treeView.Nodes.Clear();
+      } else {
+        // Add code when content has been changed and is not null
+        treeView.Nodes.Clear();
+        AddChildNodes(Content, treeView.Nodes);
+      }
+    }
+
+    private void AddChildNodes(IItemTree item, TreeNodeCollection nodes) {
+      var node = CreateTreeViewNode(item);
+      nodes.Add(node);
+      var childItems = item.GetChildNodes();
+      foreach (var childItem in childItems) {        
+        AddChildNodes(childItem, node.Nodes);
+      }
+    }
+
+    private TreeNode CreateTreeViewNode(IItemTree item) {
+      var node = new TreeNode(item.ToString());
+      node.Tag = item;
+      if (!treeView.ImageList.Images.ContainsKey(item.ItemImage.GetHashCode().ToString())) {
+        treeView.ImageList.Images.Add(item.ItemImage.GetHashCode().ToString(), item.ItemImage);
+      }
+      node.ImageKey = item.ItemImage.GetHashCode().ToString();
+      return node;
+    }
+
+    protected override void SetEnabledStateOfControls() {
+      base.SetEnabledStateOfControls();
+      // Enable or disable controls based on whether the content is null or the view is set readonly
+    }
+
+    #region Event Handlers (child controls)
+    // Put event handlers of child controls here.
+    private void treeView_AfterSelect(object sender, TreeViewEventArgs e) {
+      viewHost.Content = (IContent)treeView.SelectedNode.Tag;
+    }
+    #endregion
+
+
+  }
+}
Index: branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Views/3.4/ExperimentManager/ItemTreeView.designer.cs
===================================================================
--- branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Views/3.4/ExperimentManager/ItemTreeView.designer.cs	(revision 5637)
+++ branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Views/3.4/ExperimentManager/ItemTreeView.designer.cs	(revision 5637)
@@ -0,0 +1,107 @@
+﻿namespace HeuristicLab.Clients.Hive.Views {
+  partial class ItemTreeView {
+    /// <summary> 
+    /// Required designer variable.
+    /// </summary>
+    private System.ComponentModel.IContainer components = null;
+
+    /// <summary> 
+    /// Clean up any resources being used.
+    /// </summary>
+    /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+    protected override void Dispose(bool disposing) {
+      if (disposing && (components != null)) {
+        components.Dispose();
+      }
+      base.Dispose(disposing);
+    }
+
+    #region Component Designer generated code
+
+    /// <summary> 
+    /// Required method for Designer support - do not modify 
+    /// the contents of this method with the code editor.
+    /// </summary>
+    private void InitializeComponent() {
+      this.components = new System.ComponentModel.Container();
+      this.splitContainer = new System.Windows.Forms.SplitContainer();
+      this.treeView = new System.Windows.Forms.TreeView();
+      this.viewHost = new HeuristicLab.MainForm.WindowsForms.ViewHost();
+      this.imageList = new System.Windows.Forms.ImageList(this.components);
+      ((System.ComponentModel.ISupportInitialize)(this.splitContainer)).BeginInit();
+      this.splitContainer.Panel1.SuspendLayout();
+      this.splitContainer.Panel2.SuspendLayout();
+      this.splitContainer.SuspendLayout();
+      this.SuspendLayout();
+      // 
+      // splitContainer
+      // 
+      this.splitContainer.Dock = System.Windows.Forms.DockStyle.Fill;
+      this.splitContainer.Location = new System.Drawing.Point(0, 0);
+      this.splitContainer.Name = "splitContainer";
+      // 
+      // splitContainer.Panel1
+      // 
+      this.splitContainer.Panel1.Controls.Add(this.treeView);
+      // 
+      // splitContainer.Panel2
+      // 
+      this.splitContainer.Panel2.Controls.Add(this.viewHost);
+      this.splitContainer.Size = new System.Drawing.Size(551, 463);
+      this.splitContainer.SplitterDistance = 183;
+      this.splitContainer.TabIndex = 0;
+      // 
+      // treeView
+      // 
+      this.treeView.Dock = System.Windows.Forms.DockStyle.Fill;
+      this.treeView.ImageIndex = 0;
+      this.treeView.ImageList = this.imageList;
+      this.treeView.Location = new System.Drawing.Point(0, 0);
+      this.treeView.Name = "treeView";
+      this.treeView.SelectedImageIndex = 0;
+      this.treeView.Size = new System.Drawing.Size(183, 463);
+      this.treeView.TabIndex = 0;
+      this.treeView.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.treeView_AfterSelect);
+      // 
+      // viewHost
+      // 
+      this.viewHost.Caption = "View";
+      this.viewHost.Content = null;
+      this.viewHost.Dock = System.Windows.Forms.DockStyle.Fill;
+      this.viewHost.Enabled = false;
+      this.viewHost.Location = new System.Drawing.Point(0, 0);
+      this.viewHost.Name = "viewHost";
+      this.viewHost.ReadOnly = false;
+      this.viewHost.Size = new System.Drawing.Size(364, 463);
+      this.viewHost.TabIndex = 0;
+      this.viewHost.ViewsLabelVisible = true;
+      this.viewHost.ViewType = null;
+      // 
+      // imageList
+      // 
+      this.imageList.ColorDepth = System.Windows.Forms.ColorDepth.Depth8Bit;
+      this.imageList.ImageSize = new System.Drawing.Size(16, 16);
+      this.imageList.TransparentColor = System.Drawing.Color.Transparent;
+      // 
+      // ItemTreeView
+      // 
+      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+      this.Controls.Add(this.splitContainer);
+      this.Name = "ItemTreeView";
+      this.Size = new System.Drawing.Size(551, 463);
+      this.splitContainer.Panel1.ResumeLayout(false);
+      this.splitContainer.Panel2.ResumeLayout(false);
+      ((System.ComponentModel.ISupportInitialize)(this.splitContainer)).EndInit();
+      this.splitContainer.ResumeLayout(false);
+      this.ResumeLayout(false);
+
+    }
+
+    #endregion
+
+    private System.Windows.Forms.SplitContainer splitContainer;
+    private System.Windows.Forms.TreeView treeView;
+    private MainForm.WindowsForms.ViewHost viewHost;
+    private System.Windows.Forms.ImageList imageList;
+  }
+}
Index: branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Views/3.4/ExperimentManager/ItemTreeView.resx
===================================================================
--- branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Views/3.4/ExperimentManager/ItemTreeView.resx	(revision 5637)
+++ branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Views/3.4/ExperimentManager/ItemTreeView.resx	(revision 5637)
@@ -0,0 +1,123 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" use="required" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+              <xsd:attribute ref="xml:space" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <metadata name="imageList.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>17, 17</value>
+  </metadata>
+</root>
Index: branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Views/3.4/HeuristicLab.Clients.Hive.Views-3.4.csproj
===================================================================
--- branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Views/3.4/HeuristicLab.Clients.Hive.Views-3.4.csproj	(revision 5636)
+++ branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Views/3.4/HeuristicLab.Clients.Hive.Views-3.4.csproj	(revision 5637)
@@ -132,4 +132,10 @@
       <DependentUpon>UpdateControl.cs</DependentUpon>
     </Compile>
+    <Compile Include="ExperimentManager\ItemTreeView.cs">
+      <SubType>UserControl</SubType>
+    </Compile>
+    <Compile Include="ExperimentManager\ItemTreeView.designer.cs">
+      <DependentUpon>ItemTreeView.cs</DependentUpon>
+    </Compile>
     <Compile Include="ExperimentManager\StateLogGanttChartListView.cs">
       <SubType>UserControl</SubType>
@@ -246,4 +252,7 @@
     <EmbeddedResource Include="Common\UpdateControl.resx">
       <DependentUpon>UpdateControl.cs</DependentUpon>
+    </EmbeddedResource>
+    <EmbeddedResource Include="ExperimentManager\ItemTreeView.resx">
+      <DependentUpon>ItemTreeView.cs</DependentUpon>
     </EmbeddedResource>
     <EmbeddedResource Include="ExperimentManager\StateLogGanttChartListView.resx">
