Index: branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Views/3.4/Administration/HiveAdministrationView.Designer.cs
===================================================================
--- branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Views/3.4/Administration/HiveAdministrationView.Designer.cs	(revision 5512)
+++ branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Views/3.4/Administration/HiveAdministrationView.Designer.cs	(revision 5525)
@@ -22,27 +22,17 @@
 namespace HeuristicLab.Clients.Hive.Views.Administration {
   partial class HiveAdministrationView {
-    /// <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);
-    }
+    private System.Windows.Forms.TabControl tabAdmin;
+    private System.Windows.Forms.TabPage tabSlaves;
+    private System.Windows.Forms.SplitContainer splitSlaves;
+    private System.Windows.Forms.TreeView treeSlaveGroup;
+    private System.Windows.Forms.TabControl tabSlaveGroup;
+    private System.Windows.Forms.TabPage tabDetails;
+    private System.Windows.Forms.TabPage tabSchedule;
+    private System.Windows.Forms.TabPage tabJobs;
+    private System.Windows.Forms.TabPage tabUsers;
 
     #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();
       System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(HiveAdministrationView));
       this.tabAdmin = new System.Windows.Forms.TabControl();
@@ -52,6 +42,13 @@
       this.btnAddGroup = new System.Windows.Forms.Button();
       this.treeSlaveGroup = new System.Windows.Forms.TreeView();
+      this.imageListSlaveGroups = new System.Windows.Forms.ImageList(this.components);
       this.tabSlaveGroup = new System.Windows.Forms.TabControl();
       this.tabDetails = new System.Windows.Forms.TabPage();
+      this.txtSlaveState = new System.Windows.Forms.TextBox();
+      this.txtOS = new System.Windows.Forms.TextBox();
+      this.label15 = new System.Windows.Forms.Label();
+      this.label14 = new System.Windows.Forms.Label();
+      this.txtDetailsDescription = new System.Windows.Forms.TextBox();
+      this.label13 = new System.Windows.Forms.Label();
       this.txtName = new System.Windows.Forms.TextBox();
       this.txtCPU = new System.Windows.Forms.TextBox();
@@ -63,10 +60,9 @@
       this.label9 = new System.Windows.Forms.Label();
       this.tabSchedule = new System.Windows.Forms.TabPage();
-      this.scheduleControl1 = new HeuristicLab.Clients.Hive.Views.Administration.ScheduleControl();
       this.tabJobs = new System.Windows.Forms.TabPage();
-      this.hiveJobListViewSlaves = new HeuristicLab.Clients.Hive.Views.HiveJobListView();
       this.tabUsers = new System.Windows.Forms.TabPage();
       this.splitUsers = new System.Windows.Forms.SplitContainer();
       this.lstUsers = new System.Windows.Forms.ListView();
+      this.imageListUsers = new System.Windows.Forms.ImageList(this.components);
       this.tabUserDetails = new System.Windows.Forms.TabControl();
       this.tabUserInformation = new System.Windows.Forms.TabPage();
@@ -88,5 +84,10 @@
       this.tabStatistics = new System.Windows.Forms.TabPage();
       this.label5 = new System.Windows.Forms.Label();
+      this.updateSlaveGroups = new HeuristicLab.Clients.Hive.Views.Common.UpdateControl();
+      this.scheduleControl1 = new HeuristicLab.Clients.Hive.Views.Administration.ScheduleControl();
+      this.hiveJobListViewSlaves = new HeuristicLab.Clients.Hive.Views.HiveJobListView();
       this.hiveExperimentManagerView = new HeuristicLab.Clients.Hive.Views.HiveExperimentManagerView();
+      this.updateControl1 = new HeuristicLab.Clients.Hive.Views.Common.UpdateControl();
+      this.updateControl2 = new HeuristicLab.Clients.Hive.Views.Common.UpdateControl();
       this.tabAdmin.SuspendLayout();
       this.tabSlaves.SuspendLayout();
@@ -145,4 +146,5 @@
       // splitSlaves.Panel1
       // 
+      this.splitSlaves.Panel1.Controls.Add(this.updateSlaveGroups);
       this.splitSlaves.Panel1.Controls.Add(this.btnRemoveGroup);
       this.splitSlaves.Panel1.Controls.Add(this.btnAddGroup);
@@ -179,9 +181,19 @@
                   | System.Windows.Forms.AnchorStyles.Left)
                   | System.Windows.Forms.AnchorStyles.Right)));
+      this.treeSlaveGroup.ImageIndex = 0;
+      this.treeSlaveGroup.ImageList = this.imageListSlaveGroups;
       this.treeSlaveGroup.Location = new System.Drawing.Point(3, 33);
       this.treeSlaveGroup.Name = "treeSlaveGroup";
+      this.treeSlaveGroup.SelectedImageIndex = 0;
       this.treeSlaveGroup.Size = new System.Drawing.Size(209, 472);
       this.treeSlaveGroup.TabIndex = 0;
       this.treeSlaveGroup.Click += new System.EventHandler(this.treeSlaveGroup_Click);
+      this.treeSlaveGroup.MouseClick += new System.Windows.Forms.MouseEventHandler(this.treeSlaveGroup_MouseClick);
+      // 
+      // imageListSlaveGroups
+      // 
+      this.imageListSlaveGroups.ColorDepth = System.Windows.Forms.ColorDepth.Depth32Bit;
+      this.imageListSlaveGroups.ImageSize = new System.Drawing.Size(16, 16);
+      this.imageListSlaveGroups.TransparentColor = System.Drawing.Color.Transparent;
       // 
       // tabSlaveGroup
@@ -201,4 +213,10 @@
       // tabDetails
       // 
+      this.tabDetails.Controls.Add(this.txtSlaveState);
+      this.tabDetails.Controls.Add(this.txtOS);
+      this.tabDetails.Controls.Add(this.label15);
+      this.tabDetails.Controls.Add(this.label14);
+      this.tabDetails.Controls.Add(this.txtDetailsDescription);
+      this.tabDetails.Controls.Add(this.label13);
       this.tabDetails.Controls.Add(this.txtName);
       this.tabDetails.Controls.Add(this.txtCPU);
@@ -217,11 +235,68 @@
       this.tabDetails.UseVisualStyleBackColor = true;
       // 
+      // txtSlaveState
+      // 
+      this.txtSlaveState.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+                  | System.Windows.Forms.AnchorStyles.Right)));
+      this.txtSlaveState.Location = new System.Drawing.Point(134, 145);
+      this.txtSlaveState.Name = "txtSlaveState";
+      this.txtSlaveState.Size = new System.Drawing.Size(352, 20);
+      this.txtSlaveState.TabIndex = 13;
+      this.txtSlaveState.Text = "Offline";
+      // 
+      // txtOS
+      // 
+      this.txtOS.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+                  | System.Windows.Forms.AnchorStyles.Right)));
+      this.txtOS.Location = new System.Drawing.Point(134, 119);
+      this.txtOS.Name = "txtOS";
+      this.txtOS.Size = new System.Drawing.Size(352, 20);
+      this.txtOS.TabIndex = 12;
+      this.txtOS.Text = "Windows 7";
+      // 
+      // label15
+      // 
+      this.label15.AutoSize = true;
+      this.label15.Location = new System.Drawing.Point(16, 152);
+      this.label15.Name = "label15";
+      this.label15.Size = new System.Drawing.Size(32, 13);
+      this.label15.TabIndex = 11;
+      this.label15.Text = "State";
+      // 
+      // label14
+      // 
+      this.label14.AutoSize = true;
+      this.label14.Location = new System.Drawing.Point(14, 126);
+      this.label14.Name = "label14";
+      this.label14.Size = new System.Drawing.Size(90, 13);
+      this.label14.TabIndex = 10;
+      this.label14.Text = "Operating System";
+      // 
+      // txtDetailsDescription
+      // 
+      this.txtDetailsDescription.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+                  | System.Windows.Forms.AnchorStyles.Right)));
+      this.txtDetailsDescription.Location = new System.Drawing.Point(133, 41);
+      this.txtDetailsDescription.Name = "txtDetailsDescription";
+      this.txtDetailsDescription.Size = new System.Drawing.Size(353, 20);
+      this.txtDetailsDescription.TabIndex = 9;
+      this.txtDetailsDescription.Text = "ascheibepc Description";
+      // 
+      // label13
+      // 
+      this.label13.AutoSize = true;
+      this.label13.Location = new System.Drawing.Point(17, 48);
+      this.label13.Name = "label13";
+      this.label13.Size = new System.Drawing.Size(60, 13);
+      this.label13.TabIndex = 8;
+      this.label13.Text = "Description";
+      // 
       // txtName
       // 
       this.txtName.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
                   | System.Windows.Forms.AnchorStyles.Right)));
-      this.txtName.Location = new System.Drawing.Point(123, 30);
+      this.txtName.Location = new System.Drawing.Point(133, 15);
       this.txtName.Name = "txtName";
-      this.txtName.Size = new System.Drawing.Size(100, 20);
+      this.txtName.Size = new System.Drawing.Size(353, 20);
       this.txtName.TabIndex = 7;
       this.txtName.Text = "ascheibepc";
@@ -231,7 +306,7 @@
       this.txtCPU.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
                   | System.Windows.Forms.AnchorStyles.Right)));
-      this.txtCPU.Location = new System.Drawing.Point(123, 56);
+      this.txtCPU.Location = new System.Drawing.Point(133, 67);
       this.txtCPU.Name = "txtCPU";
-      this.txtCPU.Size = new System.Drawing.Size(100, 20);
+      this.txtCPU.Size = new System.Drawing.Size(353, 20);
       this.txtCPU.TabIndex = 6;
       this.txtCPU.Text = "Intel Core 2 Duo @ 2.4 Ghz";
@@ -241,7 +316,7 @@
       this.txtMemory.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
                   | System.Windows.Forms.AnchorStyles.Right)));
-      this.txtMemory.Location = new System.Drawing.Point(123, 82);
+      this.txtMemory.Location = new System.Drawing.Point(133, 93);
       this.txtMemory.Name = "txtMemory";
-      this.txtMemory.Size = new System.Drawing.Size(100, 20);
+      this.txtMemory.Size = new System.Drawing.Size(353, 20);
       this.txtMemory.TabIndex = 5;
       this.txtMemory.Text = "2048 MB";
@@ -251,7 +326,7 @@
       this.txtDetailsCalculatedJobs.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
                   | System.Windows.Forms.AnchorStyles.Right)));
-      this.txtDetailsCalculatedJobs.Location = new System.Drawing.Point(123, 108);
+      this.txtDetailsCalculatedJobs.Location = new System.Drawing.Point(134, 171);
       this.txtDetailsCalculatedJobs.Name = "txtDetailsCalculatedJobs";
-      this.txtDetailsCalculatedJobs.Size = new System.Drawing.Size(100, 20);
+      this.txtDetailsCalculatedJobs.Size = new System.Drawing.Size(352, 20);
       this.txtDetailsCalculatedJobs.TabIndex = 4;
       this.txtDetailsCalculatedJobs.Text = "33";
@@ -260,5 +335,5 @@
       // 
       this.label12.AutoSize = true;
-      this.label12.Location = new System.Drawing.Point(6, 115);
+      this.label12.Location = new System.Drawing.Point(17, 178);
       this.label12.Name = "label12";
       this.label12.Size = new System.Drawing.Size(82, 13);
@@ -269,5 +344,5 @@
       // 
       this.label11.AutoSize = true;
-      this.label11.Location = new System.Drawing.Point(7, 89);
+      this.label11.Location = new System.Drawing.Point(17, 100);
       this.label11.Name = "label11";
       this.label11.Size = new System.Drawing.Size(44, 13);
@@ -278,5 +353,5 @@
       // 
       this.label10.AutoSize = true;
-      this.label10.Location = new System.Drawing.Point(7, 63);
+      this.label10.Location = new System.Drawing.Point(17, 74);
       this.label10.Name = "label10";
       this.label10.Size = new System.Drawing.Size(29, 13);
@@ -287,5 +362,5 @@
       // 
       this.label9.AutoSize = true;
-      this.label9.Location = new System.Drawing.Point(7, 38);
+      this.label9.Location = new System.Drawing.Point(16, 22);
       this.label9.Name = "label9";
       this.label9.Size = new System.Drawing.Size(35, 13);
@@ -304,16 +379,7 @@
       this.tabSchedule.UseVisualStyleBackColor = true;
       // 
-      // scheduleControl1
-      // 
-      this.scheduleControl1.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.scheduleControl1.Location = new System.Drawing.Point(7, 7);
-      this.scheduleControl1.Name = "scheduleControl1";
-      this.scheduleControl1.Size = new System.Drawing.Size(862, 562);
-      this.scheduleControl1.TabIndex = 0;
-      // 
       // tabJobs
       // 
+      this.tabJobs.Controls.Add(this.updateControl1);
       this.tabJobs.Controls.Add(this.hiveJobListViewSlaves);
       this.tabJobs.Location = new System.Drawing.Point(4, 22);
@@ -325,17 +391,4 @@
       this.tabJobs.UseVisualStyleBackColor = true;
       // 
-      // hiveJobListViewSlaves
-      // 
-      this.hiveJobListViewSlaves.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.hiveJobListViewSlaves.Caption = "JobItemList View";
-      this.hiveJobListViewSlaves.Content = null;
-      this.hiveJobListViewSlaves.Location = new System.Drawing.Point(7, 7);
-      this.hiveJobListViewSlaves.Name = "hiveJobListViewSlaves";
-      this.hiveJobListViewSlaves.ReadOnly = false;
-      this.hiveJobListViewSlaves.Size = new System.Drawing.Size(499, 463);
-      this.hiveJobListViewSlaves.TabIndex = 0;
-      // 
       // tabUsers
       // 
@@ -354,5 +407,5 @@
                   | System.Windows.Forms.AnchorStyles.Left)
                   | System.Windows.Forms.AnchorStyles.Right)));
-      this.splitUsers.Location = new System.Drawing.Point(6, 6);
+      this.splitUsers.Location = new System.Drawing.Point(3, 6);
       this.splitUsers.Name = "splitUsers";
       // 
@@ -365,5 +418,5 @@
       this.splitUsers.Panel2.Controls.Add(this.tabUserDetails);
       this.splitUsers.Size = new System.Drawing.Size(722, 508);
-      this.splitUsers.SplitterDistance = 240;
+      this.splitUsers.SplitterDistance = 215;
       this.splitUsers.TabIndex = 0;
       // 
@@ -373,9 +426,17 @@
                   | System.Windows.Forms.AnchorStyles.Left)
                   | System.Windows.Forms.AnchorStyles.Right)));
-      this.lstUsers.Location = new System.Drawing.Point(3, 3);
+      this.lstUsers.Location = new System.Drawing.Point(3, 4);
       this.lstUsers.Name = "lstUsers";
-      this.lstUsers.Size = new System.Drawing.Size(234, 502);
+      this.lstUsers.Size = new System.Drawing.Size(209, 501);
+      this.lstUsers.SmallImageList = this.imageListUsers;
       this.lstUsers.TabIndex = 0;
       this.lstUsers.UseCompatibleStateImageBehavior = false;
+      this.lstUsers.View = System.Windows.Forms.View.List;
+      // 
+      // imageListUsers
+      // 
+      this.imageListUsers.ColorDepth = System.Windows.Forms.ColorDepth.Depth32Bit;
+      this.imageListUsers.ImageSize = new System.Drawing.Size(16, 16);
+      this.imageListUsers.TransparentColor = System.Drawing.Color.Transparent;
       // 
       // tabUserDetails
@@ -386,8 +447,8 @@
       this.tabUserDetails.Controls.Add(this.tabUserInformation);
       this.tabUserDetails.Controls.Add(this.tabUserJobs);
-      this.tabUserDetails.Location = new System.Drawing.Point(4, 4);
+      this.tabUserDetails.Location = new System.Drawing.Point(3, 3);
       this.tabUserDetails.Name = "tabUserDetails";
       this.tabUserDetails.SelectedIndex = 0;
-      this.tabUserDetails.Size = new System.Drawing.Size(471, 501);
+      this.tabUserDetails.Size = new System.Drawing.Size(496, 501);
       this.tabUserDetails.TabIndex = 1;
       // 
@@ -411,5 +472,5 @@
       this.tabUserInformation.Name = "tabUserInformation";
       this.tabUserInformation.Padding = new System.Windows.Forms.Padding(3);
-      this.tabUserInformation.Size = new System.Drawing.Size(463, 475);
+      this.tabUserInformation.Size = new System.Drawing.Size(488, 475);
       this.tabUserInformation.TabIndex = 0;
       this.tabUserInformation.Text = "User Information";
@@ -420,7 +481,7 @@
       this.txtUserName.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
                   | System.Windows.Forms.AnchorStyles.Right)));
-      this.txtUserName.Location = new System.Drawing.Point(161, 6);
+      this.txtUserName.Location = new System.Drawing.Point(163, 14);
       this.txtUserName.Name = "txtUserName";
-      this.txtUserName.Size = new System.Drawing.Size(100, 20);
+      this.txtUserName.Size = new System.Drawing.Size(319, 20);
       this.txtUserName.TabIndex = 17;
       this.txtUserName.Text = "ascheibe";
@@ -430,7 +491,7 @@
       this.txtUserLastActivity.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
                   | System.Windows.Forms.AnchorStyles.Right)));
-      this.txtUserLastActivity.Location = new System.Drawing.Point(161, 41);
+      this.txtUserLastActivity.Location = new System.Drawing.Point(163, 40);
       this.txtUserLastActivity.Name = "txtUserLastActivity";
-      this.txtUserLastActivity.Size = new System.Drawing.Size(100, 20);
+      this.txtUserLastActivity.Size = new System.Drawing.Size(319, 20);
       this.txtUserLastActivity.TabIndex = 16;
       this.txtUserLastActivity.Text = "11.1.2010";
@@ -440,7 +501,7 @@
       this.txtUserRole.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
                   | System.Windows.Forms.AnchorStyles.Right)));
-      this.txtUserRole.Location = new System.Drawing.Point(162, 72);
+      this.txtUserRole.Location = new System.Drawing.Point(163, 66);
       this.txtUserRole.Name = "txtUserRole";
-      this.txtUserRole.Size = new System.Drawing.Size(100, 20);
+      this.txtUserRole.Size = new System.Drawing.Size(319, 20);
       this.txtUserRole.TabIndex = 15;
       this.txtUserRole.Text = "Hive Slave";
@@ -449,5 +510,5 @@
       // 
       this.label1.AutoSize = true;
-      this.label1.Location = new System.Drawing.Point(13, 14);
+      this.label1.Location = new System.Drawing.Point(15, 21);
       this.label1.Name = "label1";
       this.label1.Size = new System.Drawing.Size(58, 13);
@@ -459,7 +520,7 @@
       this.txtUserEmail.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
                   | System.Windows.Forms.AnchorStyles.Right)));
-      this.txtUserEmail.Location = new System.Drawing.Point(162, 103);
+      this.txtUserEmail.Location = new System.Drawing.Point(163, 92);
       this.txtUserEmail.Name = "txtUserEmail";
-      this.txtUserEmail.Size = new System.Drawing.Size(100, 20);
+      this.txtUserEmail.Size = new System.Drawing.Size(319, 20);
       this.txtUserEmail.TabIndex = 14;
       this.txtUserEmail.Text = "ascheibe@mail.com";
@@ -468,5 +529,5 @@
       // 
       this.label2.AutoSize = true;
-      this.label2.Location = new System.Drawing.Point(12, 50);
+      this.label2.Location = new System.Drawing.Point(15, 47);
       this.label2.Name = "label2";
       this.label2.Size = new System.Drawing.Size(64, 13);
@@ -478,7 +539,7 @@
       this.txtUserPriority.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
                   | System.Windows.Forms.AnchorStyles.Right)));
-      this.txtUserPriority.Location = new System.Drawing.Point(163, 136);
+      this.txtUserPriority.Location = new System.Drawing.Point(163, 118);
       this.txtUserPriority.Name = "txtUserPriority";
-      this.txtUserPriority.Size = new System.Drawing.Size(100, 20);
+      this.txtUserPriority.Size = new System.Drawing.Size(319, 20);
       this.txtUserPriority.TabIndex = 13;
       this.txtUserPriority.Text = "10";
@@ -487,5 +548,5 @@
       // 
       this.label3.AutoSize = true;
-      this.label3.Location = new System.Drawing.Point(13, 79);
+      this.label3.Location = new System.Drawing.Point(15, 73);
       this.label3.Name = "label3";
       this.label3.Size = new System.Drawing.Size(29, 13);
@@ -497,7 +558,7 @@
       this.txtUserCalculatedJobs.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
                   | System.Windows.Forms.AnchorStyles.Right)));
-      this.txtUserCalculatedJobs.Location = new System.Drawing.Point(163, 170);
+      this.txtUserCalculatedJobs.Location = new System.Drawing.Point(163, 144);
       this.txtUserCalculatedJobs.Name = "txtUserCalculatedJobs";
-      this.txtUserCalculatedJobs.Size = new System.Drawing.Size(100, 20);
+      this.txtUserCalculatedJobs.Size = new System.Drawing.Size(319, 20);
       this.txtUserCalculatedJobs.TabIndex = 12;
       this.txtUserCalculatedJobs.Text = "125";
@@ -506,5 +567,5 @@
       // 
       this.label4.AutoSize = true;
-      this.label4.Location = new System.Drawing.Point(13, 111);
+      this.label4.Location = new System.Drawing.Point(15, 99);
       this.label4.Name = "label4";
       this.label4.Size = new System.Drawing.Size(32, 13);
@@ -516,7 +577,7 @@
       this.txtUserExecutionTime.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
                   | System.Windows.Forms.AnchorStyles.Right)));
-      this.txtUserExecutionTime.Location = new System.Drawing.Point(163, 202);
+      this.txtUserExecutionTime.Location = new System.Drawing.Point(163, 170);
       this.txtUserExecutionTime.Name = "txtUserExecutionTime";
-      this.txtUserExecutionTime.Size = new System.Drawing.Size(100, 20);
+      this.txtUserExecutionTime.Size = new System.Drawing.Size(319, 20);
       this.txtUserExecutionTime.TabIndex = 11;
       this.txtUserExecutionTime.Text = "15d 3h 5m";
@@ -525,5 +586,5 @@
       // 
       this.label6.AutoSize = true;
-      this.label6.Location = new System.Drawing.Point(13, 136);
+      this.label6.Location = new System.Drawing.Point(15, 125);
       this.label6.Name = "label6";
       this.label6.Size = new System.Drawing.Size(63, 13);
@@ -534,5 +595,5 @@
       // 
       this.label8.AutoSize = true;
-      this.label8.Location = new System.Drawing.Point(13, 202);
+      this.label8.Location = new System.Drawing.Point(15, 177);
       this.label8.Name = "label8";
       this.label8.Size = new System.Drawing.Size(116, 13);
@@ -543,5 +604,5 @@
       // 
       this.label7.AutoSize = true;
-      this.label7.Location = new System.Drawing.Point(12, 170);
+      this.label7.Location = new System.Drawing.Point(15, 151);
       this.label7.Name = "label7";
       this.label7.Size = new System.Drawing.Size(82, 13);
@@ -551,9 +612,10 @@
       // tabUserJobs
       // 
+      this.tabUserJobs.Controls.Add(this.updateControl2);
       this.tabUserJobs.Controls.Add(this.hiveExperimentManagerView);
       this.tabUserJobs.Location = new System.Drawing.Point(4, 22);
       this.tabUserJobs.Name = "tabUserJobs";
       this.tabUserJobs.Padding = new System.Windows.Forms.Padding(3);
-      this.tabUserJobs.Size = new System.Drawing.Size(463, 475);
+      this.tabUserJobs.Size = new System.Drawing.Size(488, 475);
       this.tabUserJobs.TabIndex = 1;
       this.tabUserJobs.Text = "Experiments";
@@ -581,4 +643,35 @@
           "....";
       // 
+      // updateSlaveGroups
+      // 
+      this.updateSlaveGroups.Location = new System.Drawing.Point(63, 3);
+      this.updateSlaveGroups.Name = "updateSlaveGroups";
+      this.updateSlaveGroups.Size = new System.Drawing.Size(75, 24);
+      this.updateSlaveGroups.TabIndex = 4;
+      this.updateSlaveGroups.UpdateAction = null;
+      // 
+      // scheduleControl1
+      // 
+      this.scheduleControl1.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.scheduleControl1.Location = new System.Drawing.Point(7, 7);
+      this.scheduleControl1.Name = "scheduleControl1";
+      this.scheduleControl1.Size = new System.Drawing.Size(862, 562);
+      this.scheduleControl1.TabIndex = 0;
+      // 
+      // hiveJobListViewSlaves
+      // 
+      this.hiveJobListViewSlaves.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.hiveJobListViewSlaves.Caption = "JobItemList View";
+      this.hiveJobListViewSlaves.Content = null;
+      this.hiveJobListViewSlaves.Location = new System.Drawing.Point(7, 26);
+      this.hiveJobListViewSlaves.Name = "hiveJobListViewSlaves";
+      this.hiveJobListViewSlaves.ReadOnly = false;
+      this.hiveJobListViewSlaves.Size = new System.Drawing.Size(485, 450);
+      this.hiveJobListViewSlaves.TabIndex = 0;
+      // 
       // hiveExperimentManagerView
       // 
@@ -588,9 +681,25 @@
       this.hiveExperimentManagerView.Caption = "HiveExperimentManagerBaseView";
       this.hiveExperimentManagerView.Content = null;
-      this.hiveExperimentManagerView.Location = new System.Drawing.Point(4, 4);
+      this.hiveExperimentManagerView.Location = new System.Drawing.Point(4, 26);
       this.hiveExperimentManagerView.Name = "hiveExperimentManagerView";
       this.hiveExperimentManagerView.ReadOnly = false;
-      this.hiveExperimentManagerView.Size = new System.Drawing.Size(735, 524);
+      this.hiveExperimentManagerView.Size = new System.Drawing.Size(484, 449);
       this.hiveExperimentManagerView.TabIndex = 0;
+      // 
+      // updateControl1
+      // 
+      this.updateControl1.Location = new System.Drawing.Point(7, 3);
+      this.updateControl1.Name = "updateControl1";
+      this.updateControl1.Size = new System.Drawing.Size(75, 24);
+      this.updateControl1.TabIndex = 1;
+      this.updateControl1.UpdateAction = null;
+      // 
+      // updateControl2
+      // 
+      this.updateControl2.Location = new System.Drawing.Point(7, 4);
+      this.updateControl2.Name = "updateControl2";
+      this.updateControl2.Size = new System.Drawing.Size(75, 24);
+      this.updateControl2.TabIndex = 1;
+      this.updateControl2.UpdateAction = null;
       // 
       // HiveAdministrationView
@@ -630,13 +739,4 @@
     #endregion
 
-    private System.Windows.Forms.TabControl tabAdmin;
-    private System.Windows.Forms.TabPage tabSlaves;
-    private System.Windows.Forms.TabPage tabUsers;
-    private System.Windows.Forms.TreeView treeSlaveGroup;
-    private System.Windows.Forms.TabControl tabSlaveGroup;
-    private System.Windows.Forms.TabPage tabDetails;
-    private System.Windows.Forms.TabPage tabSchedule;
-    private System.Windows.Forms.TabPage tabJobs;
-    private System.Windows.Forms.SplitContainer splitSlaves;
     private ScheduleControl scheduleControl1;
     private System.Windows.Forms.SplitContainer splitUsers;
@@ -673,4 +773,16 @@
     private System.Windows.Forms.Button btnRemoveGroup;
     private HiveExperimentManagerView hiveExperimentManagerView;
+    private System.Windows.Forms.TextBox txtDetailsDescription;
+    private System.Windows.Forms.Label label13;
+    private System.Windows.Forms.TextBox txtOS;
+    private System.Windows.Forms.Label label15;
+    private System.Windows.Forms.Label label14;
+    private System.Windows.Forms.TextBox txtSlaveState;
+    private System.Windows.Forms.ImageList imageListSlaveGroups;
+    private System.ComponentModel.IContainer components;
+    private System.Windows.Forms.ImageList imageListUsers;
+    private Common.UpdateControl updateSlaveGroups;
+    private Common.UpdateControl updateControl1;
+    private Common.UpdateControl updateControl2;
   }
 }
Index: branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Views/3.4/Administration/HiveAdministrationView.cs
===================================================================
--- branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Views/3.4/Administration/HiveAdministrationView.cs	(revision 5512)
+++ branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Views/3.4/Administration/HiveAdministrationView.cs	(revision 5525)
@@ -20,10 +20,10 @@
 #endregion
 
-using System.Collections.Generic;
+using System;
 using System.Windows.Forms;
 using HeuristicLab.Clients.Hive.Administration;
 using HeuristicLab.Core.Views;
 using HeuristicLab.MainForm;
-//using HeuristicLab.Services.Hive.Common.DataTransfer;
+using HeuristicLab.Services.Hive.Common.DataTransfer;
 
 namespace HeuristicLab.Clients.Hive.Views.Administration {
@@ -51,4 +51,5 @@
     #endregion
 
+
     protected override void OnContentChanged() {
       base.OnContentChanged();
@@ -56,5 +57,56 @@
         // TODO: Put code here when content is null
       } else {
-        // TODO: Put code here when content has been changed and is not null
+        updateSlaveGroups.UpdateAction = new Action(Content.UpdateSlaveGroups);
+        treeSlaveGroup.ImageList.Images.Add(HiveImageLibrary.Slave);
+        treeSlaveGroup.ImageList.Images.Add(HiveImageLibrary.SlaveGroup);
+
+        foreach (SlaveGroup g in Content.SlaveGroups) {
+          TreeNode tn = new TreeNode();
+          tn.ImageIndex = treeSlaveGroup.ImageList.Images.Count - 1;
+          tn.SelectedImageIndex = tn.ImageIndex;
+
+          tn.Tag = g;
+          tn.Text = g.Name;
+          foreach (Slave s in Content.Slaves.FindAll(s => s.ParentResourceId != null && s.ParentResourceId == g.Id)) {
+            var stn = new TreeNode(s.Name);
+            stn.ImageIndex = 0;
+            stn.SelectedImageIndex = stn.ImageIndex;
+            stn.Tag = s;
+            tn.Nodes.Add(stn);
+          }
+          treeSlaveGroup.Nodes.Add(tn);
+        }
+
+        TreeNode ungrp = new TreeNode("UNGROUPED");
+        ungrp.ImageIndex = treeSlaveGroup.ImageList.Images.Count - 1;
+        ungrp.SelectedImageIndex = ungrp.ImageIndex;
+        var newGroup = new SlaveGroup();
+        newGroup.Name = "UNGROUPED";
+        newGroup.Id = Guid.NewGuid();
+        newGroup.Description = "Contains slaves which are in no group";
+        ungrp.Tag = newGroup;
+
+        foreach (Slave s in Content.Slaves.FindAll(s => s.ParentResourceId == null)) {
+          var stn = new TreeNode(s.Name);
+          stn.ImageIndex = 0;
+          stn.SelectedImageIndex = stn.ImageIndex;
+          stn.Tag = s;
+          ungrp.Nodes.Add(stn);
+        }
+        treeSlaveGroup.Nodes.Add(ungrp);
+
+        ShowUsers();
+      }
+    }
+
+    private void ShowUsers() {
+      lstUsers.SmallImageList.Images.Add(HeuristicLab.Common.Resources.VSImageLibrary.User);
+
+      foreach (string user in Content.Users) {
+        ListViewItem lvi = new ListViewItem();
+        lvi.Tag = user;
+        lvi.Text = user;
+        lvi.ImageIndex = 0;
+        lstUsers.Items.Add(lvi);
       }
     }
@@ -65,40 +117,40 @@
     }
 
-    /*List<SlaveGroup> slaveGroups;
-    List<Slave> slaves;*/
+    private void HiveAdministrationView_Load(object sender, System.EventArgs e) {
+      if (Content != null) {
 
-    private void HiveAdministrationView_Load(object sender, System.EventArgs e) {
-
-      /* using (HeuristicLab.Clients.Common.Disposable<IHiveService> service = ServiceLocator.Instance.GetService()) {
-         slaveGroups = new List<SlaveGroup>(service.Obj.GetSlaveGroups());
-         slaves = new List<Slave>(service.Obj.GetSlaves());
-
-         foreach (SlaveGroup g in slaveGroups) {
-           TreeNode tn = new TreeNode();
-           tn.Text = "Group " + g.Name;
-           foreach (Slave s in slaves.FindAll(s => s.ParentResourceId != null && s.ParentResourceId == g.Id)) {
-             tn.Nodes.Add(new TreeNode(s.Name));
-           }
-           treeSlaveGroup.Nodes.Add(tn);
-         }
-
-         TreeNode ungrp = new TreeNode("UNGROUPED");
-         foreach (Slave s in slaves.FindAll(s => s.ParentResourceId == null)) {
-           ungrp.Nodes.Add(new TreeNode(s.Name));
-         }
-         treeSlaveGroup.Nodes.Add(ungrp);
-
-       }*/
+      }
     }
 
     private void treeSlaveGroup_Click(object sender, System.EventArgs e) {
-      string text = treeSlaveGroup.SelectedNode.Text;
-
-      /*Slave slave = slaves.Find(s => s.Name == text);
-      if (slave != null) {
-       
-      } */
 
     }
+
+    private void treeSlaveGroup_MouseClick(object sender, MouseEventArgs e) {
+      if (treeSlaveGroup.SelectedNode != null &&
+      treeSlaveGroup.SelectedNode.Tag != null) {
+        if (treeSlaveGroup.SelectedNode.Tag.GetType() == typeof(Slave)) {
+          Slave s = treeSlaveGroup.SelectedNode.Tag as Slave;
+          txtName.Text = s.Name;
+          txtDetailsDescription.Text = s.Description;
+          txtCPU.Text = s.CpuArchitecture + ", " + s.Cores + " Cores @ " + s.CpuSpeed.ToString();
+          txtMemory.Text = s.Memory.ToString();
+          txtDetailsCalculatedJobs.Clear();
+          txtOS.Text = s.OperatingSystem;
+          txtSlaveState.Text = s.SlaveState.ToString();
+        } else if (treeSlaveGroup.SelectedNode.Tag.GetType() == typeof(SlaveGroup)) {
+          SlaveGroup s = treeSlaveGroup.SelectedNode.Tag as SlaveGroup;
+          txtName.Text = s.Name;
+          txtDetailsDescription.Text = s.Description;
+          txtCPU.Clear();
+          txtMemory.Clear();
+          txtDetailsCalculatedJobs.Clear();
+          txtOS.Clear();
+          txtSlaveState.Clear();
+        }
+      }
+    }
+
+
 
     #region Event Handlers
Index: branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Views/3.4/Administration/HiveAdministrationView.resx
===================================================================
--- branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Views/3.4/Administration/HiveAdministrationView.resx	(revision 5512)
+++ branches/HeuristicLab.Hive-3.4/sources/HeuristicLab.Clients.Hive.Views/3.4/Administration/HiveAdministrationView.resx	(revision 5525)
@@ -118,4 +118,7 @@
     <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
   </resheader>
+  <metadata name="imageListUsers.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>120, 17</value>
+  </metadata>
   <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
   <data name="btnRemoveGroup.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
@@ -166,5 +169,5 @@
         fNTws+7PbaOWo6fHXMf6Hwc/vj/OGn/2S8Yv7ycKnpCfVEyqTDZPmU2dmnafvvF05dOJZ+nPFmYKf5X+
         tfa5zvMffnP8rX82YnbiBf/Fp99LXsq/PPRq2aueuYC5R69TXy/MF72Rf3P4LeNt37vwd5MLWe+x7ys/
-        6H7o/ujz8cGn1E+f/gUDmPP8usTo0wAAAAlwSFlzAAALDQAACw0B7QfALAAAAbVJREFUOE+lk7lLA0EU
+        6H7o/ujz8cGn1E+f/gUDmPP8usTo0wAAAAlwSFlzAAALDAAACwwBP0AiyAAAAbVJREFUOE+lk7lLA0EU
         xuMRcdeYyIBRQcmxURTiEXE8ECQqpAkpJJVNihSKjVjbW1lJChuxtBGUNGKRwj9AvA9QEMRGS01M4YYZ
         v9nN5twgavGDt/tmvn3HtxbOueU/6JcpGQEpMAfqfyMoLjeAZbYU5iw2ryJe0N6ZVUZJI3JesGrkhYB4
@@ -224,5 +227,5 @@
         fNTws+7PbaOWo6fHXMf6Hwc/vj/OGn/2S8Yv7ycKnpCfVEyqTDZPmU2dmnafvvF05dOJZ+nPFmYKf5X+
         tfa5zvMffnP8rX82YnbiBf/Fp99LXsq/PPRq2aueuYC5R69TXy/MF72Rf3P4LeNt37vwd5MLWe+x7ys/
-        6H7o/ujz8cGn1E+f/gUDmPP8usTo0wAAAAlwSFlzAAALDQAACw0B7QfALAAAAX5JREFUOE9j+P//PwMl
+        6H7o/ujz8cGn1E+f/gUDmPP8usTo0wAAAAlwSFlzAAALDAAACwwBP0AiyAAAAX5JREFUOE9j+P//PwMl
         mCLNIItxGcBzdwH7mVvzOM9cncN15uIM3gO4XInLAObrc7j+/3nU+P/Pw4b/JycL/CHVAIbz03nhBhzs
         EQHqxx5WOMPg+CTBD38e1v3/86Dq/452cZAB/NgMgRtwaSbPgbNT+c6cnCR45ki/0Jl93SJ//jwo///3
@@ -234,3 +237,6 @@
 </value>
   </data>
+  <metadata name="imageListSlaveGroups.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
+    <value>17, 17</value>
+  </metadata>
 </root>
