Index: /trunk/sources/HeuristicLab.Algorithms.GeneticAlgorithm.Views/3.3/GeneticAlgorithmView.Designer.cs
===================================================================
--- /trunk/sources/HeuristicLab.Algorithms.GeneticAlgorithm.Views/3.3/GeneticAlgorithmView.Designer.cs	(revision 3305)
+++ /trunk/sources/HeuristicLab.Algorithms.GeneticAlgorithm.Views/3.3/GeneticAlgorithmView.Designer.cs	(revision 3306)
@@ -50,4 +50,6 @@
       this.problemTabPage.SuspendLayout();
       this.resultsTabPage.SuspendLayout();
+      this.runsTabPage.SuspendLayout();
+      this.problemPanel.SuspendLayout();
       ((System.ComponentModel.ISupportInitialize)(this.errorProvider)).BeginInit();
       this.SuspendLayout();
@@ -138,4 +140,16 @@
       this.toolTip.SetToolTip(this.stopButton, "Stop Algorithm");
       // 
+      // runsTabPage
+      // 
+      this.runsTabPage.Size = new System.Drawing.Size(736, 468);
+      // 
+      // runsView
+      // 
+      this.runsView.Size = new System.Drawing.Size(724, 456);
+      // 
+      // problemPanel
+      // 
+      this.problemPanel.Size = new System.Drawing.Size(724, 426);
+      // 
       // nameTextBox
       // 
@@ -160,4 +174,6 @@
       this.problemTabPage.ResumeLayout(false);
       this.resultsTabPage.ResumeLayout(false);
+      this.runsTabPage.ResumeLayout(false);
+      this.problemPanel.ResumeLayout(false);
       ((System.ComponentModel.ISupportInitialize)(this.errorProvider)).EndInit();
       this.ResumeLayout(false);
Index: /trunk/sources/HeuristicLab.Analysis/3.3/DataTable.cs
===================================================================
--- /trunk/sources/HeuristicLab.Analysis/3.3/DataTable.cs	(revision 3305)
+++ /trunk/sources/HeuristicLab.Analysis/3.3/DataTable.cs	(revision 3306)
@@ -20,4 +20,5 @@
 #endregion
 
+using System.Drawing;
 using HeuristicLab.Core;
 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
@@ -30,4 +31,8 @@
   [StorableClass]
   public sealed class DataTable : NamedItem {
+    public override Image ItemImage {
+      get { return HeuristicLab.Common.Resources.VS2008ImageLibrary.Table; }
+    }
+
     [Storable]
     private NamedItemCollection<DataRow> rows;
Index: /trunk/sources/HeuristicLab.Analysis/3.3/HeuristicLab.Analysis-3.3.csproj
===================================================================
--- /trunk/sources/HeuristicLab.Analysis/3.3/HeuristicLab.Analysis-3.3.csproj	(revision 3305)
+++ /trunk/sources/HeuristicLab.Analysis/3.3/HeuristicLab.Analysis-3.3.csproj	(revision 3306)
@@ -73,4 +73,5 @@
       <RequiredTargetFramework>3.5</RequiredTargetFramework>
     </Reference>
+    <Reference Include="System.Drawing" />
     <Reference Include="System.Xml.Linq">
       <RequiredTargetFramework>3.5</RequiredTargetFramework>
@@ -103,4 +104,8 @@
       <Project>{958B43BC-CC5C-4FA2-8628-2B3B01D890B6}</Project>
       <Name>HeuristicLab.Collections-3.3</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\HeuristicLab.Common.Resources\3.2\HeuristicLab.Common.Resources-3.2.csproj">
+      <Project>{0E27A536-1C4A-4624-A65E-DC4F4F23E3E1}</Project>
+      <Name>HeuristicLab.Common.Resources-3.2</Name>
     </ProjectReference>
     <ProjectReference Include="..\..\HeuristicLab.Core\3.3\HeuristicLab.Core-3.3.csproj">
Index: /trunk/sources/HeuristicLab.Analysis/3.3/HeuristicLabAnalysisPlugin.cs.frame
===================================================================
--- /trunk/sources/HeuristicLab.Analysis/3.3/HeuristicLabAnalysisPlugin.cs.frame	(revision 3305)
+++ /trunk/sources/HeuristicLab.Analysis/3.3/HeuristicLabAnalysisPlugin.cs.frame	(revision 3306)
@@ -29,4 +29,5 @@
   [PluginFile("HeuristicLab.Analysis-3.3.dll", PluginFileType.Assembly)]
   [PluginDependency("HeuristicLab.Collections", "3.3")]
+  [PluginDependency("HeuristicLab.Common.Resources", "3.2")]
   [PluginDependency("HeuristicLab.Core", "3.3")]
   [PluginDependency("HeuristicLab.Data", "3.3")]
Index: /trunk/sources/HeuristicLab.Core.Views/3.3/CreateParameterDialog.Designer.cs
===================================================================
--- /trunk/sources/HeuristicLab.Core.Views/3.3/CreateParameterDialog.Designer.cs	(revision 3305)
+++ /trunk/sources/HeuristicLab.Core.Views/3.3/CreateParameterDialog.Designer.cs	(revision 3306)
@@ -148,5 +148,5 @@
       this.setDataTypeButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
       this.setDataTypeButton.Enabled = false;
-      this.setDataTypeButton.Image = HeuristicLab.Common.Resources.VS2008ImageLibrary.Add;
+      this.setDataTypeButton.Image = HeuristicLab.Common.Resources.VS2008ImageLibrary.Edit;
       this.setDataTypeButton.Location = new System.Drawing.Point(506, 420);
       this.setDataTypeButton.Name = "setDataTypeButton";
Index: /trunk/sources/HeuristicLab.Core.Views/3.3/ItemCollectionView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Core.Views/3.3/ItemCollectionView.cs	(revision 3305)
+++ /trunk/sources/HeuristicLab.Core.Views/3.3/ItemCollectionView.cs	(revision 3306)
@@ -22,4 +22,5 @@
 using System;
 using System.Collections.Generic;
+using System.Linq;
 using System.Windows.Forms;
 using HeuristicLab.Collections;
@@ -97,16 +98,14 @@
     }
     protected virtual ListViewItem CreateListViewItem(T item) {
-      if (!itemsListView.SmallImageList.Images.ContainsKey(item.GetType().FullName))
-        itemsListView.SmallImageList.Images.Add(item.GetType().FullName, item.ItemImage);
-
       ListViewItem listViewItem = new ListViewItem();
       listViewItem.Text = item.ToString();
       listViewItem.ToolTipText = item.ItemName + ": " + item.ItemDescription;
-      listViewItem.ImageIndex = itemsListView.SmallImageList.Images.IndexOfKey(item.GetType().FullName);
       listViewItem.Tag = item;
+      SetListViewItemImage(listViewItem);
       return listViewItem;
     }
     protected virtual void AddListViewItem(ListViewItem listViewItem) {
       itemsListView.Items.Add(listViewItem);
+      ((T)listViewItem.Tag).ItemImageChanged += new EventHandler(Item_ItemImageChanged);
       ((T)listViewItem.Tag).ToStringChanged += new EventHandler(Item_ToStringChanged);
       sortAscendingButton.Enabled = itemsListView.Items.Count > 0;
@@ -114,4 +113,5 @@
     }
     protected virtual void RemoveListViewItem(ListViewItem listViewItem) {
+      ((T)listViewItem.Tag).ItemImageChanged -= new EventHandler(Item_ItemImageChanged);
       ((T)listViewItem.Tag).ToStringChanged -= new EventHandler(Item_ToStringChanged);
       listViewItem.Remove();
@@ -120,7 +120,8 @@
     }
     protected virtual void UpdateListViewItem(ListViewItem listViewItem) {
-      if (!listViewItem.Text.Equals(listViewItem.Tag.ToString())) {
+      if (!listViewItem.Text.Equals(listViewItem.Tag.ToString()))
         listViewItem.Text = listViewItem.Tag.ToString();
-      }
+      if (itemsListView.SmallImageList.Images[listViewItem.ImageIndex] != ((T)listViewItem.Tag).ItemImage)
+        SetListViewItemImage(listViewItem);
     }
     protected virtual IEnumerable<ListViewItem> GetListViewItemsForItem(T item) {
@@ -255,7 +256,7 @@
 
     #region Item Events
-    protected virtual void Item_ToStringChanged(object sender, EventArgs e) {
-      if (InvokeRequired)
-        Invoke(new EventHandler(Item_ToStringChanged), sender, e);
+    protected virtual void Item_ItemImageChanged(object sender, EventArgs e) {
+      if (InvokeRequired)
+        Invoke(new EventHandler(Item_ItemImageChanged), sender, e);
       else {
         T item = (T)sender;
@@ -264,7 +265,24 @@
       }
     }
+    protected virtual void Item_ToStringChanged(object sender, EventArgs e) {
+      if (InvokeRequired)
+        Invoke(new EventHandler(Item_ToStringChanged), sender, e);
+      else {
+        T item = (T)sender;
+        foreach (ListViewItem listViewItem in GetListViewItemsForItem(item))
+          UpdateListViewItem(listViewItem);
+      }
+    }
     #endregion
 
     #region Helpers
+    protected virtual void SetListViewItemImage(ListViewItem listViewItem) {
+      T item = (T)listViewItem.Tag;
+      int i = 0;
+      while ((i < itemsListView.SmallImageList.Images.Count) && (item.ItemImage != itemsListView.SmallImageList.Images[i]))
+        i++;
+      if (i == itemsListView.SmallImageList.Images.Count) itemsListView.SmallImageList.Images.Add(item.ItemImage);
+      listViewItem.ImageIndex = i;
+    }
     protected virtual void SortItemsListView(SortOrder sortOrder) {
       itemsListView.Sorting = SortOrder.None;
Index: /trunk/sources/HeuristicLab.Core.Views/3.3/ItemListView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Core.Views/3.3/ItemListView.cs	(revision 3305)
+++ /trunk/sources/HeuristicLab.Core.Views/3.3/ItemListView.cs	(revision 3306)
@@ -119,23 +119,23 @@
     }
     protected virtual ListViewItem CreateListViewItem(T item) {
-      if (!itemsListView.SmallImageList.Images.ContainsKey(item.GetType().FullName))
-        itemsListView.SmallImageList.Images.Add(item.GetType().FullName, item.ItemImage);
-
       ListViewItem listViewItem = new ListViewItem();
       listViewItem.Text = item.ToString();
       listViewItem.ToolTipText = item.ItemName + ": " + item.ItemDescription;
-      listViewItem.ImageIndex = itemsListView.SmallImageList.Images.IndexOfKey(item.GetType().FullName);
       listViewItem.Tag = item;
+      SetListViewItemImage(listViewItem);
       return listViewItem;
     }
     protected virtual void AddListViewItem(ListViewItem listViewItem) {
       itemsListView.Items.Add(listViewItem);
+      ((T)listViewItem.Tag).ItemImageChanged += new EventHandler(Item_ItemImageChanged);
       ((T)listViewItem.Tag).ToStringChanged += new EventHandler(Item_ToStringChanged);
     }
     protected virtual void InsertListViewItem(int index, ListViewItem listViewItem) {
       itemsListView.Items.Insert(index, listViewItem);
+      ((T)listViewItem.Tag).ItemImageChanged += new EventHandler(Item_ItemImageChanged);
       ((T)listViewItem.Tag).ToStringChanged += new EventHandler(Item_ToStringChanged);
     }
     protected virtual void RemoveListViewItem(ListViewItem listViewItem) {
+      ((T)listViewItem.Tag).ItemImageChanged -= new EventHandler(Item_ItemImageChanged);
       ((T)listViewItem.Tag).ToStringChanged -= new EventHandler(Item_ToStringChanged);
       listViewItem.Remove();
@@ -143,10 +143,8 @@
     protected virtual void UpdateListViewItem(ListViewItem listViewItem) {
       T item = (T)listViewItem.Tag;
-      if (!itemsListView.SmallImageList.Images.ContainsKey(item.GetType().FullName))
-        itemsListView.SmallImageList.Images.Add(item.GetType().FullName, item.ItemImage);
-
       listViewItem.Text = item.ToString();
       listViewItem.ToolTipText = item.ItemName + ": " + item.ItemDescription;
-      listViewItem.ImageIndex = itemsListView.SmallImageList.Images.IndexOfKey(item.GetType().FullName);
+      if (itemsListView.SmallImageList.Images[listViewItem.ImageIndex] != item.ItemImage)
+        SetListViewItemImage(listViewItem);
     }
 
@@ -334,7 +332,7 @@
 
     #region Item Events
-    protected virtual void Item_ToStringChanged(object sender, EventArgs e) {
-      if (InvokeRequired)
-        Invoke(new EventHandler(Item_ToStringChanged), sender, e);
+    protected virtual void Item_ItemImageChanged(object sender, EventArgs e) {
+      if (InvokeRequired)
+        Invoke(new EventHandler(Item_ItemImageChanged), sender, e);
       else {
         T item = (T)sender;
@@ -345,4 +343,26 @@
       }
     }
+    protected virtual void Item_ToStringChanged(object sender, EventArgs e) {
+      if (InvokeRequired)
+        Invoke(new EventHandler(Item_ToStringChanged), sender, e);
+      else {
+        T item = (T)sender;
+        foreach (ListViewItem listViewItem in itemsListView.Items) {
+          if (((T)listViewItem.Tag) == item)
+            UpdateListViewItem(listViewItem);
+        }
+      }
+    }
+    #endregion
+
+    #region Helpers
+    protected virtual void SetListViewItemImage(ListViewItem listViewItem) {
+      T item = (T)listViewItem.Tag;
+      int i = 0;
+      while ((i < itemsListView.SmallImageList.Images.Count) && (item.ItemImage != itemsListView.SmallImageList.Images[i]))
+        i++;
+      if (i == itemsListView.SmallImageList.Images.Count) itemsListView.SmallImageList.Images.Add(item.ItemImage);
+      listViewItem.ImageIndex = i;
+    }
     #endregion
   }
Index: /trunk/sources/HeuristicLab.Core.Views/3.3/VariableView.Designer.cs
===================================================================
--- /trunk/sources/HeuristicLab.Core.Views/3.3/VariableView.Designer.cs	(revision 3305)
+++ /trunk/sources/HeuristicLab.Core.Views/3.3/VariableView.Designer.cs	(revision 3306)
@@ -140,5 +140,5 @@
       // setValueButton
       // 
-      this.setValueButton.Image = HeuristicLab.Common.Resources.VS2008ImageLibrary.Add;
+      this.setValueButton.Image = HeuristicLab.Common.Resources.VS2008ImageLibrary.Edit;
       this.setValueButton.Location = new System.Drawing.Point(6, 19);
       this.setValueButton.Name = "setValueButton";
Index: /trunk/sources/HeuristicLab.Core/3.3/Interfaces/IItem.cs
===================================================================
--- /trunk/sources/HeuristicLab.Core/3.3/Interfaces/IItem.cs	(revision 3305)
+++ /trunk/sources/HeuristicLab.Core/3.3/Interfaces/IItem.cs	(revision 3306)
@@ -32,4 +32,5 @@
     Image ItemImage { get; }
 
+    event EventHandler ItemImageChanged;
     event EventHandler ToStringChanged;
   }
Index: /trunk/sources/HeuristicLab.Core/3.3/Item.cs
===================================================================
--- /trunk/sources/HeuristicLab.Core/3.3/Item.cs	(revision 3305)
+++ /trunk/sources/HeuristicLab.Core/3.3/Item.cs	(revision 3306)
@@ -55,8 +55,13 @@
     }
 
+    public event EventHandler ItemImageChanged;
+    protected virtual void OnItemImageChanged() {
+      EventHandler handler = ItemImageChanged;
+      if (handler != null) handler(this, EventArgs.Empty);
+    }
     public event EventHandler ToStringChanged;
     protected virtual void OnToStringChanged() {
-      if (ToStringChanged != null)
-        ToStringChanged(this, EventArgs.Empty);
+      EventHandler handler = ToStringChanged;
+      if (handler != null) handler(this, EventArgs.Empty);
     }
   }
Index: /trunk/sources/HeuristicLab.Core/3.3/ItemArray.cs
===================================================================
--- /trunk/sources/HeuristicLab.Core/3.3/ItemArray.cs	(revision 3305)
+++ /trunk/sources/HeuristicLab.Core/3.3/ItemArray.cs	(revision 3306)
@@ -65,8 +65,13 @@
     }
 
+    public event EventHandler ItemImageChanged;
+    protected virtual void OnItemImageChanged() {
+      EventHandler handler = ItemImageChanged;
+      if (handler != null) handler(this, EventArgs.Empty);
+    }
     public event EventHandler ToStringChanged;
     protected virtual void OnToStringChanged() {
-      if (ToStringChanged != null)
-        ToStringChanged(this, EventArgs.Empty);
+      EventHandler handler = ToStringChanged;
+      if (handler != null) handler(this, EventArgs.Empty);
     }
   }
Index: /trunk/sources/HeuristicLab.Core/3.3/ItemCollection.cs
===================================================================
--- /trunk/sources/HeuristicLab.Core/3.3/ItemCollection.cs	(revision 3305)
+++ /trunk/sources/HeuristicLab.Core/3.3/ItemCollection.cs	(revision 3306)
@@ -61,8 +61,13 @@
     }
 
+    public event EventHandler ItemImageChanged;
+    protected virtual void OnItemImageChanged() {
+      EventHandler handler = ItemImageChanged;
+      if (handler != null) handler(this, EventArgs.Empty);
+    }
     public event EventHandler ToStringChanged;
     protected virtual void OnToStringChanged() {
-      if (ToStringChanged != null)
-        ToStringChanged(this, EventArgs.Empty);
+      EventHandler handler = ToStringChanged;
+      if (handler != null) handler(this, EventArgs.Empty);
     }
   }
Index: /trunk/sources/HeuristicLab.Core/3.3/ItemList.cs
===================================================================
--- /trunk/sources/HeuristicLab.Core/3.3/ItemList.cs	(revision 3305)
+++ /trunk/sources/HeuristicLab.Core/3.3/ItemList.cs	(revision 3306)
@@ -65,8 +65,13 @@
     }
 
+    public event EventHandler ItemImageChanged;
+    protected virtual void OnItemImageChanged() {
+      EventHandler handler = ItemImageChanged;
+      if (handler != null) handler(this, EventArgs.Empty);
+    }
     public event EventHandler ToStringChanged;
     protected virtual void OnToStringChanged() {
-      if (ToStringChanged != null)
-        ToStringChanged(this, EventArgs.Empty);
+      EventHandler handler = ToStringChanged;
+      if (handler != null) handler(this, EventArgs.Empty);
     }
   }
Index: /trunk/sources/HeuristicLab.Core/3.3/ItemSet.cs
===================================================================
--- /trunk/sources/HeuristicLab.Core/3.3/ItemSet.cs	(revision 3305)
+++ /trunk/sources/HeuristicLab.Core/3.3/ItemSet.cs	(revision 3306)
@@ -64,8 +64,13 @@
     }
 
+    public event EventHandler ItemImageChanged;
+    protected virtual void OnItemImageChanged() {
+      EventHandler handler = ItemImageChanged;
+      if (handler != null) handler(this, EventArgs.Empty);
+    }
     public event EventHandler ToStringChanged;
     protected virtual void OnToStringChanged() {
-      if (ToStringChanged != null)
-        ToStringChanged(this, EventArgs.Empty);
+      EventHandler handler = ToStringChanged;
+      if (handler != null) handler(this, EventArgs.Empty);
     }
   }
Index: /trunk/sources/HeuristicLab.Core/3.3/NamedItemCollection.cs
===================================================================
--- /trunk/sources/HeuristicLab.Core/3.3/NamedItemCollection.cs	(revision 3305)
+++ /trunk/sources/HeuristicLab.Core/3.3/NamedItemCollection.cs	(revision 3306)
@@ -69,8 +69,13 @@
     }
 
+    public event EventHandler ItemImageChanged;
+    protected virtual void OnItemImageChanged() {
+      EventHandler handler = ItemImageChanged;
+      if (handler != null) handler(this, EventArgs.Empty);
+    }
     public event EventHandler ToStringChanged;
     protected virtual void OnToStringChanged() {
-      if (ToStringChanged != null)
-        ToStringChanged(this, EventArgs.Empty);
+      EventHandler handler = ToStringChanged;
+      if (handler != null) handler(this, EventArgs.Empty);
     }
 
Index: /trunk/sources/HeuristicLab.Data/3.3/BoolValue.cs
===================================================================
--- /trunk/sources/HeuristicLab.Data/3.3/BoolValue.cs	(revision 3305)
+++ /trunk/sources/HeuristicLab.Data/3.3/BoolValue.cs	(revision 3306)
@@ -21,4 +21,5 @@
 
 using System;
+using System.Drawing;
 using System.Text;
 using HeuristicLab.Core;
@@ -29,4 +30,8 @@
   [StorableClass]
   public class BoolValue : ValueTypeValue<bool>, IComparable, IStringConvertibleValue {
+    public override Image ItemImage {
+      get { return HeuristicLab.Common.Resources.VS2008ImageLibrary.Field; }
+    }
+
     public BoolValue() : base() { }
     public BoolValue(bool value) : base(value) { }
Index: /trunk/sources/HeuristicLab.Data/3.3/Comparison.cs
===================================================================
--- /trunk/sources/HeuristicLab.Data/3.3/Comparison.cs	(revision 3305)
+++ /trunk/sources/HeuristicLab.Data/3.3/Comparison.cs	(revision 3306)
@@ -21,4 +21,5 @@
 
 using System;
+using System.Drawing;
 using HeuristicLab.Core;
 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
@@ -28,4 +29,8 @@
   [StorableClass]
   public class Comparison : ValueTypeValue<ComparisonType>, IComparable {
+    public override Image ItemImage {
+      get { return HeuristicLab.Common.Resources.VS2008ImageLibrary.Enum; }
+    }
+
     public Comparison() : base() { }
     public Comparison(ComparisonType value) : base(value) { }
Index: /trunk/sources/HeuristicLab.Data/3.3/DoubleValue.cs
===================================================================
--- /trunk/sources/HeuristicLab.Data/3.3/DoubleValue.cs	(revision 3305)
+++ /trunk/sources/HeuristicLab.Data/3.3/DoubleValue.cs	(revision 3306)
@@ -21,4 +21,5 @@
 
 using System;
+using System.Drawing;
 using System.Text;
 using HeuristicLab.Core;
@@ -29,4 +30,8 @@
   [StorableClass]
   public class DoubleValue : ValueTypeValue<double>, IComparable, IStringConvertibleValue {
+    public override Image ItemImage {
+      get { return HeuristicLab.Common.Resources.VS2008ImageLibrary.Field; }
+    }
+
     public DoubleValue() : base() { }
     public DoubleValue(double value) : base(value) { }
Index: /trunk/sources/HeuristicLab.Data/3.3/HeuristicLab.Data-3.3.csproj
===================================================================
--- /trunk/sources/HeuristicLab.Data/3.3/HeuristicLab.Data-3.3.csproj	(revision 3305)
+++ /trunk/sources/HeuristicLab.Data/3.3/HeuristicLab.Data-3.3.csproj	(revision 3306)
@@ -95,4 +95,5 @@
     </Reference>
     <Reference Include="System.Data" />
+    <Reference Include="System.Drawing" />
     <Reference Include="System.Xml" />
   </ItemGroup>
Index: /trunk/sources/HeuristicLab.Data/3.3/IntValue.cs
===================================================================
--- /trunk/sources/HeuristicLab.Data/3.3/IntValue.cs	(revision 3305)
+++ /trunk/sources/HeuristicLab.Data/3.3/IntValue.cs	(revision 3306)
@@ -21,4 +21,5 @@
 
 using System;
+using System.Drawing;
 using System.Text;
 using HeuristicLab.Core;
@@ -29,4 +30,8 @@
   [StorableClass]
   public class IntValue : ValueTypeValue<int>, IComparable, IStringConvertibleValue {
+    public override Image ItemImage {
+      get { return HeuristicLab.Common.Resources.VS2008ImageLibrary.Field; }
+    }
+
     public IntValue() : base() { }
     public IntValue(int value) : base(value) { }
Index: /trunk/sources/HeuristicLab.Data/3.3/StringArray.cs
===================================================================
--- /trunk/sources/HeuristicLab.Data/3.3/StringArray.cs	(revision 3305)
+++ /trunk/sources/HeuristicLab.Data/3.3/StringArray.cs	(revision 3306)
@@ -23,4 +23,5 @@
 using System.Linq;
 using System.Collections;
+using System.Drawing;
 using System.Text;
 using HeuristicLab.Common;
@@ -33,4 +34,8 @@
   [StorableClass]
   public class StringArray : Item, IEnumerable<string>, IStringConvertibleArray {
+    public override Image ItemImage {
+      get { return HeuristicLab.Common.Resources.VS2008ImageLibrary.Class; }
+    }
+
     [Storable]
     protected string[] array;
Index: /trunk/sources/HeuristicLab.Data/3.3/StringMatrix.cs
===================================================================
--- /trunk/sources/HeuristicLab.Data/3.3/StringMatrix.cs	(revision 3305)
+++ /trunk/sources/HeuristicLab.Data/3.3/StringMatrix.cs	(revision 3306)
@@ -22,4 +22,5 @@
 using System;
 using System.Collections;
+using System.Drawing;
 using System.Text;
 using HeuristicLab.Common;
@@ -31,4 +32,8 @@
   [StorableClass]
   public class StringMatrix : Item, IEnumerable, IStringConvertibleMatrix {
+    public override Image ItemImage {
+      get { return HeuristicLab.Common.Resources.VS2008ImageLibrary.Class; }
+    }
+
     [Storable]
     protected string[,] matrix;
Index: /trunk/sources/HeuristicLab.Data/3.3/StringValue.cs
===================================================================
--- /trunk/sources/HeuristicLab.Data/3.3/StringValue.cs	(revision 3305)
+++ /trunk/sources/HeuristicLab.Data/3.3/StringValue.cs	(revision 3306)
@@ -21,4 +21,5 @@
 
 using System;
+using System.Drawing;
 using HeuristicLab.Core;
 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
@@ -28,4 +29,8 @@
   [StorableClass]
   public class StringValue : Item, IComparable, IStringConvertibleValue {
+    public override Image ItemImage {
+      get { return HeuristicLab.Common.Resources.VS2008ImageLibrary.Field; }
+    }
+
     [Storable]
     protected string value;
Index: /trunk/sources/HeuristicLab.Data/3.3/ValueTypeArray.cs
===================================================================
--- /trunk/sources/HeuristicLab.Data/3.3/ValueTypeArray.cs	(revision 3305)
+++ /trunk/sources/HeuristicLab.Data/3.3/ValueTypeArray.cs	(revision 3306)
@@ -22,4 +22,5 @@
 using System;
 using System.Collections;
+using System.Drawing;
 using System.Text;
 using HeuristicLab.Common;
@@ -31,4 +32,8 @@
   [StorableClass]
   public abstract class ValueTypeArray<T> : Item, IEnumerable where T : struct {
+    public override Image ItemImage {
+      get { return HeuristicLab.Common.Resources.VS2008ImageLibrary.Class; }
+    }
+
     [Storable]
     protected T[] array;
Index: /trunk/sources/HeuristicLab.Data/3.3/ValueTypeMatrix.cs
===================================================================
--- /trunk/sources/HeuristicLab.Data/3.3/ValueTypeMatrix.cs	(revision 3305)
+++ /trunk/sources/HeuristicLab.Data/3.3/ValueTypeMatrix.cs	(revision 3306)
@@ -22,4 +22,5 @@
 using System;
 using System.Collections;
+using System.Drawing;
 using System.Text;
 using HeuristicLab.Common;
@@ -31,4 +32,8 @@
   [StorableClass]
   public abstract class ValueTypeMatrix<T> : Item, IEnumerable where T : struct {
+    public override Image ItemImage {
+      get { return HeuristicLab.Common.Resources.VS2008ImageLibrary.Class; }
+    }
+
     [Storable]
     protected T[,] matrix;
Index: /trunk/sources/HeuristicLab.Data/3.3/ValueTypeValue.cs
===================================================================
--- /trunk/sources/HeuristicLab.Data/3.3/ValueTypeValue.cs	(revision 3305)
+++ /trunk/sources/HeuristicLab.Data/3.3/ValueTypeValue.cs	(revision 3306)
@@ -21,4 +21,5 @@
 
 using System;
+using System.Drawing;
 using HeuristicLab.Core;
 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
@@ -28,4 +29,8 @@
   [StorableClass]
   public abstract class ValueTypeValue<T> : Item where T : struct {
+    public override Image ItemImage {
+      get { return HeuristicLab.Common.Resources.VS2008ImageLibrary.ValueType; }
+    }
+
     [Storable]
     protected T value;
Index: /trunk/sources/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Tests/TestRandom.cs
===================================================================
--- /trunk/sources/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Tests/TestRandom.cs	(revision 3305)
+++ /trunk/sources/HeuristicLab.Encodings.BinaryVectorEncoding/3.3/Tests/TestRandom.cs	(revision 3306)
@@ -112,4 +112,5 @@
     }
 
+    public event EventHandler ItemImageChanged;
     public event EventHandler ToStringChanged;
 
Index: /trunk/sources/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Tests/TestRandom.cs
===================================================================
--- /trunk/sources/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Tests/TestRandom.cs	(revision 3305)
+++ /trunk/sources/HeuristicLab.Encodings.IntegerVectorEncoding/3.3/Tests/TestRandom.cs	(revision 3306)
@@ -112,4 +112,5 @@
     }
 
+    public event EventHandler ItemImageChanged;
     public event EventHandler ToStringChanged;
 
Index: /trunk/sources/HeuristicLab.Encodings.PermutationEncoding/3.3/Tests/Random.cs
===================================================================
--- /trunk/sources/HeuristicLab.Encodings.PermutationEncoding/3.3/Tests/Random.cs	(revision 3305)
+++ /trunk/sources/HeuristicLab.Encodings.PermutationEncoding/3.3/Tests/Random.cs	(revision 3306)
@@ -112,4 +112,5 @@
     }
 
+    public event EventHandler ItemImageChanged;
     public event EventHandler ToStringChanged;
 
Index: /trunk/sources/HeuristicLab.Encodings.RealVectorEncoding/3.3/Tests/TestRandom.cs
===================================================================
--- /trunk/sources/HeuristicLab.Encodings.RealVectorEncoding/3.3/Tests/TestRandom.cs	(revision 3305)
+++ /trunk/sources/HeuristicLab.Encodings.RealVectorEncoding/3.3/Tests/TestRandom.cs	(revision 3306)
@@ -112,4 +112,5 @@
     }
 
+    public event EventHandler ItemImageChanged;
     public event EventHandler ToStringChanged;
 
Index: /trunk/sources/HeuristicLab.Operators/3.3/AlgorithmOperator.cs
===================================================================
--- /trunk/sources/HeuristicLab.Operators/3.3/AlgorithmOperator.cs	(revision 3305)
+++ /trunk/sources/HeuristicLab.Operators/3.3/AlgorithmOperator.cs	(revision 3306)
@@ -32,5 +32,8 @@
   public abstract class AlgorithmOperator : SingleSuccessorOperator {
     public override Image ItemImage {
-      get { return HeuristicLab.Common.Resources.VS2008ImageLibrary.Module; }
+      get {
+        if (Breakpoint) return HeuristicLab.Common.Resources.VS2008ImageLibrary.BreakpointActive;
+        else return HeuristicLab.Common.Resources.VS2008ImageLibrary.Module;
+      }
     }
     [Storable]
Index: /trunk/sources/HeuristicLab.Operators/3.3/Operator.cs
===================================================================
--- /trunk/sources/HeuristicLab.Operators/3.3/Operator.cs	(revision 3305)
+++ /trunk/sources/HeuristicLab.Operators/3.3/Operator.cs	(revision 3306)
@@ -33,5 +33,8 @@
   public abstract class Operator : ParameterizedNamedItem, IOperator {
     public override Image ItemImage {
-      get { return HeuristicLab.Common.Resources.VS2008ImageLibrary.Method; }
+      get {
+        if (Breakpoint) return HeuristicLab.Common.Resources.VS2008ImageLibrary.BreakpointActive;
+        else return HeuristicLab.Common.Resources.VS2008ImageLibrary.Method;
+      }
     }
     public override bool CanChangeDescription {
@@ -76,4 +79,5 @@
           breakpoint = value;
           OnBreakpointChanged();
+          OnItemImageChanged();
         }
       }
Index: /trunk/sources/HeuristicLab.Optimization.Views/3.3/EngineAlgorithmView.Designer.cs
===================================================================
--- /trunk/sources/HeuristicLab.Optimization.Views/3.3/EngineAlgorithmView.Designer.cs	(revision 3305)
+++ /trunk/sources/HeuristicLab.Optimization.Views/3.3/EngineAlgorithmView.Designer.cs	(revision 3306)
@@ -54,4 +54,6 @@
       this.problemTabPage.SuspendLayout();
       this.resultsTabPage.SuspendLayout();
+      this.runsTabPage.SuspendLayout();
+      this.problemPanel.SuspendLayout();
       ((System.ComponentModel.ISupportInitialize)(this.errorProvider)).BeginInit();
       this.engineTabPage.SuspendLayout();
@@ -62,4 +64,5 @@
       this.tabControl.Controls.Add(this.engineTabPage);
       this.tabControl.Size = new System.Drawing.Size(713, 467);
+      this.tabControl.Controls.SetChildIndex(this.runsTabPage, 0);
       this.tabControl.Controls.SetChildIndex(this.resultsTabPage, 0);
       this.tabControl.Controls.SetChildIndex(this.engineTabPage, 0);
@@ -132,4 +135,16 @@
       this.stopButton.Location = new System.Drawing.Point(60, 525);
       this.toolTip.SetToolTip(this.stopButton, "Stop Algorithm");
+      // 
+      // runsTabPage
+      // 
+      this.runsTabPage.Size = new System.Drawing.Size(705, 441);
+      // 
+      // runsView
+      // 
+      this.runsView.Size = new System.Drawing.Size(693, 429);
+      // 
+      // problemPanel
+      // 
+      this.problemPanel.Size = new System.Drawing.Size(693, 399);
       // 
       // nameTextBox
@@ -172,5 +187,5 @@
       this.engineComboBox.Location = new System.Drawing.Point(55, 6);
       this.engineComboBox.Name = "engineComboBox";
-      this.engineComboBox.Size = new System.Drawing.Size(610, 21);
+      this.engineComboBox.Size = new System.Drawing.Size(644, 21);
       this.engineComboBox.TabIndex = 1;
       this.engineComboBox.SelectedIndexChanged += new System.EventHandler(this.engineComboBox_SelectedIndexChanged);
@@ -197,5 +212,5 @@
       this.engineViewHost.Location = new System.Drawing.Point(6, 33);
       this.engineViewHost.Name = "engineViewHost";
-      this.engineViewHost.Size = new System.Drawing.Size(659, 335);
+      this.engineViewHost.Size = new System.Drawing.Size(693, 402);
       this.engineViewHost.TabIndex = 2;
       this.engineViewHost.ViewType = null;
@@ -224,4 +239,6 @@
       this.problemTabPage.ResumeLayout(false);
       this.resultsTabPage.ResumeLayout(false);
+      this.runsTabPage.ResumeLayout(false);
+      this.problemPanel.ResumeLayout(false);
       ((System.ComponentModel.ISupportInitialize)(this.errorProvider)).EndInit();
       this.engineTabPage.ResumeLayout(false);
Index: /trunk/sources/HeuristicLab.Optimization.Views/3.3/UserDefinedAlgorithmView.Designer.cs
===================================================================
--- /trunk/sources/HeuristicLab.Optimization.Views/3.3/UserDefinedAlgorithmView.Designer.cs	(revision 3305)
+++ /trunk/sources/HeuristicLab.Optimization.Views/3.3/UserDefinedAlgorithmView.Designer.cs	(revision 3306)
@@ -57,4 +57,6 @@
       this.problemTabPage.SuspendLayout();
       this.resultsTabPage.SuspendLayout();
+      this.runsTabPage.SuspendLayout();
+      this.problemPanel.SuspendLayout();
       ((System.ComponentModel.ISupportInitialize)(this.errorProvider)).BeginInit();
       this.operatorGraphTabPage.SuspendLayout();
@@ -65,6 +67,4 @@
       // 
       this.createUserDefinedAlgorithmButton.Enabled = false;
-      this.createUserDefinedAlgorithmButton.Location = new System.Drawing.Point(150, 525);
-      this.createUserDefinedAlgorithmButton.TabIndex = 9;
       this.toolTip.SetToolTip(this.createUserDefinedAlgorithmButton, "Create User Defined Algorithm from this Algorithm");
       this.createUserDefinedAlgorithmButton.Visible = false;
@@ -104,18 +104,8 @@
       // resetButton
       // 
-      this.resetButton.Location = new System.Drawing.Point(90, 525);
       this.toolTip.SetToolTip(this.resetButton, "Reset Algorithm");
       // 
-      // executionTimeLabel
-      // 
-      this.executionTimeLabel.TabIndex = 10;
-      // 
-      // executionTimeTextBox
-      // 
-      this.executionTimeTextBox.TabIndex = 11;
-      // 
       // stopButton
       // 
-      this.stopButton.Location = new System.Drawing.Point(60, 525);
       this.toolTip.SetToolTip(this.stopButton, "Stop Algorithm");
       // 
@@ -216,4 +206,6 @@
       this.problemTabPage.ResumeLayout(false);
       this.resultsTabPage.ResumeLayout(false);
+      this.runsTabPage.ResumeLayout(false);
+      this.problemPanel.ResumeLayout(false);
       ((System.ComponentModel.ISupportInitialize)(this.errorProvider)).EndInit();
       this.operatorGraphTabPage.ResumeLayout(false);
Index: /trunk/sources/HeuristicLab.Parameters.Views/3.3/ValueLookupParameterView.Designer.cs
===================================================================
--- /trunk/sources/HeuristicLab.Parameters.Views/3.3/ValueLookupParameterView.Designer.cs	(revision 3305)
+++ /trunk/sources/HeuristicLab.Parameters.Views/3.3/ValueLookupParameterView.Designer.cs	(revision 3306)
@@ -141,5 +141,5 @@
       // setValueButton
       // 
-      this.setValueButton.Image = HeuristicLab.Common.Resources.VS2008ImageLibrary.Add;
+      this.setValueButton.Image = HeuristicLab.Common.Resources.VS2008ImageLibrary.Edit;
       this.setValueButton.Location = new System.Drawing.Point(6, 19);
       this.setValueButton.Name = "setValueButton";
Index: /trunk/sources/HeuristicLab.Parameters.Views/3.3/ValueParameterView.Designer.cs
===================================================================
--- /trunk/sources/HeuristicLab.Parameters.Views/3.3/ValueParameterView.Designer.cs	(revision 3305)
+++ /trunk/sources/HeuristicLab.Parameters.Views/3.3/ValueParameterView.Designer.cs	(revision 3306)
@@ -127,5 +127,5 @@
       // setValueButton
       // 
-      this.setValueButton.Image = HeuristicLab.Common.Resources.VS2008ImageLibrary.Add;
+      this.setValueButton.Image = HeuristicLab.Common.Resources.VS2008ImageLibrary.Edit;
       this.setValueButton.Location = new System.Drawing.Point(6, 19);
       this.setValueButton.Name = "setValueButton";
Index: /trunk/sources/HeuristicLab.Problems.TravelingSalesman.Views/3.3/TSPLIBImportDialog.Designer.cs
===================================================================
--- /trunk/sources/HeuristicLab.Problems.TravelingSalesman.Views/3.3/TSPLIBImportDialog.Designer.cs	(revision 3305)
+++ /trunk/sources/HeuristicLab.Problems.TravelingSalesman.Views/3.3/TSPLIBImportDialog.Designer.cs	(revision 3306)
@@ -105,5 +105,5 @@
       // 
       this.openTSPFileButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
-      this.openTSPFileButton.Image = HeuristicLab.Common.Resources.VS2008ImageLibrary.Add;
+      this.openTSPFileButton.Image = HeuristicLab.Common.Resources.VS2008ImageLibrary.Open;
       this.openTSPFileButton.Location = new System.Drawing.Point(520, 10);
       this.openTSPFileButton.Name = "openTSPFileButton";
@@ -136,5 +136,5 @@
       // 
       this.openTourFileButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
-      this.openTourFileButton.Image = HeuristicLab.Common.Resources.VS2008ImageLibrary.Add;
+      this.openTourFileButton.Image = HeuristicLab.Common.Resources.VS2008ImageLibrary.Open;
       this.openTourFileButton.Location = new System.Drawing.Point(520, 62);
       this.openTourFileButton.Name = "openTourFileButton";
Index: /trunk/sources/HeuristicLab.Problems.TravelingSalesman/3.3/PathTSPTour.cs
===================================================================
--- /trunk/sources/HeuristicLab.Problems.TravelingSalesman/3.3/PathTSPTour.cs	(revision 3305)
+++ /trunk/sources/HeuristicLab.Problems.TravelingSalesman/3.3/PathTSPTour.cs	(revision 3306)
@@ -21,4 +21,5 @@
 
 using System;
+using System.Drawing;
 using HeuristicLab.Common;
 using HeuristicLab.Core;
@@ -34,4 +35,8 @@
   [StorableClass]
   public sealed class PathTSPTour : Item {
+    public override Image ItemImage {
+      get { return HeuristicLab.Common.Resources.VS2008ImageLibrary.Image; }
+    }
+
     private DoubleMatrix coordinates;
     [Storable]
