Index: /trunk/sources/HeuristicLab.Core.Views/3.3/Clipboard.cs
===================================================================
--- /trunk/sources/HeuristicLab.Core.Views/3.3/Clipboard.cs	(revision 3361)
+++ /trunk/sources/HeuristicLab.Core.Views/3.3/Clipboard.cs	(revision 3362)
@@ -71,4 +71,5 @@
     protected override void OnInitialized(EventArgs e) {
       base.OnInitialized(e);
+      SetEnabledStateOfControls();
       Enabled = false;
       infoLabel.Text = "Loading ...";
@@ -77,4 +78,8 @@
       ThreadPool.QueueUserWorkItem(new WaitCallback(LoadItems));
     }
+    protected override void OnReadOnlyChanged() {
+      base.OnReadOnlyChanged();
+      SetEnabledStateOfControls();
+    }
     protected override void OnClosing(FormClosingEventArgs e) {
       base.OnClosing(e);
@@ -83,4 +88,10 @@
         this.Hide();
       }
+    }
+
+    private void SetEnabledStateOfControls() {
+      addButton.Enabled = !ReadOnly;
+      removeButton.Enabled = !ReadOnly && listView.SelectedItems.Count > 0;
+      saveButton.Enabled = !ReadOnly;
     }
 
@@ -207,9 +218,9 @@
     #region ListView Events
     private void listView_SelectedIndexChanged(object sender, EventArgs e) {
-      removeButton.Enabled = listView.SelectedItems.Count > 0;
+      removeButton.Enabled = !ReadOnly && listView.SelectedItems.Count > 0;
     }
     private void listView_KeyDown(object sender, KeyEventArgs e) {
       if (e.KeyCode == Keys.Delete) {
-        if (listView.SelectedItems.Count > 0) {
+        if (!ReadOnly && (listView.SelectedItems.Count > 0)) {
           foreach (ListViewItem item in listView.SelectedItems)
             RemoveItem((T)item.Tag);
@@ -220,5 +231,5 @@
       if (listView.SelectedItems.Count == 1) {
         T item = (T)listView.SelectedItems[0].Tag;
-        IView view = MainFormManager.CreateDefaultView(item);
+        IView view = MainFormManager.CreateDefaultView(item, ReadOnly);
         if (view != null) view.Show();
       }
@@ -230,7 +241,11 @@
       data.SetData("Type", item.GetType());
       data.SetData("Value", item);
-      DragDropEffects result = DoDragDrop(data, DragDropEffects.Copy | DragDropEffects.Link | DragDropEffects.Move);
-      if ((result & DragDropEffects.Move) == DragDropEffects.Move)
-        RemoveItem(item);
+      if (ReadOnly) {
+        DragDropEffects result = DoDragDrop(data, DragDropEffects.Copy | DragDropEffects.Link);
+      } else {
+        DragDropEffects result = DoDragDrop(data, DragDropEffects.Copy | DragDropEffects.Link | DragDropEffects.Move);
+        if ((result & DragDropEffects.Move) == DragDropEffects.Move)
+          RemoveItem(item);
+      }
     }
     private void listView_DragEnterOver(object sender, DragEventArgs e) {
@@ -238,5 +253,5 @@
       Type type = e.Data.GetData("Type") as Type;
       T item = e.Data.GetData("Value") as T;
-      if ((type != null) && (item != null)) {
+      if (!ReadOnly && (type != null) && (item != null)) {
         if ((e.KeyState & 8) == 8) e.Effect = DragDropEffects.Copy;  // CTRL key
         else if (((e.KeyState & 4) == 4) && !itemListViewItemTable.ContainsKey(item)) e.Effect = DragDropEffects.Move;  // SHIFT key
Index: /trunk/sources/HeuristicLab.Core.Views/3.3/EngineView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Core.Views/3.3/EngineView.cs	(revision 3361)
+++ /trunk/sources/HeuristicLab.Core.Views/3.3/EngineView.cs	(revision 3362)
@@ -77,11 +77,24 @@
       if (Content == null) {
         logView.Content = null;
+        executionTimeTextBox.Text = "-";
+      } else {
+        logView.Content = Content.Log;
+        executionTimeTextBox.Text = Content.ExecutionTime.ToString();
+      }
+      SetEnabledStateOfControls();
+    }
+
+    protected override void OnReadOnlyChanged() {
+      base.OnReadOnlyChanged();
+      SetEnabledStateOfControls();
+    }
+
+    private void SetEnabledStateOfControls() {
+      if (Content == null) {
         logView.Enabled = false;
-        executionTimeTextBox.Text = "-";
         executionTimeTextBox.Enabled = false;
       } else {
-        logView.Content = Content.Log;
+        logView.ReadOnly = ReadOnly;
         logView.Enabled = true;
-        executionTimeTextBox.Text = Content.ExecutionTime.ToString();
         executionTimeTextBox.Enabled = true;
       }
Index: /trunk/sources/HeuristicLab.Core.Views/3.3/ItemArrayView.Designer.cs
===================================================================
--- /trunk/sources/HeuristicLab.Core.Views/3.3/ItemArrayView.Designer.cs	(revision 3361)
+++ /trunk/sources/HeuristicLab.Core.Views/3.3/ItemArrayView.Designer.cs	(revision 3362)
@@ -138,5 +138,4 @@
       this.itemsListView.View = System.Windows.Forms.View.Details;
       this.itemsListView.SelectedIndexChanged += new System.EventHandler(this.itemsListView_SelectedIndexChanged);
-      this.itemsListView.SizeChanged += new System.EventHandler(this.itemsListView_SizeChanged);
       this.itemsListView.DoubleClick += new System.EventHandler(this.itemsListView_DoubleClick);
       this.itemsListView.DragDrop += new System.Windows.Forms.DragEventHandler(this.itemsListView_DragDrop);
Index: /trunk/sources/HeuristicLab.Core.Views/3.3/ItemArrayView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Core.Views/3.3/ItemArrayView.cs	(revision 3361)
+++ /trunk/sources/HeuristicLab.Core.Views/3.3/ItemArrayView.cs	(revision 3362)
@@ -88,15 +88,40 @@
       Caption = "Item Array";
       while (itemsListView.Items.Count > 0) RemoveListViewItem(itemsListView.Items[0]);
-      itemsListView.Enabled = false;
-      detailsGroupBox.Enabled = false;
       viewHost.Content = null;
-      moveUpButton.Enabled = false;
-      moveDownButton.Enabled = false;
-
       if (Content != null) {
         Caption += " (" + Content.GetType().Name + ")";
-        itemsListView.Enabled = true;
         foreach (T item in Content)
           AddListViewItem(CreateListViewItem(item));
+      }
+      SetEnabledStateOfControls();
+    }
+
+    protected override void OnReadOnlyChanged() {
+      base.OnReadOnlyChanged();
+      SetEnabledStateOfControls();
+    }
+
+    private void SetEnabledStateOfControls() {
+      if (Content == null) {
+        addButton.Enabled = false;
+        moveUpButton.Enabled = false;
+        moveDownButton.Enabled = false;
+        removeButton.Enabled = false;
+        itemsListView.Enabled = false;
+        detailsGroupBox.Enabled = false;
+      } else {
+        addButton.Enabled = itemsListView.SelectedItems.Count > 0 &&
+                            !Content.IsReadOnly && !ReadOnly;
+        moveUpButton.Enabled = itemsListView.SelectedItems.Count == 1 &&
+                               itemsListView.SelectedIndices[0] != 0 &&
+                               !Content.IsReadOnly && !ReadOnly;
+        moveDownButton.Enabled = itemsListView.SelectedItems.Count == 1 &&
+                                 itemsListView.SelectedIndices[0] != itemsListView.Items.Count - 1 &&
+                                 !Content.IsReadOnly && !ReadOnly;
+        removeButton.Enabled = itemsListView.SelectedItems.Count > 0 &&
+                               !Content.IsReadOnly && !ReadOnly;
+        itemsListView.Enabled = true;
+        detailsGroupBox.Enabled = true;
+        viewHost.ReadOnly = ReadOnly;
       }
     }
@@ -126,4 +151,5 @@
         ((T)listViewItem.Tag).ToStringChanged += new EventHandler(Item_ToStringChanged);
       }
+      AdjustListViewColumnSizes();
     }
     protected virtual void InsertListViewItem(int index, ListViewItem listViewItem) {
@@ -133,4 +159,5 @@
         ((T)listViewItem.Tag).ToStringChanged += new EventHandler(Item_ToStringChanged);
       }
+      AdjustListViewColumnSizes();
     }
     protected virtual void RemoveListViewItem(ListViewItem listViewItem) {
@@ -157,13 +184,14 @@
     }
 
+    #region ListView Events
     protected virtual void itemsListView_SelectedIndexChanged(object sender, EventArgs e) {
-      addButton.Enabled = itemsListView.SelectedItems.Count > 0 && !Content.IsReadOnly;
+      addButton.Enabled = itemsListView.SelectedItems.Count > 0 && !Content.IsReadOnly && !ReadOnly;
       moveUpButton.Enabled = itemsListView.SelectedItems.Count == 1 &&
                              itemsListView.SelectedIndices[0] != 0 &&
-                             !Content.IsReadOnly;
+                             !Content.IsReadOnly && !ReadOnly;
       moveDownButton.Enabled = itemsListView.SelectedItems.Count == 1 &&
                                itemsListView.SelectedIndices[0] != itemsListView.Items.Count - 1 &&
-                               !Content.IsReadOnly;
-      removeButton.Enabled = itemsListView.SelectedItems.Count > 0 && !Content.IsReadOnly;
+                               !Content.IsReadOnly && !ReadOnly;
+      removeButton.Enabled = itemsListView.SelectedItems.Count > 0 && !Content.IsReadOnly && !ReadOnly;
 
       if (itemsListView.SelectedItems.Count == 1) {
@@ -178,13 +206,7 @@
     }
 
-    #region ListView Events
-    protected virtual void itemsListView_SizeChanged(object sender, EventArgs e) {
-      if (itemsListView.Columns.Count > 0)
-        itemsListView.Columns[0].Width = Math.Max(0, itemsListView.Width - 25);
-    }
-
     protected virtual void itemsListView_KeyDown(object sender, KeyEventArgs e) {
       if (e.KeyCode == Keys.Delete) {
-        if ((itemsListView.SelectedItems.Count > 0) && !Content.IsReadOnly) {
+        if ((itemsListView.SelectedItems.Count > 0) && !Content.IsReadOnly && !ReadOnly) {
           foreach (ListViewItem item in itemsListView.SelectedItems)
             Content[item.Index] = null;
@@ -197,5 +219,5 @@
         T item = itemsListView.SelectedItems[0].Tag as T;
         if (item != null) {
-          IView view = MainFormManager.CreateDefaultView(item);
+          IView view = MainFormManager.CreateDefaultView(item, ReadOnly);
           if (view != null) view.Show();
         }
@@ -210,5 +232,5 @@
         data.SetData("Type", item.GetType());
         data.SetData("Value", item);
-        if (Content.IsReadOnly) {
+        if (Content.IsReadOnly || ReadOnly) {
           DoDragDrop(data, DragDropEffects.Copy | DragDropEffects.Link);
         } else {
@@ -222,5 +244,5 @@
       e.Effect = DragDropEffects.None;
       Type type = e.Data.GetData("Type") as Type;
-      if ((!Content.IsReadOnly) && (type != null) && (typeof(T).IsAssignableFrom(type))) {
+      if (!Content.IsReadOnly && !ReadOnly && (type != null) && (typeof(T).IsAssignableFrom(type))) {
         Point p = itemsListView.PointToClient(new Point(e.X, e.Y));
         ListViewItem listViewItem = itemsListView.GetItemAt(p.X, p.Y);
@@ -354,4 +376,14 @@
             UpdateListViewItemText(listViewItem);
         }
+        AdjustListViewColumnSizes();
+      }
+    }
+    #endregion
+
+    #region Helpers
+    protected virtual void AdjustListViewColumnSizes() {
+      if (itemsListView.Items.Count > 0) {
+        for (int i = 0; i < itemsListView.Columns.Count; i++)
+          itemsListView.Columns[i].AutoResize(ColumnHeaderAutoResizeStyle.ColumnContent);
       }
     }
Index: /trunk/sources/HeuristicLab.Core.Views/3.3/ItemCollectionView.Designer.cs
===================================================================
--- /trunk/sources/HeuristicLab.Core.Views/3.3/ItemCollectionView.Designer.cs	(revision 3361)
+++ /trunk/sources/HeuristicLab.Core.Views/3.3/ItemCollectionView.Designer.cs	(revision 3362)
@@ -115,5 +115,4 @@
       this.itemsListView.View = System.Windows.Forms.View.Details;
       this.itemsListView.SelectedIndexChanged += new System.EventHandler(this.itemsListView_SelectedIndexChanged);
-      this.itemsListView.SizeChanged += new System.EventHandler(this.itemsListView_SizeChanged);
       this.itemsListView.DoubleClick += new System.EventHandler(this.itemsListView_DoubleClick);
       this.itemsListView.DragDrop += new System.Windows.Forms.DragEventHandler(this.itemsListView_DragDrop);
Index: /trunk/sources/HeuristicLab.Core.Views/3.3/ItemCollectionView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Core.Views/3.3/ItemCollectionView.cs	(revision 3361)
+++ /trunk/sources/HeuristicLab.Core.Views/3.3/ItemCollectionView.cs	(revision 3362)
@@ -46,5 +46,4 @@
       Caption = "Item Collection";
     }
-
     public ItemCollectionView(IObservableCollection<T> content)
       : this() {
@@ -76,29 +75,28 @@
         SortItemsListView(SortOrder.Ascending);
       }
-      SetEnableStateOfControls();
+      SetEnabledStateOfControls();
     }
 
     protected override void OnReadOnlyChanged() {
       base.OnReadOnlyChanged();
-      SetEnableStateOfControls();
-    }
-    private void SetEnableStateOfControls() {
+      SetEnabledStateOfControls();
+    }
+
+    private void SetEnabledStateOfControls() {
       if (Content == null) {
+        addButton.Enabled = false;
+        sortAscendingButton.Enabled = false;
+        sortDescendingButton.Enabled = false;
+        removeButton.Enabled = false;
         itemsListView.Enabled = false;
         detailsGroupBox.Enabled = false;
-        sortAscendingButton.Enabled = itemsListView.Items.Count > 0;
-        sortDescendingButton.Enabled = itemsListView.Items.Count > 0;
-        viewHost.Enabled = false;
-        addButton.Enabled = false;
-        removeButton.Enabled = false;
       } else {
+        addButton.Enabled = !Content.IsReadOnly && !ReadOnly;
+        sortAscendingButton.Enabled = itemsListView.Items.Count > 1;
+        sortDescendingButton.Enabled = itemsListView.Items.Count > 1;
+        removeButton.Enabled = !Content.IsReadOnly && !ReadOnly && itemsListView.SelectedItems.Count > 0;
         itemsListView.Enabled = true;
         detailsGroupBox.Enabled = true;
-        sortAscendingButton.Enabled = true;
-        sortDescendingButton.Enabled = true;
-        viewHost.Enabled = true;
         viewHost.ReadOnly = ReadOnly;
-        addButton.Enabled = !ReadOnly;
-        removeButton.Enabled = !ReadOnly;
       }
     }
@@ -125,6 +123,7 @@
       ((T)listViewItem.Tag).ItemImageChanged += new EventHandler(Item_ItemImageChanged);
       ((T)listViewItem.Tag).ToStringChanged += new EventHandler(Item_ToStringChanged);
-      sortAscendingButton.Enabled = itemsListView.Items.Count > 0;
-      sortDescendingButton.Enabled = itemsListView.Items.Count > 0;
+      AdjustListViewColumnSizes();
+      sortAscendingButton.Enabled = itemsListView.Items.Count > 1;
+      sortDescendingButton.Enabled = itemsListView.Items.Count > 1;
     }
     protected virtual void RemoveListViewItem(ListViewItem listViewItem) {
@@ -135,6 +134,6 @@
         if (other.ImageIndex > listViewItem.ImageIndex) other.ImageIndex--;
       itemsListView.SmallImageList.Images.RemoveAt(listViewItem.ImageIndex);
-      sortAscendingButton.Enabled = itemsListView.Items.Count > 0;
-      sortDescendingButton.Enabled = itemsListView.Items.Count > 0;
+      sortAscendingButton.Enabled = itemsListView.Items.Count > 1;
+      sortDescendingButton.Enabled = itemsListView.Items.Count > 1;
     }
     protected virtual void UpdateListViewItemImage(ListViewItem listViewItem) {
@@ -157,5 +156,5 @@
     #region ListView Events
     protected virtual void itemsListView_SelectedIndexChanged(object sender, EventArgs e) {
-      removeButton.Enabled = itemsListView.SelectedItems.Count > 0 && !Content.IsReadOnly;
+      removeButton.Enabled = !Content.IsReadOnly && !ReadOnly && itemsListView.SelectedItems.Count > 0;
       if (itemsListView.SelectedItems.Count == 1) {
         T item = (T)itemsListView.SelectedItems[0].Tag;
@@ -168,11 +167,7 @@
       }
     }
-    protected virtual void itemsListView_SizeChanged(object sender, EventArgs e) {
-      if (itemsListView.Columns.Count > 0)
-        itemsListView.Columns[0].Width = Math.Max(0, itemsListView.Width - 25);
-    }
     protected virtual void itemsListView_KeyDown(object sender, KeyEventArgs e) {
       if (e.KeyCode == Keys.Delete) {
-        if ((itemsListView.SelectedItems.Count > 0) && !Content.IsReadOnly) {
+        if ((itemsListView.SelectedItems.Count > 0) && !Content.IsReadOnly && !ReadOnly) {
           foreach (ListViewItem item in itemsListView.SelectedItems)
             Content.Remove((T)item.Tag);
@@ -183,5 +178,5 @@
       if (itemsListView.SelectedItems.Count == 1) {
         T item = (T)itemsListView.SelectedItems[0].Tag;
-        IView view = MainFormManager.CreateDefaultView(item);
+        IView view = MainFormManager.CreateDefaultView(item, ReadOnly);
         if (view != null) view.Show();
       }
@@ -193,5 +188,5 @@
       data.SetData("Type", item.GetType());
       data.SetData("Value", item);
-      if (Content.IsReadOnly) {
+      if (Content.IsReadOnly || ReadOnly) {
         DoDragDrop(data, DragDropEffects.Copy | DragDropEffects.Link);
       } else {
@@ -204,5 +199,5 @@
       e.Effect = DragDropEffects.None;
       Type type = e.Data.GetData("Type") as Type;
-      if ((!Content.IsReadOnly) && (type != null) && (typeof(T).IsAssignableFrom(type))) {
+      if (!Content.IsReadOnly && !ReadOnly && (type != null) && (typeof(T).IsAssignableFrom(type))) {
         if ((e.KeyState & 8) == 8) e.Effect = DragDropEffects.Copy;  // CTRL key
         else if ((e.KeyState & 4) == 4) e.Effect = DragDropEffects.Move;  // SHIFT key
@@ -295,4 +290,5 @@
         foreach (ListViewItem listViewItem in GetListViewItemsForItem(item))
           UpdateListViewItemText(listViewItem);
+        AdjustListViewColumnSizes();
       }
     }
@@ -305,4 +301,10 @@
       itemsListView.Sorting = SortOrder.None;
     }
+    protected virtual void AdjustListViewColumnSizes() {
+      if (itemsListView.Items.Count > 0) {
+        for (int i = 0; i < itemsListView.Columns.Count; i++)
+          itemsListView.Columns[i].AutoResize(ColumnHeaderAutoResizeStyle.ColumnContent);
+      }
+    }
     #endregion
   }
Index: /trunk/sources/HeuristicLab.Core.Views/3.3/ItemListView.Designer.cs
===================================================================
--- /trunk/sources/HeuristicLab.Core.Views/3.3/ItemListView.Designer.cs	(revision 3361)
+++ /trunk/sources/HeuristicLab.Core.Views/3.3/ItemListView.Designer.cs	(revision 3362)
@@ -149,5 +149,4 @@
       this.itemsListView.View = System.Windows.Forms.View.Details;
       this.itemsListView.SelectedIndexChanged += new System.EventHandler(this.itemsListView_SelectedIndexChanged);
-      this.itemsListView.SizeChanged += new System.EventHandler(this.itemsListView_SizeChanged);
       this.itemsListView.DoubleClick += new System.EventHandler(this.itemsListView_DoubleClick);
       this.itemsListView.DragDrop += new System.Windows.Forms.DragEventHandler(this.itemsListView_DragDrop);
Index: /trunk/sources/HeuristicLab.Core.Views/3.3/ItemListView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Core.Views/3.3/ItemListView.cs	(revision 3361)
+++ /trunk/sources/HeuristicLab.Core.Views/3.3/ItemListView.cs	(revision 3362)
@@ -92,18 +92,39 @@
       Caption = "Item List";
       while (itemsListView.Items.Count > 0) RemoveListViewItem(itemsListView.Items[0]);
-      itemsListView.Enabled = false;
-      detailsGroupBox.Enabled = false;
       viewHost.Content = null;
-      addButton.Enabled = false;
-      moveUpButton.Enabled = false;
-      moveDownButton.Enabled = false;
-      removeButton.Enabled = false;
-
       if (Content != null) {
         Caption += " (" + Content.GetType().Name + ")";
-        itemsListView.Enabled = true;
-        addButton.Enabled = !Content.IsReadOnly;
         foreach (T item in Content)
           AddListViewItem(CreateListViewItem(item));
+      }
+      SetEnabledStateOfControls();
+    }
+
+    protected override void OnReadOnlyChanged() {
+      base.OnReadOnlyChanged();
+      SetEnabledStateOfControls();
+    }
+
+    private void SetEnabledStateOfControls() {
+      if (Content == null) {
+        addButton.Enabled = false;
+        moveUpButton.Enabled = false;
+        moveDownButton.Enabled = false;
+        removeButton.Enabled = false;
+        itemsListView.Enabled = false;
+        detailsGroupBox.Enabled = false;
+      } else {
+        addButton.Enabled = !Content.IsReadOnly && !ReadOnly;
+        moveUpButton.Enabled = itemsListView.SelectedItems.Count == 1 &&
+                               itemsListView.SelectedIndices[0] != 0 &&
+                               !Content.IsReadOnly && !ReadOnly;
+        moveDownButton.Enabled = itemsListView.SelectedItems.Count == 1 &&
+                                 itemsListView.SelectedIndices[0] != itemsListView.Items.Count - 1 &&
+                                 !Content.IsReadOnly && !ReadOnly;
+        removeButton.Enabled = itemsListView.SelectedItems.Count > 0 &&
+                               !Content.IsReadOnly && !ReadOnly;
+        itemsListView.Enabled = true;
+        detailsGroupBox.Enabled = true;
+        viewHost.ReadOnly = ReadOnly;
       }
     }
@@ -131,4 +152,5 @@
       ((T)listViewItem.Tag).ItemImageChanged += new EventHandler(Item_ItemImageChanged);
       ((T)listViewItem.Tag).ToStringChanged += new EventHandler(Item_ToStringChanged);
+      AdjustListViewColumnSizes();
     }
     protected virtual void InsertListViewItem(int index, ListViewItem listViewItem) {
@@ -136,4 +158,5 @@
       ((T)listViewItem.Tag).ItemImageChanged += new EventHandler(Item_ItemImageChanged);
       ((T)listViewItem.Tag).ToStringChanged += new EventHandler(Item_ToStringChanged);
+      AdjustListViewColumnSizes();
     }
     protected virtual void RemoveListViewItem(ListViewItem listViewItem) {
@@ -156,13 +179,14 @@
     }
 
+    #region ListView Events
     protected virtual void itemsListView_SelectedIndexChanged(object sender, EventArgs e) {
       moveUpButton.Enabled = itemsListView.SelectedItems.Count == 1 &&
                              itemsListView.SelectedIndices[0] != 0 &&
-                             !Content.IsReadOnly;
+                             !Content.IsReadOnly && !ReadOnly;
       moveDownButton.Enabled = itemsListView.SelectedItems.Count == 1 &&
                                itemsListView.SelectedIndices[0] != itemsListView.Items.Count - 1 &&
-                               !Content.IsReadOnly;
+                               !Content.IsReadOnly && !ReadOnly;
       removeButton.Enabled = itemsListView.SelectedItems.Count > 0 &&
-                             !Content.IsReadOnly;
+                             !Content.IsReadOnly && !ReadOnly;
 
       if (itemsListView.SelectedItems.Count == 1) {
@@ -177,13 +201,7 @@
     }
 
-    #region ListView Events
-    protected virtual void itemsListView_SizeChanged(object sender, EventArgs e) {
-      if (itemsListView.Columns.Count > 0)
-        itemsListView.Columns[0].Width = Math.Max(0, itemsListView.Width - 25);
-    }
-
     protected virtual void itemsListView_KeyDown(object sender, KeyEventArgs e) {
       if (e.KeyCode == Keys.Delete) {
-        if ((itemsListView.SelectedItems.Count > 0) && !Content.IsReadOnly) {
+        if ((itemsListView.SelectedItems.Count > 0) && !Content.IsReadOnly && !ReadOnly) {
           foreach (ListViewItem item in itemsListView.SelectedItems)
             Content.RemoveAt(item.Index);
@@ -195,5 +213,5 @@
       if (itemsListView.SelectedItems.Count == 1) {
         T item = (T)itemsListView.SelectedItems[0].Tag;
-        IView view = MainFormManager.CreateDefaultView(item);
+        IView view = MainFormManager.CreateDefaultView(item, ReadOnly);
         if (view != null) view.Show();
       }
@@ -206,5 +224,5 @@
       data.SetData("Type", item.GetType());
       data.SetData("Value", item);
-      if (Content.IsReadOnly) {
+      if (Content.IsReadOnly || ReadOnly) {
         DoDragDrop(data, DragDropEffects.Copy | DragDropEffects.Link);
       } else {
@@ -217,5 +235,5 @@
       e.Effect = DragDropEffects.None;
       Type type = e.Data.GetData("Type") as Type;
-      if ((!Content.IsReadOnly) && (type != null) && (typeof(T).IsAssignableFrom(type))) {
+      if (!Content.IsReadOnly && !ReadOnly && (type != null) && (typeof(T).IsAssignableFrom(type))) {
         if ((e.KeyState & 8) == 8) e.Effect = DragDropEffects.Copy;  // CTRL key
         else if ((e.KeyState & 4) == 4) e.Effect = DragDropEffects.Move;  // SHIFT key
@@ -360,4 +378,14 @@
             UpdateListViewItemText(listViewItem);
         }
+        AdjustListViewColumnSizes();
+      }
+    }
+    #endregion
+
+    #region Helpers
+    protected virtual void AdjustListViewColumnSizes() {
+      if (itemsListView.Items.Count > 0) {
+        for (int i = 0; i < itemsListView.Columns.Count; i++)
+          itemsListView.Columns[i].AutoResize(ColumnHeaderAutoResizeStyle.ColumnContent);
       }
     }
Index: /trunk/sources/HeuristicLab.Core.Views/3.3/ItemView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Core.Views/3.3/ItemView.cs	(revision 3361)
+++ /trunk/sources/HeuristicLab.Core.Views/3.3/ItemView.cs	(revision 3362)
@@ -29,7 +29,4 @@
   /// Base class for all visual representations.
   /// </summary>
-  [View("Item View")]
-  [Content(typeof(Item), false)]
-  [Content(typeof(IItem), false)]
   public partial class ItemView : AsynchronousContentView {
     public new IItem Content {
Index: /trunk/sources/HeuristicLab.Core.Views/3.3/NamedItemCollectionView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Core.Views/3.3/NamedItemCollectionView.cs	(revision 3361)
+++ /trunk/sources/HeuristicLab.Core.Views/3.3/NamedItemCollectionView.cs	(revision 3362)
@@ -81,5 +81,5 @@
       return new ListViewItem[] { listViewItemDictionary[item] };
     }
- 
+
     #region ListView Events
     protected override void itemsListView_DragEnterOver(object sender, DragEventArgs e) {
@@ -102,4 +102,5 @@
             UpdateListViewItemText(listViewItem);
         }
+        AdjustListViewColumnSizes();
       }
     }
Index: /trunk/sources/HeuristicLab.Core.Views/3.3/NamedItemView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Core.Views/3.3/NamedItemView.cs	(revision 3361)
+++ /trunk/sources/HeuristicLab.Core.Views/3.3/NamedItemView.cs	(revision 3362)
@@ -74,12 +74,12 @@
         toolTip.SetToolTip(descriptionTextBox, Content.Description);
       }
-      SetEnableStateOfControls();
+      SetEnabledStateOfControls();
     }
 
     protected override void OnReadOnlyChanged() {
       base.OnReadOnlyChanged();
-      SetEnableStateOfControls();
+      SetEnabledStateOfControls();
     }
-    private void SetEnableStateOfControls() {
+    private void SetEnabledStateOfControls() {
       if (Content == null) {
         nameTextBox.Enabled = false;
@@ -137,5 +137,5 @@
 
     protected void descriptionTextBox_DoubleClick(object sender, EventArgs e) {
-      using (TextDialog dialog = new TextDialog("Description of " + Content.Name, Content.Description, !Content.CanChangeDescription)) {
+      using (TextDialog dialog = new TextDialog("Description of " + Content.Name, Content.Description, ReadOnly || !Content.CanChangeDescription)) {
         if (dialog.ShowDialog(this) == DialogResult.OK)
           Content.Description = dialog.Content;
Index: /trunk/sources/HeuristicLab.Core.Views/3.3/OperatorGraphView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Core.Views/3.3/OperatorGraphView.cs	(revision 3361)
+++ /trunk/sources/HeuristicLab.Core.Views/3.3/OperatorGraphView.cs	(revision 3362)
@@ -87,17 +87,27 @@
       Caption = "Operator Graph";
       operatorsView.Content = null;
-      operatorsView.Enabled = false;
       operatorTreeView.Content = null;
-      operatorTreeView.Enabled = false;
-
       if (Content != null) {
         Caption = Content.ItemName + " (" + Content.GetType().Name + ")";
         operatorsView.Content = Content.Operators;
-        operatorsView.Enabled = true;
         MarkInitialOperator();
         operatorTreeView.Content = Content.InitialOperator;
-        operatorTreeView.Enabled = true;
       }
+      SetEnabledStateOfControls();
     }
+
+    protected override void OnReadOnlyChanged() {
+      base.OnReadOnlyChanged();
+      SetEnabledStateOfControls();
+    }
+
+    private void SetEnabledStateOfControls() {
+      operatorsView.Enabled = Content != null;
+      operatorTreeView.Enabled = Content != null;
+      operatorsView.ReadOnly = ReadOnly;
+      operatorTreeView.ReadOnly = ReadOnly;
+      operatorsContextMenuStrip.Enabled = Content != null && !ReadOnly;
+    }
+
 
     protected virtual void MarkInitialOperator() {
Index: /trunk/sources/HeuristicLab.Core.Views/3.3/OperatorTreeView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Core.Views/3.3/OperatorTreeView.cs	(revision 3361)
+++ /trunk/sources/HeuristicLab.Core.Views/3.3/OperatorTreeView.cs	(revision 3362)
@@ -90,5 +90,4 @@
       if (graphTreeView.Nodes.Count > 0)
         RemoveTreeNode(graphTreeView.Nodes[0]);
-      graphTreeView.Enabled = false;
       Caption = "Operator";
       if (Content != null) {
@@ -97,6 +96,15 @@
         FillTreeNode(root, Content);
         graphTreeView.Nodes.Add(root);
-        graphTreeView.Enabled = true;
-      }
+      }
+      SetEnabledStateOfControls();
+    }
+
+    protected override void OnReadOnlyChanged() {
+      base.OnReadOnlyChanged();
+      SetEnabledStateOfControls();
+    }
+
+    private void SetEnabledStateOfControls() {
+      graphTreeView.Enabled = Content != null;
     }
 
@@ -334,5 +342,5 @@
     }
     private void graphTreeView_KeyDown(object sender, KeyEventArgs e) {
-      if ((e.KeyCode == Keys.Delete) && (graphTreeView.SelectedNode != null)) {
+      if (!ReadOnly && (e.KeyCode == Keys.Delete) && (graphTreeView.SelectedNode != null)) {
         IValueParameter<IOperator> opParam = GetOperatorParameterTag(graphTreeView.SelectedNode);
         if (opParam != null) opParam.Value = null;
@@ -349,5 +357,5 @@
         IOperator op = GetOperatorTag(graphTreeView.SelectedNode);
         if (op != null) {
-          IView view = MainFormManager.CreateDefaultView(op);
+          IView view = MainFormManager.CreateDefaultView(op, ReadOnly);
           if (view != null) {
             viewToolStripMenuItem.Enabled = true;
@@ -368,5 +376,5 @@
       data.SetData("Type", op.GetType());
       data.SetData("Value", op);
-      if (opParam == null) {
+      if (ReadOnly || (opParam == null)) {
         DoDragDrop(data, DragDropEffects.Copy | DragDropEffects.Link);
       } else {
@@ -379,5 +387,5 @@
       e.Effect = DragDropEffects.None;
       Type type = e.Data.GetData("Type") as Type;
-      if ((type != null) && (typeof(IOperator).IsAssignableFrom(type))) {
+      if (!ReadOnly && (type != null) && (typeof(IOperator).IsAssignableFrom(type))) {
         TreeNode node = graphTreeView.GetNodeAt(graphTreeView.PointToClient(new Point(e.X, e.Y)));
         if ((node != null) && !node.IsExpanded) node.Expand();
Index: /trunk/sources/HeuristicLab.Core.Views/3.3/ParameterizedNamedItemView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Core.Views/3.3/ParameterizedNamedItemView.cs	(revision 3361)
+++ /trunk/sources/HeuristicLab.Core.Views/3.3/ParameterizedNamedItemView.cs	(revision 3362)
@@ -52,9 +52,16 @@
     protected override void OnContentChanged() {
       base.OnContentChanged();
-      if (Content == null) {
-        parameterCollectionView.Content = null;
-      } else {
-        parameterCollectionView.Content = Content.Parameters;
-      }
+      parameterCollectionView.Content = Content == null ? null : Content.Parameters;
+      SetEnabledStateOfControls();
+    }
+
+    protected override void OnReadOnlyChanged() {
+      base.OnReadOnlyChanged();
+      SetEnabledStateOfControls();
+    }
+
+    private void SetEnabledStateOfControls() {
+      parameterCollectionView.Enabled = Content != null;
+      parameterCollectionView.ReadOnly = ReadOnly;
     }
   }
Index: /trunk/sources/HeuristicLab.Core.Views/3.3/ScopeView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Core.Views/3.3/ScopeView.cs	(revision 3361)
+++ /trunk/sources/HeuristicLab.Core.Views/3.3/ScopeView.cs	(revision 3362)
@@ -79,13 +79,21 @@
       }
       variableCollectionView.Content = null;
-      variableCollectionView.Enabled = false;
-      if (Content == null) {
-        Caption = "Scope";
-        scopesTreeView.Enabled = false;
-      } else {
+      Caption = "Scope";
+      if (Content != null) {
         Caption = Content.Name + " (" + Content.GetType().Name + ")";
-        scopesTreeView.Enabled = true;
         scopesTreeView.Nodes.Add(CreateTreeNode(Content));
       }
+      SetEnabledStateOfControls();
+    }
+
+    protected override void OnReadOnlyChanged() {
+      base.OnReadOnlyChanged();
+      SetEnabledStateOfControls();
+    }
+
+    private void SetEnabledStateOfControls() {
+      scopesTreeView.Enabled = Content != null;
+      variableCollectionView.Enabled = Content != null;
+      variableCollectionView.ReadOnly = ReadOnly;
     }
 
@@ -161,7 +169,7 @@
       if (scope != null) {
         DataObject data = new DataObject();
-        data.SetData("Scope", scope);
-        data.SetData("DragSource", scopesTreeView);
-        DoDragDrop(data, DragDropEffects.Copy);
+        data.SetData("Type", scope.GetType());
+        data.SetData("Value", scope);
+        DoDragDrop(data, DragDropEffects.Copy | DragDropEffects.Link);
       }
     }
Index: /trunk/sources/HeuristicLab.Core.Views/3.3/VariableValueView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Core.Views/3.3/VariableValueView.cs	(revision 3361)
+++ /trunk/sources/HeuristicLab.Core.Views/3.3/VariableValueView.cs	(revision 3362)
@@ -83,11 +83,20 @@
         Caption = "Variable";
         viewHost.Content = null;
-        valuePanel.Enabled = false;
       } else {
         Caption = Content.Name + " (" + Content.GetType().Name + ")";
-        valuePanel.Enabled = true;
         viewHost.ViewType = null;
         viewHost.Content = Content.Value;
       }
+      SetEnabledStateOfControls();
+    }
+
+    protected override void OnReadOnlyChanged() {
+      base.OnReadOnlyChanged();
+      SetEnabledStateOfControls();
+    }
+
+    private void SetEnabledStateOfControls() {
+      valuePanel.Enabled = Content != null;
+      viewHost.ReadOnly = ReadOnly;
     }
 
@@ -104,5 +113,5 @@
       e.Effect = DragDropEffects.None;
       Type type = e.Data.GetData("Type") as Type;
-      if ((type != null) && (typeof(IItem).IsAssignableFrom(type))) {
+      if (!ReadOnly && (type != null) && (typeof(IItem).IsAssignableFrom(type))) {
         if ((e.KeyState & 8) == 8) e.Effect = DragDropEffects.Copy;  // CTRL key
         else if ((e.KeyState & 4) == 4) e.Effect = DragDropEffects.Move;  // SHIFT key
Index: /trunk/sources/HeuristicLab.Core.Views/3.3/VariableView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Core.Views/3.3/VariableView.cs	(revision 3361)
+++ /trunk/sources/HeuristicLab.Core.Views/3.3/VariableView.cs	(revision 3362)
@@ -85,19 +85,25 @@
         Caption = "Variable";
         dataTypeTextBox.Text = "-";
-        dataTypeTextBox.Enabled = false;
-        setValueButton.Enabled = false;
-        clearValueButton.Enabled = false;
-        valueGroupBox.Enabled = false;
         viewHost.Content = null;
       } else {
         Caption = Content.Name + " (" + Content.GetType().Name + ")";
         dataTypeTextBox.Text = Content.Value == null ? "-" : Content.Value.GetType().GetPrettyName();
-        dataTypeTextBox.Enabled = Content.Value != null;
-        setValueButton.Enabled = true;
-        clearValueButton.Enabled = Content.Value != null;
-        valueGroupBox.Enabled = true;
         viewHost.ViewType = null;
         viewHost.Content = Content.Value;
       }
+      SetEnabledStateOfControls();
+    }
+
+    protected override void OnReadOnlyChanged() {
+      base.OnReadOnlyChanged();
+      SetEnabledStateOfControls();
+    }
+
+    private void SetEnabledStateOfControls() {
+      dataTypeTextBox.Enabled = Content != null && Content.Value != null;
+      setValueButton.Enabled = Content != null && !ReadOnly;
+      clearValueButton.Enabled = Content != null && Content.Value != null && !ReadOnly;
+      valueGroupBox.Enabled = Content != null;
+      viewHost.ReadOnly = ReadOnly;
     }
 
@@ -130,5 +136,5 @@
       e.Effect = DragDropEffects.None;
       Type type = e.Data.GetData("Type") as Type;
-      if ((type != null) && (typeof(IItem).IsAssignableFrom(type))) {
+      if (!ReadOnly && (type != null) && (typeof(IItem).IsAssignableFrom(type))) {
         if ((e.KeyState & 8) == 8) e.Effect = DragDropEffects.Copy;  // CTRL key
         else if ((e.KeyState & 4) == 4) e.Effect = DragDropEffects.Move;  // SHIFT key
Index: /trunk/sources/HeuristicLab.Data.Views/3.3/BoolValueView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Data.Views/3.3/BoolValueView.cs	(revision 3361)
+++ /trunk/sources/HeuristicLab.Data.Views/3.3/BoolValueView.cs	(revision 3362)
@@ -62,12 +62,12 @@
         valueCheckBox.Checked = Content.Value;
       }
-      SetEnableStateOfControls();
+      SetEnabledStateOfControls();
     }
 
     protected override void OnReadOnlyChanged() {
       base.OnReadOnlyChanged();
-      SetEnableStateOfControls();
+      SetEnabledStateOfControls();
     }
-    private void SetEnableStateOfControls() {
+    private void SetEnabledStateOfControls() {
       if (Content == null) valueCheckBox.Enabled = false;
       else valueCheckBox.Enabled = !ReadOnly;
Index: /trunk/sources/HeuristicLab.Data.Views/3.3/ComparisonView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Data.Views/3.3/ComparisonView.cs	(revision 3361)
+++ /trunk/sources/HeuristicLab.Data.Views/3.3/ComparisonView.cs	(revision 3362)
@@ -63,11 +63,11 @@
         valueComboBox.SelectedItem = Content.Value;
       }
-      SetEnableStateOfControls();
+      SetEnabledStateOfControls();
     }
     protected override void OnReadOnlyChanged() {
       base.OnReadOnlyChanged();
-      SetEnableStateOfControls();
+      SetEnabledStateOfControls();
     }
-    private void SetEnableStateOfControls() {
+    private void SetEnabledStateOfControls() {
       if (Content == null) valueComboBox.Enabled = false;
       else valueComboBox.Enabled = !ReadOnly;
Index: /trunk/sources/HeuristicLab.Data.Views/3.3/StringConvertibleArrayView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Data.Views/3.3/StringConvertibleArrayView.cs	(revision 3361)
+++ /trunk/sources/HeuristicLab.Data.Views/3.3/StringConvertibleArrayView.cs	(revision 3362)
@@ -71,11 +71,11 @@
         UpdateData();
       }
-      SetEnableStateOfControls();
+      SetEnabledStateOfControls();
     }
     protected override void OnReadOnlyChanged() {
       base.OnReadOnlyChanged();
-      SetEnableStateOfControls();
+      SetEnabledStateOfControls();
     }
-    private void SetEnableStateOfControls() {
+    private void SetEnabledStateOfControls() {
       if (Content == null) {
         lengthTextBox.Enabled = false;
Index: /trunk/sources/HeuristicLab.Data.Views/3.3/StringConvertibleMatrixView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Data.Views/3.3/StringConvertibleMatrixView.cs	(revision 3361)
+++ /trunk/sources/HeuristicLab.Data.Views/3.3/StringConvertibleMatrixView.cs	(revision 3362)
@@ -90,11 +90,11 @@
         UpdateData();
       }
-      SetEnableStateOfControls();
+      SetEnabledStateOfControls();
     }
     protected override void OnReadOnlyChanged() {
       base.OnReadOnlyChanged();
-      SetEnableStateOfControls();
-    }
-    private void SetEnableStateOfControls() {
+      SetEnabledStateOfControls();
+    }
+    private void SetEnabledStateOfControls() {
       if (Content == null) {
         rowsTextBox.Enabled = false;
Index: /trunk/sources/HeuristicLab.Data.Views/3.3/StringConvertibleValueView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Data.Views/3.3/StringConvertibleValueView.cs	(revision 3361)
+++ /trunk/sources/HeuristicLab.Data.Views/3.3/StringConvertibleValueView.cs	(revision 3362)
@@ -65,11 +65,11 @@
         valueTextBox.Text = Content.GetValue();
       }
-      SetEnableStateOfControls();
+      SetEnabledStateOfControls();
     }
     protected override void OnReadOnlyChanged() {
       base.OnReadOnlyChanged();
-      SetEnableStateOfControls();
+      SetEnabledStateOfControls();
     }
-    private void SetEnableStateOfControls() {
+    private void SetEnabledStateOfControls() {
       if (Content == null) valueTextBox.Enabled = false;
       else {
Index: /trunk/sources/HeuristicLab.Operators.Views.GraphVisualization/3.3/GraphVisualizationInfoView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Operators.Views.GraphVisualization/3.3/GraphVisualizationInfoView.cs	(revision 3361)
+++ /trunk/sources/HeuristicLab.Operators.Views.GraphVisualization/3.3/GraphVisualizationInfoView.cs	(revision 3362)
@@ -76,8 +76,8 @@
     protected override void OnReadOnlyChanged() {
       base.OnReadOnlyChanged();
-      this.SetEnableStateOfControls();
-    }
-
-    private void SetEnableStateOfControls() {
+      this.SetEnabledStateOfControls();
+    }
+
+    private void SetEnabledStateOfControls() {
       DeleteTool deleteTool = (DeleteTool) this.Controller.Tools.Where( t => t.Name == ControllerBase.DeleteToolName).FirstOrDefault();
       HeuristicLab.Netron.Controller controller = this.Controller as HeuristicLab.Netron.Controller;
@@ -110,5 +110,5 @@
         this.UpdateLayoutRoot();
       }
-      this.SetEnableStateOfControls();
+      this.SetEnabledStateOfControls();
     }
 
Index: /trunk/sources/HeuristicLab.Operators.Views.GraphVisualization/3.3/OperatorGraphView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Operators.Views.GraphVisualization/3.3/OperatorGraphView.cs	(revision 3361)
+++ /trunk/sources/HeuristicLab.Operators.Views.GraphVisualization/3.3/OperatorGraphView.cs	(revision 3362)
@@ -73,13 +73,13 @@
         this.graphVisualizationInfoView.RelayoutGraph();
 
-      this.SetEnableStateOfControls();
+      this.SetEnabledStateOfControls();
     }
 
     protected override void OnReadOnlyChanged() {
       base.OnReadOnlyChanged();
-      this.SetEnableStateOfControls();
-    }
-
-    private void SetEnableStateOfControls() {
+      this.SetEnabledStateOfControls();
+    }
+
+    private void SetEnabledStateOfControls() {
       if (Content == null) {
         selectButton.Enabled = false;
Index: /trunk/sources/HeuristicLab.Optimization.Views/3.3/ResultView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Optimization.Views/3.3/ResultView.cs	(revision 3361)
+++ /trunk/sources/HeuristicLab.Optimization.Views/3.3/ResultView.cs	(revision 3362)
@@ -97,11 +97,11 @@
         viewHost.Content = Content.Value;
       }
-      SetEnableStateOfControls();
+      SetEnabledStateOfControls();
     }
     protected override void OnReadOnlyChanged() {
       base.OnReadOnlyChanged();
-      SetEnableStateOfControls();
+      SetEnabledStateOfControls();
     }
-    private void SetEnableStateOfControls() {
+    private void SetEnabledStateOfControls() {
       if (Content == null) {
         dataTypeTextBox.Enabled = false;
Index: /trunk/sources/HeuristicLab.Optimization.Views/3.3/RunCollectionView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Optimization.Views/3.3/RunCollectionView.cs	(revision 3361)
+++ /trunk/sources/HeuristicLab.Optimization.Views/3.3/RunCollectionView.cs	(revision 3362)
@@ -81,12 +81,12 @@
           AddListViewItem(CreateListViewItem(item));
       }
-      SetEnableStateOfControls();
+      SetEnabledStateOfControls();
     }
 
     protected override void OnReadOnlyChanged() {
       base.OnReadOnlyChanged();
-      SetEnableStateOfControls();
-    }
-    private void SetEnableStateOfControls() {
+      SetEnabledStateOfControls();
+    }
+    private void SetEnabledStateOfControls() {
       if (Content == null) {
         itemsListView.Enabled = false;
Index: /trunk/sources/HeuristicLab.Optimization.Views/3.3/RunView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Optimization.Views/3.3/RunView.cs	(revision 3361)
+++ /trunk/sources/HeuristicLab.Optimization.Views/3.3/RunView.cs	(revision 3362)
@@ -75,11 +75,11 @@
       else
         Caption = Content.Name + " (" + Content.GetType().Name + ")";
-      SetEnableStateOfControls();
+      SetEnabledStateOfControls();
     }
     protected override void OnReadOnlyChanged() {
       base.OnReadOnlyChanged();
-      SetEnableStateOfControls();
+      SetEnabledStateOfControls();
     }
-    private void SetEnableStateOfControls() {
+    private void SetEnabledStateOfControls() {
       if (Content == null) {
         parametersResultsGroupBox.Enabled = false;
