Index: trunk/sources/HeuristicLab.Logging/3.2/HeuristicLab.Logging-3.2.csproj
===================================================================
--- trunk/sources/HeuristicLab.Logging/3.2/HeuristicLab.Logging-3.2.csproj	(revision 2328)
+++ trunk/sources/HeuristicLab.Logging/3.2/HeuristicLab.Logging-3.2.csproj	(revision 2474)
@@ -17,4 +17,5 @@
     <UpgradeBackupLocation>
     </UpgradeBackupLocation>
+    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
@@ -73,4 +74,7 @@
   <ItemGroup>
     <Reference Include="System" />
+    <Reference Include="System.Core">
+      <RequiredTargetFramework>3.5</RequiredTargetFramework>
+    </Reference>
     <Reference Include="System.Data" />
     <Reference Include="System.Drawing" />
@@ -122,4 +126,8 @@
       <Name>HeuristicLab.Charting-3.2</Name>
     </ProjectReference>
+    <ProjectReference Include="..\..\HeuristicLab.Common\3.2\HeuristicLab.Common-3.2.csproj">
+      <Project>{1FC004FC-59AF-4249-B1B6-FF25873A20E4}</Project>
+      <Name>HeuristicLab.Common-3.2</Name>
+    </ProjectReference>
     <ProjectReference Include="..\..\HeuristicLab.Core\3.2\HeuristicLab.Core-3.2.csproj">
       <Project>{F43B59AB-2B8C-4570-BC1E-15592086517C}</Project>
Index: trunk/sources/HeuristicLab.Logging/3.2/HeuristicLabLoggingPlugin.cs
===================================================================
--- trunk/sources/HeuristicLab.Logging/3.2/HeuristicLabLoggingPlugin.cs	(revision 2328)
+++ trunk/sources/HeuristicLab.Logging/3.2/HeuristicLabLoggingPlugin.cs	(revision 2474)
@@ -33,4 +33,5 @@
   [Dependency(Dependency = "HeuristicLab.Charting-3.2")]
   [Dependency(Dependency = "HeuristicLab.Charting.Data-3.2")]
+  [Dependency(Dependency = "HeuristicLab.Common-3.2")]
   [Dependency(Dependency = "HeuristicLab.Core-3.2")]
   [Dependency(Dependency = "HeuristicLab.Data-3.2")]
Index: trunk/sources/HeuristicLab.Logging/3.2/LinechartView.cs
===================================================================
--- trunk/sources/HeuristicLab.Logging/3.2/LinechartView.cs	(revision 2328)
+++ trunk/sources/HeuristicLab.Logging/3.2/LinechartView.cs	(revision 2474)
@@ -27,4 +27,5 @@
 using System.Text;
 using System.Windows.Forms;
+using HeuristicLab.Common;
 using HeuristicLab.Core;
 using HeuristicLab.Data;
@@ -85,6 +86,6 @@
     protected override void RemoveItemEvents() {
       if(Linechart != null) {
-        Linechart.Values.ItemAdded -= new EventHandler<ItemIndexEventArgs>(Values_ItemAdded);
-        Linechart.Values.ItemRemoved -= new EventHandler<ItemIndexEventArgs>(Values_ItemRemoved);
+        Linechart.Values.ItemAdded -= new EventHandler<EventArgs<IItem, int>>(Values_ItemAdded);
+        Linechart.Values.ItemRemoved -= new EventHandler<EventArgs<IItem, int>>(Values_ItemRemoved);
       }
       base.RemoveItemEvents();
@@ -97,6 +98,6 @@
       base.AddItemEvents();
       if(Linechart != null) {
-        Linechart.Values.ItemAdded += new EventHandler<ItemIndexEventArgs>(Values_ItemAdded);
-        Linechart.Values.ItemRemoved += new EventHandler<ItemIndexEventArgs>(Values_ItemRemoved);
+        Linechart.Values.ItemAdded += new EventHandler<EventArgs<IItem, int>>(Values_ItemAdded);
+        Linechart.Values.ItemRemoved += new EventHandler<EventArgs<IItem, int>>(Values_ItemRemoved);
       }
     }
@@ -144,6 +145,6 @@
 
     #region Values Events
-    private delegate void ItemIndexDelegate(object sender, ItemIndexEventArgs e);
-    private void Values_ItemRemoved(object sender, ItemIndexEventArgs e) {
+    private delegate void ItemIndexDelegate(object sender, EventArgs<IItem, int> e);
+    private void Values_ItemRemoved(object sender, EventArgs<IItem, int> e) {
       if(InvokeRequired) {
         Invoke(new ItemIndexDelegate(Values_ItemRemoved), sender, e);
@@ -152,10 +153,10 @@
       }
     }
-    private void Values_ItemAdded(object sender, ItemIndexEventArgs e) {
+    private void Values_ItemAdded(object sender, EventArgs<IItem, int> e) {
       if(InvokeRequired) {
         Invoke(new ItemIndexDelegate(Values_ItemAdded), sender, e);
       } else {
         Datachart datachart = dataChartControl.Chart;
-        ItemList list = (ItemList)e.Item;
+        ItemList list = (ItemList)e.Value;
         datachart.UpdateEnabled = false;
         for (int i = 0; i < list.Count; i++) {
@@ -163,5 +164,5 @@
           if (list[i] is IntData) value = (double)((IntData)list[i]).Data;
           else value = ((DoubleData)list[i]).Data;
-          datachart.AddDataPoint(i, e.Index, value);
+          datachart.AddDataPoint(i, e.Value2, value);
           if (value < minY) minY = value;
           if (value > maxY) maxY = value;
Index: trunk/sources/HeuristicLab.Logging/3.2/LogView.cs
===================================================================
--- trunk/sources/HeuristicLab.Logging/3.2/LogView.cs	(revision 2328)
+++ trunk/sources/HeuristicLab.Logging/3.2/LogView.cs	(revision 2474)
@@ -27,4 +27,5 @@
 using System.Text;
 using System.Windows.Forms;
+using HeuristicLab.Common;
 using HeuristicLab.Core;
 using HeuristicLab.Data;
@@ -67,6 +68,6 @@
     protected override void RemoveItemEvents() {
       if (Log != null) {
-        Log.Items.ItemAdded -= new EventHandler<ItemIndexEventArgs>(Items_ItemAdded);
-        Log.Items.ItemRemoved -= new EventHandler<ItemIndexEventArgs>(Items_ItemRemoved);
+        Log.Items.ItemAdded -= new EventHandler<EventArgs<IItem, int>>(Items_ItemAdded);
+        Log.Items.ItemRemoved -= new EventHandler<EventArgs<IItem, int>>(Items_ItemRemoved);
       }
       base.RemoveItemEvents();
@@ -79,6 +80,6 @@
       base.AddItemEvents();
       if (Log != null) {
-        Log.Items.ItemAdded += new EventHandler<ItemIndexEventArgs>(Items_ItemAdded);
-        Log.Items.ItemRemoved += new EventHandler<ItemIndexEventArgs>(Items_ItemRemoved);
+        Log.Items.ItemAdded += new EventHandler<EventArgs<IItem, int>>(Items_ItemAdded);
+        Log.Items.ItemRemoved += new EventHandler<EventArgs<IItem, int>>(Items_ItemRemoved);
       }
     }
@@ -106,6 +107,6 @@
     #region ItemList Events
     private delegate void IndexDelegate(int index);
-    private void Items_ItemRemoved(object sender, ItemIndexEventArgs e) {
-      RemoveItem(e.Index);
+    private void Items_ItemRemoved(object sender, EventArgs<IItem, int> e) {
+      RemoveItem(e.Value2);
     }
     private void RemoveItem(int index) {
@@ -119,6 +120,6 @@
       }
     }
-    private void Items_ItemAdded(object sender, ItemIndexEventArgs e) {
-      AddItem(e.Index);
+    private void Items_ItemAdded(object sender, EventArgs<IItem, int> e) {
+      AddItem(e.Value2);
     }
     private void AddItem(int index) {
Index: trunk/sources/HeuristicLab.Logging/3.2/PointXYChartView.cs
===================================================================
--- trunk/sources/HeuristicLab.Logging/3.2/PointXYChartView.cs	(revision 2328)
+++ trunk/sources/HeuristicLab.Logging/3.2/PointXYChartView.cs	(revision 2474)
@@ -27,4 +27,5 @@
 using System.Text;
 using System.Windows.Forms;
+using HeuristicLab.Common;
 using HeuristicLab.Core;
 using HeuristicLab.Data;
@@ -85,6 +86,6 @@
     protected override void RemoveItemEvents() {
       if (PointXYChart != null) {
-        PointXYChart.Values.ItemAdded -= new EventHandler<ItemIndexEventArgs>(Values_ItemAdded);
-        PointXYChart.Values.ItemRemoved -= new EventHandler<ItemIndexEventArgs>(Values_ItemRemoved);
+        PointXYChart.Values.ItemAdded -= new EventHandler<EventArgs<IItem, int>>(Values_ItemAdded);
+        PointXYChart.Values.ItemRemoved -= new EventHandler<EventArgs<IItem, int>>(Values_ItemRemoved);
       }
       base.RemoveItemEvents();
@@ -97,6 +98,6 @@
       base.AddItemEvents();
       if (PointXYChart != null) {
-        PointXYChart.Values.ItemAdded += new EventHandler<ItemIndexEventArgs>(Values_ItemAdded);
-        PointXYChart.Values.ItemRemoved += new EventHandler<ItemIndexEventArgs>(Values_ItemRemoved);
+        PointXYChart.Values.ItemAdded += new EventHandler<EventArgs<IItem, int>>(Values_ItemAdded);
+        PointXYChart.Values.ItemRemoved += new EventHandler<EventArgs<IItem, int>>(Values_ItemRemoved);
       }
     }
@@ -149,6 +150,6 @@
 
     #region Values Events
-    private delegate void ItemIndexDelegate(object sender, ItemIndexEventArgs e);
-    private void Values_ItemRemoved(object sender, ItemIndexEventArgs e) {
+    private delegate void ItemIndexDelegate(object sender, EventArgs<IItem, int> e);
+    private void Values_ItemRemoved(object sender, EventArgs<IItem, int> e) {
       if (InvokeRequired) {
         Invoke(new ItemIndexDelegate(Values_ItemRemoved), sender, e);
@@ -157,5 +158,5 @@
       }
     }
-    private void Values_ItemAdded(object sender, ItemIndexEventArgs e) {
+    private void Values_ItemAdded(object sender, EventArgs<IItem, int> e) {
       if (InvokeRequired) {
         Invoke(new ItemIndexDelegate(Values_ItemAdded), sender, e);
Index: trunk/sources/HeuristicLab.Logging/3.3/HeuristicLab.Logging-3.3.csproj
===================================================================
--- trunk/sources/HeuristicLab.Logging/3.3/HeuristicLab.Logging-3.3.csproj	(revision 2328)
+++ trunk/sources/HeuristicLab.Logging/3.3/HeuristicLab.Logging-3.3.csproj	(revision 2474)
@@ -127,4 +127,8 @@
       <Name>HeuristicLab.Charting-3.2</Name>
     </ProjectReference>
+    <ProjectReference Include="..\..\HeuristicLab.Common\3.2\HeuristicLab.Common-3.2.csproj">
+      <Project>{1FC004FC-59AF-4249-B1B6-FF25873A20E4}</Project>
+      <Name>HeuristicLab.Common-3.2</Name>
+    </ProjectReference>
     <ProjectReference Include="..\..\HeuristicLab.Core\3.3\HeuristicLab.Core-3.3.csproj">
       <Project>{C36BD924-A541-4A00-AFA8-41701378DDC5}</Project>
Index: trunk/sources/HeuristicLab.Logging/3.3/HeuristicLabLoggingPlugin.cs
===================================================================
--- trunk/sources/HeuristicLab.Logging/3.3/HeuristicLabLoggingPlugin.cs	(revision 2328)
+++ trunk/sources/HeuristicLab.Logging/3.3/HeuristicLabLoggingPlugin.cs	(revision 2474)
@@ -31,4 +31,5 @@
   [ClassInfo(Name = "HeuristicLab.Logging-3.3")]
   [PluginFile(Filename = "HeuristicLab.Logging-3.3.dll", Filetype = PluginFileType.Assembly)]
+  [Dependency(Dependency = "HeuristicLab.Common-3.2")]
   [Dependency(Dependency = "HeuristicLab.Core-3.3")]
   [Dependency(Dependency = "HeuristicLab.Data-3.3")]
Index: trunk/sources/HeuristicLab.Logging/3.3/LinechartView.cs
===================================================================
--- trunk/sources/HeuristicLab.Logging/3.3/LinechartView.cs	(revision 2328)
+++ trunk/sources/HeuristicLab.Logging/3.3/LinechartView.cs	(revision 2474)
@@ -31,4 +31,5 @@
 using HeuristicLab.Charting;
 using HeuristicLab.Charting.Data;
+using HeuristicLab.Common;
 
 namespace HeuristicLab.Logging {
@@ -85,6 +86,6 @@
     protected override void RemoveItemEvents() {
       if(Linechart != null) {
-        Linechart.Values.ItemAdded -= new EventHandler<ItemIndexEventArgs>(Values_ItemAdded);
-        Linechart.Values.ItemRemoved -= new EventHandler<ItemIndexEventArgs>(Values_ItemRemoved);
+        Linechart.Values.ItemAdded -= new EventHandler<EventArgs<IItem, int>>(Values_ItemAdded);
+        Linechart.Values.ItemRemoved -= new EventHandler<EventArgs<IItem, int>>(Values_ItemRemoved);
       }
       base.RemoveItemEvents();
@@ -97,6 +98,6 @@
       base.AddItemEvents();
       if(Linechart != null) {
-        Linechart.Values.ItemAdded += new EventHandler<ItemIndexEventArgs>(Values_ItemAdded);
-        Linechart.Values.ItemRemoved += new EventHandler<ItemIndexEventArgs>(Values_ItemRemoved);
+        Linechart.Values.ItemAdded += new EventHandler<EventArgs<IItem, int>>(Values_ItemAdded);
+        Linechart.Values.ItemRemoved += new EventHandler<EventArgs<IItem, int>>(Values_ItemRemoved);
       }
     }
@@ -144,6 +145,6 @@
 
     #region Values Events
-    private delegate void ItemIndexDelegate(object sender, ItemIndexEventArgs e);
-    private void Values_ItemRemoved(object sender, ItemIndexEventArgs e) {
+    private delegate void ItemIndexDelegate(object sender, EventArgs<IItem, int> e);
+    private void Values_ItemRemoved(object sender, EventArgs<IItem, int> e) {
       if(InvokeRequired) {
         Invoke(new ItemIndexDelegate(Values_ItemRemoved), sender, e);
@@ -152,10 +153,10 @@
       }
     }
-    private void Values_ItemAdded(object sender, ItemIndexEventArgs e) {
+    private void Values_ItemAdded(object sender, EventArgs<IItem, int> e) {
       if(InvokeRequired) {
         Invoke(new ItemIndexDelegate(Values_ItemAdded), sender, e);
       } else {
         Datachart datachart = dataChartControl.Chart;
-        ItemList list = (ItemList)e.Item;
+        ItemList list = (ItemList)e.Value;
         datachart.UpdateEnabled = false;
         for (int i = 0; i < list.Count; i++) {
@@ -163,5 +164,5 @@
           if (list[i] is IntData) value = (double)((IntData)list[i]).Data;
           else value = ((DoubleData)list[i]).Data;
-          datachart.AddDataPoint(i, e.Index, value);
+          datachart.AddDataPoint(i, e.Value2, value);
           if (value < minY) minY = value;
           if (value > maxY) maxY = value;
Index: trunk/sources/HeuristicLab.Logging/3.3/LogView.cs
===================================================================
--- trunk/sources/HeuristicLab.Logging/3.3/LogView.cs	(revision 2328)
+++ trunk/sources/HeuristicLab.Logging/3.3/LogView.cs	(revision 2474)
@@ -29,4 +29,5 @@
 using HeuristicLab.Core;
 using HeuristicLab.Data;
+using HeuristicLab.Common;
 
 namespace HeuristicLab.Logging {
@@ -67,6 +68,6 @@
     protected override void RemoveItemEvents() {
       if (Log != null) {
-        Log.Items.ItemAdded -= new EventHandler<ItemIndexEventArgs>(Items_ItemAdded);
-        Log.Items.ItemRemoved -= new EventHandler<ItemIndexEventArgs>(Items_ItemRemoved);
+        Log.Items.ItemAdded -= new EventHandler<EventArgs<IItem, int>>(Items_ItemAdded);
+        Log.Items.ItemRemoved -= new EventHandler<EventArgs<IItem, int>>(Items_ItemRemoved);
       }
       base.RemoveItemEvents();
@@ -79,6 +80,6 @@
       base.AddItemEvents();
       if (Log != null) {
-        Log.Items.ItemAdded += new EventHandler<ItemIndexEventArgs>(Items_ItemAdded);
-        Log.Items.ItemRemoved += new EventHandler<ItemIndexEventArgs>(Items_ItemRemoved);
+        Log.Items.ItemAdded += new EventHandler<EventArgs<IItem, int>>(Items_ItemAdded);
+        Log.Items.ItemRemoved += new EventHandler<EventArgs<IItem, int>>(Items_ItemRemoved);
       }
     }
@@ -106,6 +107,6 @@
     #region ItemList Events
     private delegate void IndexDelegate(int index);
-    private void Items_ItemRemoved(object sender, ItemIndexEventArgs e) {
-      RemoveItem(e.Index);
+    private void Items_ItemRemoved(object sender, EventArgs<IItem, int> e) {
+      RemoveItem(e.Value2);
     }
     private void RemoveItem(int index) {
@@ -119,6 +120,6 @@
       }
     }
-    private void Items_ItemAdded(object sender, ItemIndexEventArgs e) {
-      AddItem(e.Index);
+    private void Items_ItemAdded(object sender, EventArgs<IItem, int> e) {
+      AddItem(e.Value2);
     }
     private void AddItem(int index) {
Index: trunk/sources/HeuristicLab.Logging/3.3/PointXYChartView.cs
===================================================================
--- trunk/sources/HeuristicLab.Logging/3.3/PointXYChartView.cs	(revision 2328)
+++ trunk/sources/HeuristicLab.Logging/3.3/PointXYChartView.cs	(revision 2474)
@@ -31,4 +31,5 @@
 using HeuristicLab.Charting;
 using HeuristicLab.Charting.Data;
+using HeuristicLab.Common;
 
 namespace HeuristicLab.Logging {
@@ -85,6 +86,6 @@
     protected override void RemoveItemEvents() {
       if (PointXYChart != null) {
-        PointXYChart.Values.ItemAdded -= new EventHandler<ItemIndexEventArgs>(Values_ItemAdded);
-        PointXYChart.Values.ItemRemoved -= new EventHandler<ItemIndexEventArgs>(Values_ItemRemoved);
+        PointXYChart.Values.ItemAdded -= new EventHandler<EventArgs<IItem, int>>(Values_ItemAdded);
+        PointXYChart.Values.ItemRemoved -= new EventHandler<EventArgs<IItem, int>>(Values_ItemRemoved);
       }
       base.RemoveItemEvents();
@@ -97,6 +98,6 @@
       base.AddItemEvents();
       if (PointXYChart != null) {
-        PointXYChart.Values.ItemAdded += new EventHandler<ItemIndexEventArgs>(Values_ItemAdded);
-        PointXYChart.Values.ItemRemoved += new EventHandler<ItemIndexEventArgs>(Values_ItemRemoved);
+        PointXYChart.Values.ItemAdded += new EventHandler<EventArgs<IItem, int>>(Values_ItemAdded);
+        PointXYChart.Values.ItemRemoved += new EventHandler<EventArgs<IItem, int>>(Values_ItemRemoved);
       }
     }
@@ -149,6 +150,6 @@
 
     #region Values Events
-    private delegate void ItemIndexDelegate(object sender, ItemIndexEventArgs e);
-    private void Values_ItemRemoved(object sender, ItemIndexEventArgs e) {
+    private delegate void ItemIndexDelegate(object sender, EventArgs<IItem, int> e);
+    private void Values_ItemRemoved(object sender, EventArgs<IItem, int> e) {
       if (InvokeRequired) {
         Invoke(new ItemIndexDelegate(Values_ItemRemoved), sender, e);
@@ -157,5 +158,5 @@
       }
     }
-    private void Values_ItemAdded(object sender, ItemIndexEventArgs e) {
+    private void Values_ItemAdded(object sender, EventArgs<IItem, int> e) {
       if (InvokeRequired) {
         Invoke(new ItemIndexDelegate(Values_ItemAdded), sender, e);
