Index: /trunk/sources/HeuristicLab 3.3.sln
===================================================================
--- /trunk/sources/HeuristicLab 3.3.sln	(revision 2662)
+++ /trunk/sources/HeuristicLab 3.3.sln	(revision 2663)
@@ -54,4 +54,5 @@
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeuristicLab 3.3", "HeuristicLab 3.3\HeuristicLab 3.3.csproj", "{B1DCDECA-B56E-41D5-9850-EF0D3A77DEAF}"
 	ProjectSection(ProjectDependencies) = postProject
+		{72104A0B-90E7-42F3-9ABE-9BBBADD4B943} = {72104A0B-90E7-42F3-9ABE-9BBBADD4B943}
 		{E226881D-315F-423D-B419-A766FE0D8685} = {E226881D-315F-423D-B419-A766FE0D8685}
 		{C36BD924-A541-4A00-AFA8-41701378DDC5} = {C36BD924-A541-4A00-AFA8-41701378DDC5}
@@ -59,4 +60,5 @@
 		{0E27A536-1C4A-4624-A65E-DC4F4F23E3E1} = {0E27A536-1C4A-4624-A65E-DC4F4F23E3E1}
 		{678E2145-8152-4E19-9646-07D439D00301} = {678E2145-8152-4E19-9646-07D439D00301}
+		{C49CB749-8B24-4628-8003-E86475749410} = {C49CB749-8B24-4628-8003-E86475749410}
 		{3BD61258-31DA-4B09-89C0-4F71FEF5F05A} = {3BD61258-31DA-4B09-89C0-4F71FEF5F05A}
 		{C664305E-497C-4533-A140-967DEDB05C19} = {C664305E-497C-4533-A140-967DEDB05C19}
@@ -69,4 +71,6 @@
 		{1B3063DB-D71C-4A6A-A359-883E8F53A140} = {1B3063DB-D71C-4A6A-A359-883E8F53A140}
 		{A9E282EA-180F-4233-B809-AEDF0787545C} = {A9E282EA-180F-4233-B809-AEDF0787545C}
+		{23DA7FF4-D5B8-41B6-AA96-F0561D24F3EE} = {23DA7FF4-D5B8-41B6-AA96-F0561D24F3EE}
+		{BBAB9DF5-5EF3-4BA8-ADE9-B36E82114937} = {BBAB9DF5-5EF3-4BA8-ADE9-B36E82114937}
 		{1FC004FC-59AF-4249-B1B6-FF25873A20E4} = {1FC004FC-59AF-4249-B1B6-FF25873A20E4}
 	EndProjectSection
@@ -101,4 +105,8 @@
 EndProject
 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "HeuristicLab.log4net", "HeuristicLab.log4net", "{BA3315A3-9D7C-4F5F-99F4-1C9B88FD32AE}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeuristicLab.Data.Views-3.3", "HeuristicLab.Data.Views\3.3\HeuristicLab.Data.Views-3.3.csproj", "{72104A0B-90E7-42F3-9ABE-9BBBADD4B943}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HeuristicLab.Operators.Views-3.3", "HeuristicLab.Operators.Views\3.3\HeuristicLab.Operators.Views-3.3.csproj", "{C49CB749-8B24-4628-8003-E86475749410}"
 EndProject
 Global
@@ -486,4 +494,20 @@
 		{1B3063DB-D71C-4A6A-A359-883E8F53A140}.Release|x86.ActiveCfg = Release|x86
 		{1B3063DB-D71C-4A6A-A359-883E8F53A140}.Release|x86.Build.0 = Release|x86
+		{72104A0B-90E7-42F3-9ABE-9BBBADD4B943}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{72104A0B-90E7-42F3-9ABE-9BBBADD4B943}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{72104A0B-90E7-42F3-9ABE-9BBBADD4B943}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{72104A0B-90E7-42F3-9ABE-9BBBADD4B943}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{72104A0B-90E7-42F3-9ABE-9BBBADD4B943}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{72104A0B-90E7-42F3-9ABE-9BBBADD4B943}.Release|Any CPU.Build.0 = Release|Any CPU
+		{72104A0B-90E7-42F3-9ABE-9BBBADD4B943}.Release|x64.ActiveCfg = Release|Any CPU
+		{72104A0B-90E7-42F3-9ABE-9BBBADD4B943}.Release|x86.ActiveCfg = Release|Any CPU
+		{C49CB749-8B24-4628-8003-E86475749410}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{C49CB749-8B24-4628-8003-E86475749410}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{C49CB749-8B24-4628-8003-E86475749410}.Debug|x64.ActiveCfg = Debug|Any CPU
+		{C49CB749-8B24-4628-8003-E86475749410}.Debug|x86.ActiveCfg = Debug|Any CPU
+		{C49CB749-8B24-4628-8003-E86475749410}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{C49CB749-8B24-4628-8003-E86475749410}.Release|Any CPU.Build.0 = Release|Any CPU
+		{C49CB749-8B24-4628-8003-E86475749410}.Release|x64.ActiveCfg = Release|Any CPU
+		{C49CB749-8B24-4628-8003-E86475749410}.Release|x86.ActiveCfg = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
Index: /trunk/sources/HeuristicLab 3.3/Files.txt
===================================================================
--- /trunk/sources/HeuristicLab 3.3/Files.txt	(revision 2662)
+++ /trunk/sources/HeuristicLab 3.3/Files.txt	(revision 2663)
@@ -12,4 +12,5 @@
 HeuristicLab.Core.Views\3.3:HeuristicLab.Core.Views-3.3.dll 
 HeuristicLab.Data\3.3:HeuristicLab.Data-3.3.dll 
+HeuristicLab.Data.Views\3.3:HeuristicLab.Data.Views-3.3.dll 
 HeuristicLab.Evolutionary\3.3:HeuristicLab.Evolutionary-3.3.dll 
 HeuristicLab.Logging\3.3:HeuristicLab.Logging-3.3.dll 
@@ -17,4 +18,5 @@
 HeuristicLab.MainForm.WindowsForms\3.2:HeuristicLab.MainForm.WindowsForms-3.2.dll 
 HeuristicLab.Operators\3.3:HeuristicLab.Operators-3.3.dll 
+HeuristicLab.Operators.Views\3.3:HeuristicLab.Operators.Views-3.3.dll 
 HeuristicLab.Operators.Programmable\3.3:HeuristicLab.Operators.Programmable-3.3.dll 
 HeuristicLab.Optimizer\3.3:HeuristicLab.Optimizer-3.3.dll 
Index: /trunk/sources/HeuristicLab.Core.Views/3.3/HeuristicLab.Core.Views-3.3.csproj
===================================================================
--- /trunk/sources/HeuristicLab.Core.Views/3.3/HeuristicLab.Core.Views-3.3.csproj	(revision 2662)
+++ /trunk/sources/HeuristicLab.Core.Views/3.3/HeuristicLab.Core.Views-3.3.csproj	(revision 2663)
@@ -156,10 +156,4 @@
       <DependentUpon>ObjectViewBase.cs</DependentUpon>
     </Compile>
-    <Compile Include="OperatorBaseView.cs">
-      <SubType>UserControl</SubType>
-    </Compile>
-    <Compile Include="OperatorBaseView.Designer.cs">
-      <DependentUpon>OperatorBaseView.cs</DependentUpon>
-    </Compile>
     <Compile Include="NamedItemBaseView.cs">
       <SubType>UserControl</SubType>
@@ -167,10 +161,4 @@
     <Compile Include="NamedItemBaseView.Designer.cs">
       <DependentUpon>NamedItemBaseView.cs</DependentUpon>
-    </Compile>
-    <Compile Include="IntDataView.cs">
-      <SubType>UserControl</SubType>
-    </Compile>
-    <Compile Include="IntDataView.Designer.cs">
-      <DependentUpon>IntDataView.cs</DependentUpon>
     </Compile>
     <Compile Include="ParameterView.cs">
@@ -253,8 +241,4 @@
       <Project>{3BD61258-31DA-4B09-89C0-4F71FEF5F05A}</Project>
       <Name>HeuristicLab.MainForm-3.2</Name>
-    </ProjectReference>
-    <ProjectReference Include="..\..\HeuristicLab.Persistence\3.3\HeuristicLab.Persistence-3.3.csproj">
-      <Project>{102BC7D3-0EF9-439C-8F6D-96FF0FDB8E1B}</Project>
-      <Name>HeuristicLab.Persistence-3.3</Name>
     </ProjectReference>
     <ProjectReference Include="..\..\HeuristicLab.PluginInfrastructure\HeuristicLab.PluginInfrastructure.csproj">
Index: /trunk/sources/HeuristicLab.Core.Views/3.3/HeuristicLabCoreViewsPlugin.cs
===================================================================
--- /trunk/sources/HeuristicLab.Core.Views/3.3/HeuristicLabCoreViewsPlugin.cs	(revision 2662)
+++ /trunk/sources/HeuristicLab.Core.Views/3.3/HeuristicLabCoreViewsPlugin.cs	(revision 2663)
@@ -34,5 +34,4 @@
   [PluginDependency("HeuristicLab.Common-3.2")]
   [PluginDependency("HeuristicLab.Common.Resources-3.2")]
-  [PluginDependency("HeuristicLab.Persistence-3.3")]
   [PluginDependency("HeuristicLab.Core-3.3")]
   [PluginDependency("HeuristicLab.MainForm-3.2")]
Index: unk/sources/HeuristicLab.Core.Views/3.3/IntDataView.Designer.cs
===================================================================
--- /trunk/sources/HeuristicLab.Core.Views/3.3/IntDataView.Designer.cs	(revision 2662)
+++ 	(revision )
@@ -1,89 +1,0 @@
-#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-namespace HeuristicLab.Core.Views {
-  partial class IntDataView {
-    /// <summary> 
-    /// Required designer variable.
-    /// </summary>
-    private System.ComponentModel.IContainer components = null;
-
-    /// <summary> 
-    /// Clean up any resources being used.
-    /// </summary>
-    /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
-    protected override void Dispose(bool disposing) {
-      if (disposing) {
-        if (components != null) components.Dispose();
-      }
-      base.Dispose(disposing);
-    }
-
-    #region Component Designer generated code
-
-    /// <summary> 
-    /// Required method for Designer support - do not modify 
-    /// the contents of this method with the code editor.
-    /// </summary>
-    private void InitializeComponent() {
-      this.valueLabel = new System.Windows.Forms.Label();
-      this.valueTextBox = new System.Windows.Forms.TextBox();
-      this.SuspendLayout();
-      // 
-      // valueLabel
-      // 
-      this.valueLabel.AutoSize = true;
-      this.valueLabel.Location = new System.Drawing.Point(3, 3);
-      this.valueLabel.Name = "valueLabel";
-      this.valueLabel.Size = new System.Drawing.Size(37, 13);
-      this.valueLabel.TabIndex = 0;
-      this.valueLabel.Text = "&Value:";
-      // 
-      // valueTextBox
-      // 
-      this.valueTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
-                  | System.Windows.Forms.AnchorStyles.Right)));
-      this.valueTextBox.Location = new System.Drawing.Point(46, 0);
-      this.valueTextBox.Name = "valueTextBox";
-      this.valueTextBox.Size = new System.Drawing.Size(204, 20);
-      this.valueTextBox.TabIndex = 1;
-      this.valueTextBox.Validated += new System.EventHandler(this.valueTextBox_Validated);
-      this.valueTextBox.Validating += new System.ComponentModel.CancelEventHandler(this.valueTextBox_Validating);
-      // 
-      // IntDataView
-      // 
-      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
-      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-      this.Controls.Add(this.valueTextBox);
-      this.Controls.Add(this.valueLabel);
-      this.Name = "IntDataView";
-      this.Size = new System.Drawing.Size(250, 50);
-      this.ResumeLayout(false);
-      this.PerformLayout();
-
-    }
-
-    #endregion
-
-    private System.Windows.Forms.Label valueLabel;
-    private System.Windows.Forms.TextBox valueTextBox;
-  }
-}
Index: unk/sources/HeuristicLab.Core.Views/3.3/IntDataView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Core.Views/3.3/IntDataView.cs	(revision 2662)
+++ 	(revision )
@@ -1,96 +1,0 @@
-#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Drawing;
-using System.Data;
-using System.Text;
-using System.Windows.Forms;
-using HeuristicLab.MainForm;
-
-namespace HeuristicLab.Core.Views {
-  /// <summary>
-  /// The visual representation of a <see cref="Variable"/>.
-  /// </summary>
-  [Content(typeof(IntData), true)]
-  public partial class IntDataView : ItemViewBase {
-    public IntData IntData {
-      get { return (IntData)Item; }
-      set { base.Item = value; }
-    }
-
-    public IntDataView() {
-      InitializeComponent();
-      Caption = "IntData";
-    }
-    public IntDataView(IntData intData)
-      : this() {
-      IntData = intData;
-    }
-
-    protected override void DeregisterObjectEvents() {
-      IntData.ValueChanged -= new EventHandler(IntData_ValueChanged);
-      base.DeregisterObjectEvents();
-    }
-
-    protected override void RegisterObjectEvents() {
-      base.RegisterObjectEvents();
-      IntData.ValueChanged += new EventHandler(IntData_ValueChanged);
-    }
-
-    protected override void OnObjectChanged() {
-      base.OnObjectChanged();
-      if (IntData == null) {
-        Caption = "IntData";
-        valueTextBox.Text = "-";
-        valueTextBox.Enabled = false;
-      } else {
-        Caption = IntData.Value.ToString() + " (" + IntData.GetType().Name + ")";
-        valueTextBox.Text = IntData.Value.ToString();
-        valueTextBox.Enabled = true;
-      }
-    }
-
-    private void IntData_ValueChanged(object sender, EventArgs e) {
-      if (InvokeRequired)
-        Invoke(new EventHandler(IntData_ValueChanged), sender, e);
-      else
-        valueTextBox.Text = IntData.Value.ToString();
-    }
-
-    private void valueTextBox_Validating(object sender, CancelEventArgs e) {
-      int oldValue = IntData.Value;
-      int value;
-      e.Cancel = !int.TryParse(valueTextBox.Text, out value);
-      if (e.Cancel) {
-        MessageBox.Show(this, "\"" + valueTextBox.Text + "\" is not a valid integer value.", "Invalid Value", MessageBoxButtons.OK, MessageBoxIcon.Error);
-        valueTextBox.Text = oldValue.ToString();
-        valueTextBox.SelectAll();
-        valueTextBox.Focus();
-      }
-    }
-    private void valueTextBox_Validated(object sender, EventArgs e) {
-      IntData.Value = int.Parse(valueTextBox.Text);
-    }
-  }
-}
Index: unk/sources/HeuristicLab.Core.Views/3.3/OperatorBaseView.Designer.cs
===================================================================
--- /trunk/sources/HeuristicLab.Core.Views/3.3/OperatorBaseView.Designer.cs	(revision 2662)
+++ 	(revision )
@@ -1,96 +1,0 @@
-#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-namespace HeuristicLab.Core.Views {
-  partial class OperatorBaseView {
-    /// <summary> 
-    /// Required designer variable.
-    /// </summary>
-    private System.ComponentModel.IContainer components = null;
-
-    /// <summary> 
-    /// Clean up any resources being used.
-    /// </summary>
-    /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
-    protected override void Dispose(bool disposing) {
-      if (disposing) {
-        if (components != null) components.Dispose();
-      }
-      base.Dispose(disposing);
-    }
-
-    #region Component Designer generated code
-
-    /// <summary> 
-    /// Required method for Designer support - do not modify 
-    /// the contents of this method with the code editor.
-    /// </summary>
-    private void InitializeComponent() {
-      this.parameterCollectionView = new HeuristicLab.Core.Views.ParameterCollectionView();
-      this.SuspendLayout();
-      // 
-      // nameTextBox
-      // 
-      this.nameTextBox.Size = new System.Drawing.Size(418, 20);
-      // 
-      // descriptionTextBox
-      // 
-      this.descriptionTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
-                  | System.Windows.Forms.AnchorStyles.Right)));
-      this.descriptionTextBox.Size = new System.Drawing.Size(418, 90);
-      // 
-      // parameterCollectionView
-      // 
-      this.parameterCollectionView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
-                  | System.Windows.Forms.AnchorStyles.Left)
-                  | System.Windows.Forms.AnchorStyles.Right)));
-      this.parameterCollectionView.Caption = "ParameterCollection";
-      this.parameterCollectionView.ItemCollection = null;
-      this.parameterCollectionView.Location = new System.Drawing.Point(0, 122);
-      this.parameterCollectionView.Name = "parameterCollectionView";
-      this.parameterCollectionView.NamedItemCollection = null;
-      this.parameterCollectionView.Size = new System.Drawing.Size(490, 231);
-      this.parameterCollectionView.TabIndex = 4;
-      // 
-      // OperatorBaseView
-      // 
-      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
-      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-      this.Controls.Add(this.parameterCollectionView);
-      this.Name = "OperatorBaseView";
-      this.Size = new System.Drawing.Size(490, 353);
-      this.Controls.SetChildIndex(this.parameterCollectionView, 0);
-      this.Controls.SetChildIndex(this.nameLabel, 0);
-      this.Controls.SetChildIndex(this.descriptionLabel, 0);
-      this.Controls.SetChildIndex(this.nameTextBox, 0);
-      this.Controls.SetChildIndex(this.descriptionTextBox, 0);
-      this.ResumeLayout(false);
-      this.PerformLayout();
-
-    }
-
-    #endregion
-
-    protected ParameterCollectionView parameterCollectionView;
-
-
-  }
-}
Index: unk/sources/HeuristicLab.Core.Views/3.3/OperatorBaseView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Core.Views/3.3/OperatorBaseView.cs	(revision 2662)
+++ 	(revision )
@@ -1,66 +1,0 @@
-#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using System.Drawing;
-using System.Data;
-using System.Text;
-using System.Windows.Forms;
-using HeuristicLab.MainForm;
-
-namespace HeuristicLab.Core.Views { 
-  /// <summary>
-  /// The base class for visual representations of items.
-  /// </summary>
-  [Content(typeof(OperatorBase), true)]
-  public partial class OperatorBaseView : NamedItemBaseView {
-    public OperatorBase OperatorBase {
-      get { return (OperatorBase)base.Item; }
-      set { base.Item = value; }
-    }
-
-    /// <summary>
-    /// Initializes a new instance of <see cref="ItemBaseView"/>.
-    /// </summary>
-    public OperatorBaseView() {
-      InitializeComponent();
-    }
-    /// <summary>
-    /// Intializes a new instance of <see cref="ItemBaseView"/> with the given <paramref name="item"/>.
-    /// </summary>
-    /// <param name="item">The item that should be displayed.</param>
-    public OperatorBaseView(OperatorBase operatorBase)
-      : this() {
-      OperatorBase = operatorBase;
-    }
-
-    protected override void OnObjectChanged() {
-      base.OnObjectChanged();
-      if (OperatorBase == null) {
-        parameterCollectionView.NamedItemCollection = null;
-      } else {
-        parameterCollectionView.NamedItemCollection = ((IOperator)OperatorBase).Parameters;
-      }
-    }
-  }
-}
Index: /trunk/sources/HeuristicLab.Core.Views/3.3/Properties/AssemblyInfo.frame
===================================================================
--- /trunk/sources/HeuristicLab.Core.Views/3.3/Properties/AssemblyInfo.frame	(revision 2662)
+++ /trunk/sources/HeuristicLab.Core.Views/3.3/Properties/AssemblyInfo.frame	(revision 2663)
@@ -30,5 +30,5 @@
 // associated with an assembly.
 [assembly: AssemblyTitle("HeuristicLab.Core.Views")]
-[assembly: AssemblyDescription("HeuristicLab core view controls")]
+[assembly: AssemblyDescription("Views of the HeuristicLab core classes")]
 [assembly: AssemblyConfiguration("")]
 [assembly: AssemblyCompany("")]
Index: unk/sources/HeuristicLab.Core/3.3/EmptyOperator.cs
===================================================================
--- /trunk/sources/HeuristicLab.Core/3.3/EmptyOperator.cs	(revision 2662)
+++ 	(revision )
@@ -1,41 +1,0 @@
-#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Text;
-using System.Xml;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
-using HeuristicLab.Common;
-
-namespace HeuristicLab.Core {
-  /// <summary>
-  /// An operator which represents an empty statement.
-  /// </summary>
-  [Item("EmptyOperator", "An operator which represents an empty statement.")]
-//  [Creatable("Test")]
-  [EmptyStorableClass]
-  public sealed class EmptyOperator : StandardOperatorBase {
-    public EmptyOperator()
-      : base() {
-    }
-  }
-}
Index: /trunk/sources/HeuristicLab.Core/3.3/HeuristicLab.Core-3.3.csproj
===================================================================
--- /trunk/sources/HeuristicLab.Core/3.3/HeuristicLab.Core-3.3.csproj	(revision 2662)
+++ /trunk/sources/HeuristicLab.Core/3.3/HeuristicLab.Core-3.3.csproj	(revision 2663)
@@ -102,5 +102,4 @@
     <Compile Include="Cloner.cs" />
     <Compile Include="Attributes\CreatableAttribute.cs" />
-    <Compile Include="CombinedOperator.cs" />
     <Compile Include="ChangedEventArgs.cs" />
     <Compile Include="Interfaces\IOperatorParameter.cs" />
@@ -113,10 +112,5 @@
     <Compile Include="OperatorSet.cs" />
     <Compile Include="ItemSet.cs" />
-    <Compile Include="StandardOperatorBase.cs" />
     <Compile Include="ItemList.cs" />
-    <Compile Include="SequentialProcessor.cs" />
-    <Compile Include="CounterOperator.cs" />
-    <Compile Include="IntData.cs" />
-    <Compile Include="EmptyOperator.cs" />
     <Compile Include="EngineBase.cs">
       <SubType>Code</SubType>
@@ -139,5 +133,4 @@
     <Compile Include="Interfaces\IItem.cs" />
     <Compile Include="ItemBase.cs" />
-    <Compile Include="OperatorBase.cs" />
     <Compile Include="Interfaces\IRandom.cs" />
     <Compile Include="Scope.cs" />
Index: unk/sources/HeuristicLab.Core/3.3/IntData.cs
===================================================================
--- /trunk/sources/HeuristicLab.Core/3.3/IntData.cs	(revision 2662)
+++ 	(revision )
@@ -1,71 +1,0 @@
-#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Text;
-using System.Xml;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
-using HeuristicLab.Common;
-
-namespace HeuristicLab.Core {
-  [Item("IntData", "A data item which represents an integer value.")]
-  [Creatable("Test")]
-  public sealed class IntData : ItemBase {
-    [Storable]
-    private int value;
-    public int Value {
-      get { return value; }
-      set {
-        if (this.value != value) {
-          this.value = value;
-          OnValueChanged();
-        }
-      }
-    }
-
-    public IntData()
-      : base() {
-      value = 0;
-    }
-    public IntData(int value)
-      : base() {
-      this.value = value;
-    }
-
-    public override string ToString() {
-      return value.ToString();
-    }
-
-    public override IDeepCloneable Clone(Cloner cloner) {
-      IntData clone = new IntData(value);
-      cloner.RegisterClonedObject(this, clone);
-      return clone;
-    }
-
-    public event EventHandler ValueChanged;
-    private void OnValueChanged() {
-      if (ValueChanged != null)
-        ValueChanged(this, new EventArgs());
-      OnChanged();
-    }
-  }
-}
Index: unk/sources/HeuristicLab.Core/3.3/OperatorBase.cs
===================================================================
--- /trunk/sources/HeuristicLab.Core/3.3/OperatorBase.cs	(revision 2662)
+++ 	(revision )
@@ -1,156 +1,0 @@
-#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Text;
-using System.Xml;
-using System.Drawing;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
-using HeuristicLab.Common;
-using HeuristicLab.Collections;
-
-namespace HeuristicLab.Core {
-  /// <summary>
-  /// The base class for all operators.
-  /// </summary>
-  [Item("OperatorBase", "Base class for operators.")]
-  public abstract class OperatorBase : NamedItemBase, IOperator {
-    public override Image ItemImage {
-      get { return HeuristicLab.Common.Resources.VS2008ImageLibrary.Method; }
-    }
-
-    private ParameterCollection parameters;
-    [Storable]
-    protected ParameterCollection Parameters {
-      get { return parameters;}
-      private set {
-        if (parameters != null) parameters.Changed -= new ChangedEventHandler(Parameters_Changed);
-        parameters = value;
-        readOnlyParameters = null;
-        if (parameters != null) parameters.Changed += new ChangedEventHandler(Parameters_Changed);
-      }
-    }
-    private ReadOnlyObservableKeyedCollection<string, IParameter> readOnlyParameters;
-    IObservableKeyedCollection<string, IParameter> IOperator.Parameters {
-      get {
-        if (readOnlyParameters == null) readOnlyParameters = parameters.AsReadOnly();
-        return readOnlyParameters;
-      }
-    }
-
-    /// <summary>
-    /// Flag whether the current instance has been canceled.
-    /// </summary>
-    private bool canceled;
-    /// <inheritdoc/>
-    protected bool Canceled {
-      get { return canceled; }
-    }
-
-    [Storable]
-    private bool breakpoint;
-    /// <inheritdoc/>
-    /// <remarks>Calls <see cref="OnBreakpointChanged"/> in the setter.</remarks>
-    public bool Breakpoint {
-      get { return breakpoint; }
-      set {
-        if (value != breakpoint) {
-          breakpoint = value;
-          OnBreakpointChanged();
-        }
-      }
-    }
-
-    /// <summary>
-    /// Initializes a new instance of <see cref="OperatorBase"/> setting the breakpoint flag and 
-    /// the canceled flag to <c>false</c> and the name of the operator to the type name. 
-    /// </summary>
-    protected OperatorBase() {
-      name = ItemName;
-      Parameters = new ParameterCollection();
-      readOnlyParameters = null;
-      canceled = false;
-      breakpoint = false;
-    }
-
-    /// <summary>
-    /// Clones the current instance (deep clone).
-    /// </summary>
-    /// <remarks>Clones also sub operators, variables and variable infos.</remarks>
-    /// <param name="clonedObjects">Dictionary of all already cloned objects. (Needed to avoid cycles.)</param>
-    /// <returns>The cloned object as <see cref="OperatorBase"/>.</returns>
-    public override IDeepCloneable Clone(Cloner cloner) {
-      OperatorBase clone = (OperatorBase)base.Clone(cloner);
-      clone.Parameters = (ParameterCollection)cloner.Clone(parameters);
-      clone.canceled = canceled;
-      clone.breakpoint = breakpoint;
-      return clone;
-    }
-
-    /// <inheritdoc/>
-    public virtual ExecutionContextCollection Execute(ExecutionContext context) {
-      canceled = false;
-      ExecutionContextCollection next = Apply(context);
-      OnExecuted();
-      return next;
-    }
-    /// <inheritdoc/>
-    /// <remarks>Sets property <see cref="Canceled"/> to <c>true</c>.</remarks>
-    public virtual void Abort() {
-      canceled = true;
-    }
-    /// <summary>
-    /// Performs the current operator on the specified <paramref name="scope"/>.
-    /// </summary>
-    /// <param name="scope">The scope where to execute the operator</param>
-    /// <returns><c>null</c>.</returns>
-    public virtual ExecutionContextCollection Apply(ExecutionContext context) {
-      return new ExecutionContextCollection();
-    }
-
-    /// <inheritdoc/>
-    public event EventHandler BreakpointChanged;
-    /// <summary>
-    /// Fires a new <c>BreakpointChanged</c> event.
-    /// </summary>
-    protected virtual void OnBreakpointChanged() {
-      if (BreakpointChanged != null) {
-        BreakpointChanged(this, new EventArgs());
-      }
-      OnChanged();
-    }
-    /// <inheritdoc/>
-    public event EventHandler Executed;
-    /// <summary>
-    /// Fires a new <c>Executed</c> event.
-    /// </summary>
-    protected virtual void OnExecuted() {
-      if (Executed != null) {
-        Executed(this, new EventArgs());
-      }
-    }
-
-    private void Parameters_Changed(object sender, ChangedEventArgs e) {
-      OnChanged(e);
-    }
-  }
-}
Index: unk/sources/HeuristicLab.Core/3.3/StandardOperatorBase.cs
===================================================================
--- /trunk/sources/HeuristicLab.Core/3.3/StandardOperatorBase.cs	(revision 2662)
+++ 	(revision )
@@ -1,54 +1,0 @@
-#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
- *
- * This file is part of HeuristicLab.
- *
- * HeuristicLab is free software: you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * HeuristicLab is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
- */
-#endregion
-
-using System;
-using System.Collections.Generic;
-using System.Text;
-using System.Xml;
-using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
-using HeuristicLab.Common;
-
-namespace HeuristicLab.Core {
-  /// <summary>
-  /// A base class for operators which have only one successor.
-  /// </summary>
-  [Item("StandardOperatorBase", "A base class for operators which have only one successor.")]
-  [Creatable("Test")]
-  [EmptyStorableClass]
-  public abstract class StandardOperatorBase : OperatorBase {
-    public OperatorParameter Successor {
-      get { return (OperatorParameter)Parameters["Successor"]; }
-    }
-
-    public StandardOperatorBase()
-      : base() {
-      Parameters.Add(new OperatorParameter("Successor", "Operator which is executed next"));
-    }
-
-    public override ExecutionContextCollection Apply(ExecutionContext context) {
-      IOperator successor = Successor.GetValue(context);
-      if (successor != null)
-        return new ExecutionContextCollection(new ExecutionContext(context.Parent, successor, context.Scope));
-      else
-        return new ExecutionContextCollection();
-    }
-  }
-}
Index: /trunk/sources/HeuristicLab.Data.Views/3.3/HeuristicLab.Data.Views-3.3.csproj
===================================================================
--- /trunk/sources/HeuristicLab.Data.Views/3.3/HeuristicLab.Data.Views-3.3.csproj	(revision 2663)
+++ /trunk/sources/HeuristicLab.Data.Views/3.3/HeuristicLab.Data.Views-3.3.csproj	(revision 2663)
@@ -0,0 +1,108 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>9.0.30729</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{72104A0B-90E7-42F3-9ABE-9BBBADD4B943}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>HeuristicLab.Data.Views</RootNamespace>
+    <AssemblyName>HeuristicLab.Data.Views-3.3</AssemblyName>
+    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+    <FileAlignment>512</FileAlignment>
+    <SignAssembly>true</SignAssembly>
+    <AssemblyOriginatorKeyFile>HeuristicLab.snk</AssemblyOriginatorKeyFile>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <DocumentationFile>bin\Release\HeuristicLab.Data.Views-3.3.XML</DocumentationFile>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+    <Reference Include="System.Core">
+      <RequiredTargetFramework>3.5</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="System.Drawing" />
+    <Reference Include="System.Windows.Forms" />
+    <Reference Include="System.Xml.Linq">
+      <RequiredTargetFramework>3.5</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="System.Data.DataSetExtensions">
+      <RequiredTargetFramework>3.5</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="System.Data" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="HeuristicLabDataViewsPlugin.cs" />
+    <Compile Include="IntDataView.cs">
+      <SubType>UserControl</SubType>
+    </Compile>
+    <Compile Include="IntDataView.Designer.cs">
+      <DependentUpon>IntDataView.cs</DependentUpon>
+    </Compile>
+    <Compile Include="Properties\AssemblyInfo.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="HeuristicLab.snk" />
+    <None Include="Properties\AssemblyInfo.frame" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\..\HeuristicLab.Core.Views\3.3\HeuristicLab.Core.Views-3.3.csproj">
+      <Project>{E226881D-315F-423D-B419-A766FE0D8685}</Project>
+      <Name>HeuristicLab.Core.Views-3.3</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\HeuristicLab.Core\3.3\HeuristicLab.Core-3.3.csproj">
+      <Project>{C36BD924-A541-4A00-AFA8-41701378DDC5}</Project>
+      <Name>HeuristicLab.Core-3.3</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\HeuristicLab.Data\3.3\HeuristicLab.Data-3.3.csproj">
+      <Project>{BBAB9DF5-5EF3-4BA8-ADE9-B36E82114937}</Project>
+      <Name>HeuristicLab.Data-3.3</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\HeuristicLab.MainForm.WindowsForms\3.2\HeuristicLab.MainForm.WindowsForms-3.2.csproj">
+      <Project>{AB687BBE-1BFE-476B-906D-44237135431D}</Project>
+      <Name>HeuristicLab.MainForm.WindowsForms-3.2</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\HeuristicLab.MainForm\3.2\HeuristicLab.MainForm-3.2.csproj">
+      <Project>{3BD61258-31DA-4B09-89C0-4F71FEF5F05A}</Project>
+      <Name>HeuristicLab.MainForm-3.2</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\HeuristicLab.PluginInfrastructure\HeuristicLab.PluginInfrastructure.csproj">
+      <Project>{94186A6A-5176-4402-AE83-886557B53CCA}</Project>
+      <Name>HeuristicLab.PluginInfrastructure</Name>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
+  <PropertyGroup>
+    <PreBuildEvent>set Path=%25Path%25;$(ProjectDir);$(SolutionDir)
+set ProjectDir=$(ProjectDir)
+set SolutionDir=$(SolutionDir)
+set Outdir=$(Outdir)
+
+call PreBuildEvent.cmd</PreBuildEvent>
+  </PropertyGroup>
+</Project>
Index: /trunk/sources/HeuristicLab.Data.Views/3.3/HeuristicLabDataViewsPlugin.cs
===================================================================
--- /trunk/sources/HeuristicLab.Data.Views/3.3/HeuristicLabDataViewsPlugin.cs	(revision 2663)
+++ /trunk/sources/HeuristicLab.Data.Views/3.3/HeuristicLabDataViewsPlugin.cs	(revision 2663)
@@ -0,0 +1,40 @@
+#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+using System.Collections.Generic;
+using System.Text;
+using HeuristicLab.PluginInfrastructure;
+
+namespace HeuristicLab.Data.Views {
+  /// <summary>
+  /// Plugin class for HeuristicLab.Data.Views plugin.
+  /// </summary>
+  [Plugin("HeuristicLab.Data.Views-3.3", "")]
+  [PluginFile("HeuristicLab.Data.Views-3.3.dll", PluginFileType.Assembly)]
+  [PluginDependency("HeuristicLab.Core-3.3")]
+  [PluginDependency("HeuristicLab.Core.Views-3.3")]
+  [PluginDependency("HeuristicLab.Data-3.3")]
+  [PluginDependency("HeuristicLab.MainForm-3.2")]
+  [PluginDependency("HeuristicLab.MainForm.WindowsForms-3.2")]
+  public class HeuristicLabDataViewsPlugin : PluginBase {
+  }
+}
Index: /trunk/sources/HeuristicLab.Data.Views/3.3/IntDataView.Designer.cs
===================================================================
--- /trunk/sources/HeuristicLab.Data.Views/3.3/IntDataView.Designer.cs	(revision 2663)
+++ /trunk/sources/HeuristicLab.Data.Views/3.3/IntDataView.Designer.cs	(revision 2663)
@@ -0,0 +1,89 @@
+#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+namespace HeuristicLab.Data.Views {
+  partial class IntDataView {
+    /// <summary> 
+    /// Required designer variable.
+    /// </summary>
+    private System.ComponentModel.IContainer components = null;
+
+    /// <summary> 
+    /// Clean up any resources being used.
+    /// </summary>
+    /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+    protected override void Dispose(bool disposing) {
+      if (disposing) {
+        if (components != null) components.Dispose();
+      }
+      base.Dispose(disposing);
+    }
+
+    #region Component Designer generated code
+
+    /// <summary> 
+    /// Required method for Designer support - do not modify 
+    /// the contents of this method with the code editor.
+    /// </summary>
+    private void InitializeComponent() {
+      this.valueLabel = new System.Windows.Forms.Label();
+      this.valueTextBox = new System.Windows.Forms.TextBox();
+      this.SuspendLayout();
+      // 
+      // valueLabel
+      // 
+      this.valueLabel.AutoSize = true;
+      this.valueLabel.Location = new System.Drawing.Point(3, 3);
+      this.valueLabel.Name = "valueLabel";
+      this.valueLabel.Size = new System.Drawing.Size(37, 13);
+      this.valueLabel.TabIndex = 0;
+      this.valueLabel.Text = "&Value:";
+      // 
+      // valueTextBox
+      // 
+      this.valueTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+                  | System.Windows.Forms.AnchorStyles.Right)));
+      this.valueTextBox.Location = new System.Drawing.Point(46, 0);
+      this.valueTextBox.Name = "valueTextBox";
+      this.valueTextBox.Size = new System.Drawing.Size(204, 20);
+      this.valueTextBox.TabIndex = 1;
+      this.valueTextBox.Validated += new System.EventHandler(this.valueTextBox_Validated);
+      this.valueTextBox.Validating += new System.ComponentModel.CancelEventHandler(this.valueTextBox_Validating);
+      // 
+      // IntDataView
+      // 
+      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+      this.Controls.Add(this.valueTextBox);
+      this.Controls.Add(this.valueLabel);
+      this.Name = "IntDataView";
+      this.Size = new System.Drawing.Size(250, 50);
+      this.ResumeLayout(false);
+      this.PerformLayout();
+
+    }
+
+    #endregion
+
+    private System.Windows.Forms.Label valueLabel;
+    private System.Windows.Forms.TextBox valueTextBox;
+  }
+}
Index: /trunk/sources/HeuristicLab.Data.Views/3.3/IntDataView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Data.Views/3.3/IntDataView.cs	(revision 2663)
+++ /trunk/sources/HeuristicLab.Data.Views/3.3/IntDataView.cs	(revision 2663)
@@ -0,0 +1,97 @@
+#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Drawing;
+using System.Data;
+using System.Text;
+using System.Windows.Forms;
+using HeuristicLab.Core.Views;
+using HeuristicLab.MainForm;
+
+namespace HeuristicLab.Data.Views {
+  /// <summary>
+  /// The visual representation of a <see cref="Variable"/>.
+  /// </summary>
+  [Content(typeof(IntData), true)]
+  public partial class IntDataView : ItemViewBase {
+    public IntData IntData {
+      get { return (IntData)Item; }
+      set { base.Item = value; }
+    }
+
+    public IntDataView() {
+      InitializeComponent();
+      Caption = "IntData";
+    }
+    public IntDataView(IntData intData)
+      : this() {
+      IntData = intData;
+    }
+
+    protected override void DeregisterObjectEvents() {
+      IntData.ValueChanged -= new EventHandler(IntData_ValueChanged);
+      base.DeregisterObjectEvents();
+    }
+
+    protected override void RegisterObjectEvents() {
+      base.RegisterObjectEvents();
+      IntData.ValueChanged += new EventHandler(IntData_ValueChanged);
+    }
+
+    protected override void OnObjectChanged() {
+      base.OnObjectChanged();
+      if (IntData == null) {
+        Caption = "IntData";
+        valueTextBox.Text = "-";
+        valueTextBox.Enabled = false;
+      } else {
+        Caption = IntData.Value.ToString() + " (" + IntData.GetType().Name + ")";
+        valueTextBox.Text = IntData.Value.ToString();
+        valueTextBox.Enabled = true;
+      }
+    }
+
+    private void IntData_ValueChanged(object sender, EventArgs e) {
+      if (InvokeRequired)
+        Invoke(new EventHandler(IntData_ValueChanged), sender, e);
+      else
+        valueTextBox.Text = IntData.Value.ToString();
+    }
+
+    private void valueTextBox_Validating(object sender, CancelEventArgs e) {
+      int oldValue = IntData.Value;
+      int value;
+      e.Cancel = !int.TryParse(valueTextBox.Text, out value);
+      if (e.Cancel) {
+        MessageBox.Show(this, "\"" + valueTextBox.Text + "\" is not a valid integer value.", "Invalid Value", MessageBoxButtons.OK, MessageBoxIcon.Error);
+        valueTextBox.Text = oldValue.ToString();
+        valueTextBox.SelectAll();
+        valueTextBox.Focus();
+      }
+    }
+    private void valueTextBox_Validated(object sender, EventArgs e) {
+      IntData.Value = int.Parse(valueTextBox.Text);
+    }
+  }
+}
Index: /trunk/sources/HeuristicLab.Data.Views/3.3/Properties/AssemblyInfo.frame
===================================================================
--- /trunk/sources/HeuristicLab.Data.Views/3.3/Properties/AssemblyInfo.frame	(revision 2663)
+++ /trunk/sources/HeuristicLab.Data.Views/3.3/Properties/AssemblyInfo.frame	(revision 2663)
@@ -0,0 +1,58 @@
+#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+using HeuristicLab.PluginInfrastructure;
+
+// General Information about an assembly is controlled through the following 
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("HeuristicLab.Data.Views")]
+[assembly: AssemblyDescription("Views of the HeuristicLab data classes")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("HeuristicLab")]
+[assembly: AssemblyCopyright("(c) 2002-2008 HEAL")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible 
+// to COM components.  If you need to access a type in this assembly from 
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("873e5298-dd66-4a00-902f-b891ca77669a")]
+
+// Version information for an assembly consists of the following four values:
+//
+//      Major Version
+//      Minor Version 
+//      Build Number
+//      Revision
+//
+// You can specify all the values or you can default the Revision and Build Numbers 
+// by using the '*' as shown below:
+[assembly: AssemblyVersion("3.3.0.$WCREV$")]
+[assembly: AssemblyFileVersion("3.3.0.$WCREV$")]
+[assembly: AssemblyBuildDate("$WCNOW$")]
Index: /trunk/sources/HeuristicLab.Data/3.3/HeuristicLab.Data-3.3.csproj
===================================================================
--- /trunk/sources/HeuristicLab.Data/3.3/HeuristicLab.Data-3.3.csproj	(revision 2662)
+++ /trunk/sources/HeuristicLab.Data/3.3/HeuristicLab.Data-3.3.csproj	(revision 2663)
@@ -100,138 +100,21 @@
   </ItemGroup>
   <ItemGroup>
-    <Compile Include="ArrayDataBaseView.cs">
-      <SubType>UserControl</SubType>
+    <Compile Include="ValueTypeData.cs">
+      <SubType>Code</SubType>
     </Compile>
-    <Compile Include="ArrayDataBaseView.Designer.cs">
-      <DependentUpon>ArrayDataBaseView.cs</DependentUpon>
+    <Compile Include="HeuristicLabDataPlugin.cs" />
+    <Compile Include="IntData.cs">
+      <SubType>Code</SubType>
     </Compile>
-    <Compile Include="BoolArrayData.cs" />
-    <Compile Include="BoolArrayDataView.cs">
-      <SubType>UserControl</SubType>
-    </Compile>
-    <Compile Include="BoolArrayDataView.Designer.cs">
-      <DependentUpon>BoolArrayDataView.cs</DependentUpon>
-    </Compile>
-    <Compile Include="BoolData.cs" />
-    <Compile Include="BoolDataView.cs">
-      <SubType>UserControl</SubType>
-    </Compile>
-    <Compile Include="BoolDataView.Designer.cs">
-      <DependentUpon>BoolDataView.cs</DependentUpon>
-    </Compile>
-    <Compile Include="BoolMatrixData.cs" />
-    <Compile Include="ArrayDataBase.cs" />
-    <Compile Include="BoolMatrixDataView.cs">
-      <SubType>UserControl</SubType>
-    </Compile>
-    <Compile Include="BoolMatrixDataView.Designer.cs">
-      <DependentUpon>BoolMatrixDataView.cs</DependentUpon>
-    </Compile>
-    <Compile Include="EditKeyValueDialog.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="EditKeyValueDialog.designer.cs">
-      <DependentUpon>EditKeyValueDialog.cs</DependentUpon>
-    </Compile>
-    <Compile Include="ItemDictionaryView_T.cs">
-      <SubType>UserControl</SubType>
-    </Compile>
-    <Compile Include="ItemDictionaryView_T.designer.cs">
-      <DependentUpon>ItemDictionaryView_T.cs</DependentUpon>
-    </Compile>
-    <Compile Include="ItemDictionary_T.cs" />
-    <Compile Include="NullData.cs" />
-    <Compile Include="IntMatrixDataView.cs">
-      <SubType>UserControl</SubType>
-    </Compile>
-    <Compile Include="IntMatrixDataView.Designer.cs">
-      <DependentUpon>IntMatrixDataView.cs</DependentUpon>
-    </Compile>
-    <Compile Include="DoubleMatrixDataView.cs">
-      <SubType>UserControl</SubType>
-    </Compile>
-    <Compile Include="DoubleMatrixDataView.Designer.cs">
-      <DependentUpon>DoubleMatrixDataView.cs</DependentUpon>
-    </Compile>
-    <Compile Include="IntArrayDataView.cs">
-      <SubType>UserControl</SubType>
-    </Compile>
-    <Compile Include="IntArrayDataView.Designer.cs">
-      <DependentUpon>IntArrayDataView.cs</DependentUpon>
-    </Compile>
-    <Compile Include="DoubleArrayDataView.cs">
-      <SubType>UserControl</SubType>
-    </Compile>
-    <Compile Include="DoubleArrayDataView.Designer.cs">
-      <DependentUpon>DoubleArrayDataView.cs</DependentUpon>
-    </Compile>
-    <Compile Include="DoubleDataView.cs">
-      <SubType>UserControl</SubType>
-    </Compile>
-    <Compile Include="DoubleDataView.Designer.cs">
-      <DependentUpon>DoubleDataView.cs</DependentUpon>
-    </Compile>
-    <Compile Include="IntDataView.cs">
-      <SubType>UserControl</SubType>
-    </Compile>
-    <Compile Include="IntDataView.Designer.cs">
-      <DependentUpon>IntDataView.cs</DependentUpon>
-    </Compile>
-    <Compile Include="IObjectData.cs" />
-    <Compile Include="ItemList.cs" />
-    <Compile Include="ItemListView.cs">
-      <SubType>UserControl</SubType>
-    </Compile>
-    <Compile Include="ItemListView_T.cs">
-      <SubType>UserControl</SubType>
-    </Compile>
-    <Compile Include="ItemListView_T.Designer.cs">
-      <DependentUpon>ItemListView_T.cs</DependentUpon>
-    </Compile>
-    <Compile Include="ItemList_T.cs">
-    </Compile>
-    <Compile Include="MatrixDataBaseView.cs">
-      <SubType>UserControl</SubType>
-    </Compile>
-    <Compile Include="MatrixDataBaseView.Designer.cs">
-      <DependentUpon>MatrixDataBaseView.cs</DependentUpon>
-    </Compile>
-    <Compile Include="ObjectData.cs" />
-    <Compile Include="StringDataView.cs">
-      <SubType>UserControl</SubType>
-    </Compile>
-    <Compile Include="StringDataView.Designer.cs">
-      <DependentUpon>StringDataView.cs</DependentUpon>
-    </Compile>
-    <Compile Include="DoubleArrayData.cs" />
-    <Compile Include="DoubleData.cs" />
-    <Compile Include="DoubleMatrixData.cs" />
-    <Compile Include="HeuristicLabDataPlugin.cs" />
-    <Compile Include="IntArrayData.cs" />
-    <Compile Include="IntData.cs" />
-    <Compile Include="IntMatrixData.cs" />
     <Compile Include="Properties\AssemblyInfo.cs" />
-    <Compile Include="StringData.cs" />
   </ItemGroup>
   <ItemGroup>
-    <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.Views\3.3\HeuristicLab.Core.Views-3.3.csproj">
-      <Project>{E226881D-315F-423D-B419-A766FE0D8685}</Project>
-      <Name>HeuristicLab.Core.Views-3.3</Name>
+    <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">
       <Project>{C36BD924-A541-4A00-AFA8-41701378DDC5}</Project>
       <Name>HeuristicLab.Core-3.3</Name>
-    </ProjectReference>
-    <ProjectReference Include="..\..\HeuristicLab.MainForm.WindowsForms\3.2\HeuristicLab.MainForm.WindowsForms-3.2.csproj">
-      <Project>{AB687BBE-1BFE-476B-906D-44237135431D}</Project>
-      <Name>HeuristicLab.MainForm.WindowsForms-3.2</Name>
-    </ProjectReference>
-    <ProjectReference Include="..\..\HeuristicLab.MainForm\3.2\HeuristicLab.MainForm-3.2.csproj">
-      <Project>{3BD61258-31DA-4B09-89C0-4F71FEF5F05A}</Project>
-      <Name>HeuristicLab.MainForm-3.2</Name>
     </ProjectReference>
     <ProjectReference Include="..\..\HeuristicLab.Persistence\3.3\HeuristicLab.Persistence-3.3.csproj">
@@ -247,42 +130,4 @@
     <None Include="HeuristicLab.snk" />
     <None Include="Properties\AssemblyInfo.frame" />
-  </ItemGroup>
-  <ItemGroup>
-    <EmbeddedResource Include="ArrayDataBaseView.resx">
-      <DependentUpon>ArrayDataBaseView.cs</DependentUpon>
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
-    <EmbeddedResource Include="BoolDataView.resx">
-      <DependentUpon>BoolDataView.cs</DependentUpon>
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
-    <EmbeddedResource Include="DoubleDataView.resx">
-      <DependentUpon>DoubleDataView.cs</DependentUpon>
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
-    <EmbeddedResource Include="EditKeyValueDialog.resx">
-      <DependentUpon>EditKeyValueDialog.cs</DependentUpon>
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
-    <EmbeddedResource Include="IntDataView.resx">
-      <DependentUpon>IntDataView.cs</DependentUpon>
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
-    <EmbeddedResource Include="ItemDictionaryView_T.resx">
-      <DependentUpon>ItemDictionaryView_T.cs</DependentUpon>
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
-    <EmbeddedResource Include="ItemListView_T.resx">
-      <DependentUpon>ItemListView_T.cs</DependentUpon>
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
-    <EmbeddedResource Include="MatrixDataBaseView.resx">
-      <DependentUpon>MatrixDataBaseView.cs</DependentUpon>
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
-    <EmbeddedResource Include="StringDataView.resx">
-      <DependentUpon>StringDataView.cs</DependentUpon>
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
   </ItemGroup>
   <ItemGroup>
Index: /trunk/sources/HeuristicLab.Data/3.3/HeuristicLabDataPlugin.cs
===================================================================
--- /trunk/sources/HeuristicLab.Data/3.3/HeuristicLabDataPlugin.cs	(revision 2662)
+++ /trunk/sources/HeuristicLab.Data/3.3/HeuristicLabDataPlugin.cs	(revision 2663)
@@ -29,12 +29,9 @@
   /// Plugin class for HeuristicLab.Data plugin.
   /// </summary>
-  [ClassInfo(Name = "HeuristicLab.Data-3.3")]
-  [PluginFile(Filename = "HeuristicLab.Data-3.3.dll", Filetype = PluginFileType.Assembly)]
-  [Dependency(Dependency = "HeuristicLab.Common-3.2")]
-  [Dependency(Dependency = "HeuristicLab.Core-3.3")]
-  [Dependency(Dependency = "HeuristicLab.Core.Views-3.3")]
-  [Dependency(Dependency = "HeuristicLab.MainForm-3.2")]
-  [Dependency(Dependency = "HeuristicLab.MainForm.WindowsForms-3.2")]
-  [Dependency(Dependency = "HeuristicLab.Persistence-3.3")]
+  [Plugin("HeuristicLab.Data-3.3", "")]
+  [PluginFile("HeuristicLab.Data-3.3.dll", PluginFileType.Assembly)]
+  [PluginDependency("HeuristicLab.Common.Resources-3.2")]
+  [PluginDependency("HeuristicLab.Core-3.3")]
+  [PluginDependency("HeuristicLab.Persistence-3.3")]
   public class HeuristicLabDataPlugin : PluginBase {
   }
Index: /trunk/sources/HeuristicLab.Data/3.3/IntData.cs
===================================================================
--- /trunk/sources/HeuristicLab.Data/3.3/IntData.cs	(revision 2662)
+++ /trunk/sources/HeuristicLab.Data/3.3/IntData.cs	(revision 2663)
@@ -25,47 +25,20 @@
 using System.Xml;
 using HeuristicLab.Core;
-using System.Globalization;
 using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
 
 namespace HeuristicLab.Data {
-  /// <summary>
-  /// The representation of an int value.
-  /// </summary>
   [EmptyStorableClass]
-  public class IntData : ObjectData {
-    /// <summary>
-    /// Gets or sets the int value.
-    /// </summary>
-    /// <remarks>Uses property <see cref="ObjectData.Data"/> of base class <see cref="ObjectData"/>. 
-    /// No own data storage present.</remarks>
-    public new int Data {
-      get { return (int)base.Data; }
-      set { base.Data = value; }
+  [Item("Int Data", "Represents an integer value.")]
+  [Creatable("Test")]
+  public sealed class IntData : ValueTypeData<int> {
+    public IntData() : base() { }
+    public IntData(int value)
+      : base() {
+      Value = value;
     }
 
-    /// <summary>
-    /// Initializes a new instance of <see cref="IntData"/> with default value <c>0</c>.
-    /// </summary>
-    public IntData() {
-      Data = 0;
-    }
-    /// <summary>
-    /// Initializes a new instance of <see cref="IntData"/>.
-    /// </summary>
-    /// <param name="data">The int value the current instance should represent.</param>
-    public IntData(int data) {
-      Data = data;
-    }
-
-    /// <summary>
-    /// Clones the current instance. 
-    /// </summary>
-    /// <remarks>Adds the cloned instance to the dictionary <paramref name="clonedObjects"/>.</remarks>
-    /// <param name="clonedObjects">Dictionary of all already cloned objects.</param>
-    /// <returns>The cloned instance as <see cref="IntData"/>.</returns>
-    public override IItem Clone(ICloner cloner) {
-      IntData clone = new IntData();
+    public override IDeepCloneable Clone(Cloner cloner) {
+      IntData clone = new IntData(Value);
       cloner.RegisterClonedObject(this, clone);
-      clone.Data = Data;
       return clone;
     }
Index: /trunk/sources/HeuristicLab.Data/3.3/ValueTypeData.cs
===================================================================
--- /trunk/sources/HeuristicLab.Data/3.3/ValueTypeData.cs	(revision 2663)
+++ /trunk/sources/HeuristicLab.Data/3.3/ValueTypeData.cs	(revision 2663)
@@ -0,0 +1,65 @@
+#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Xml;
+using HeuristicLab.Core;
+using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+
+namespace HeuristicLab.Data {
+  [Item("ValueTypeData<T>", "A base class for representing value types.")]
+  public class ValueTypeData<T> : ItemBase where T : struct {
+    [Storable]
+    protected T value;
+    public T Value {
+      get { return value; }
+      set {
+        if (!value.Equals(this.value)) {
+          this.value = value;
+          OnValueChanged();
+        }
+      }
+    }
+
+    public ValueTypeData() {
+      value = default(T);
+    }
+
+    public override IDeepCloneable Clone(Cloner cloner) {
+      ValueTypeData<T> clone = (ValueTypeData<T>)base.Clone(cloner);
+      clone.value = value;
+      return clone;
+    }
+
+    public override string ToString() {
+      return value.ToString();
+    }
+
+    public event EventHandler ValueChanged;
+    protected virtual void OnValueChanged() {
+      if (ValueChanged != null)
+        ValueChanged(this, EventArgs.Empty);
+      OnChanged();
+    }
+  }
+}
Index: /trunk/sources/HeuristicLab.Operators.Views/3.3/HeuristicLab.Operators.Views-3.3.csproj
===================================================================
--- /trunk/sources/HeuristicLab.Operators.Views/3.3/HeuristicLab.Operators.Views-3.3.csproj	(revision 2663)
+++ /trunk/sources/HeuristicLab.Operators.Views/3.3/HeuristicLab.Operators.Views-3.3.csproj	(revision 2663)
@@ -0,0 +1,112 @@
+﻿<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="3.5" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProductVersion>9.0.30729</ProductVersion>
+    <SchemaVersion>2.0</SchemaVersion>
+    <ProjectGuid>{C49CB749-8B24-4628-8003-E86475749410}</ProjectGuid>
+    <OutputType>Library</OutputType>
+    <AppDesignerFolder>Properties</AppDesignerFolder>
+    <RootNamespace>HeuristicLab.Operators.Views</RootNamespace>
+    <AssemblyName>HeuristicLab.Operators.Views-3.3</AssemblyName>
+    <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
+    <FileAlignment>512</FileAlignment>
+    <SignAssembly>true</SignAssembly>
+    <AssemblyOriginatorKeyFile>HeuristicLab.snk</AssemblyOriginatorKeyFile>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+    <DocumentationFile>bin\Release\HeuristicLab.Operators.Views-3.3.XML</DocumentationFile>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="System" />
+    <Reference Include="System.Core">
+      <RequiredTargetFramework>3.5</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="System.Drawing" />
+    <Reference Include="System.Windows.Forms" />
+    <Reference Include="System.Xml.Linq">
+      <RequiredTargetFramework>3.5</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="System.Data.DataSetExtensions">
+      <RequiredTargetFramework>3.5</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="System.Data" />
+    <Reference Include="System.Xml" />
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="HeuristicLabOperatorsViewsPlugin.cs" />
+    <Compile Include="OperatorBaseView.cs">
+      <SubType>UserControl</SubType>
+    </Compile>
+    <Compile Include="OperatorBaseView.Designer.cs">
+      <DependentUpon>OperatorBaseView.cs</DependentUpon>
+    </Compile>
+    <Compile Include="Properties\AssemblyInfo.cs" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="HeuristicLab.snk" />
+    <None Include="Properties\AssemblyInfo.frame" />
+  </ItemGroup>
+  <ItemGroup>
+    <ProjectReference Include="..\..\HeuristicLab.Collections\3.3\HeuristicLab.Collections-3.3.csproj">
+      <Project>{958B43BC-CC5C-4FA2-8628-2B3B01D890B6}</Project>
+      <Name>HeuristicLab.Collections-3.3</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\HeuristicLab.Core.Views\3.3\HeuristicLab.Core.Views-3.3.csproj">
+      <Project>{E226881D-315F-423D-B419-A766FE0D8685}</Project>
+      <Name>HeuristicLab.Core.Views-3.3</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\HeuristicLab.Core\3.3\HeuristicLab.Core-3.3.csproj">
+      <Project>{C36BD924-A541-4A00-AFA8-41701378DDC5}</Project>
+      <Name>HeuristicLab.Core-3.3</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\HeuristicLab.MainForm.WindowsForms\3.2\HeuristicLab.MainForm.WindowsForms-3.2.csproj">
+      <Project>{AB687BBE-1BFE-476B-906D-44237135431D}</Project>
+      <Name>HeuristicLab.MainForm.WindowsForms-3.2</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\HeuristicLab.MainForm\3.2\HeuristicLab.MainForm-3.2.csproj">
+      <Project>{3BD61258-31DA-4B09-89C0-4F71FEF5F05A}</Project>
+      <Name>HeuristicLab.MainForm-3.2</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\HeuristicLab.Operators\3.3\HeuristicLab.Operators-3.3.csproj">
+      <Project>{23DA7FF4-D5B8-41B6-AA96-F0561D24F3EE}</Project>
+      <Name>HeuristicLab.Operators-3.3</Name>
+    </ProjectReference>
+    <ProjectReference Include="..\..\HeuristicLab.PluginInfrastructure\HeuristicLab.PluginInfrastructure.csproj">
+      <Project>{94186A6A-5176-4402-AE83-886557B53CCA}</Project>
+      <Name>HeuristicLab.PluginInfrastructure</Name>
+    </ProjectReference>
+  </ItemGroup>
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
+       Other similar extension points exist, see Microsoft.Common.targets.
+  <Target Name="BeforeBuild">
+  </Target>
+  <Target Name="AfterBuild">
+  </Target>
+  -->
+  <PropertyGroup>
+    <PreBuildEvent>set Path=%25Path%25;$(ProjectDir);$(SolutionDir)
+set ProjectDir=$(ProjectDir)
+set SolutionDir=$(SolutionDir)
+set Outdir=$(Outdir)
+
+call PreBuildEvent.cmd</PreBuildEvent>
+  </PropertyGroup>
+</Project>
Index: /trunk/sources/HeuristicLab.Operators.Views/3.3/HeuristicLabOperatorsViewsPlugin.cs
===================================================================
--- /trunk/sources/HeuristicLab.Operators.Views/3.3/HeuristicLabOperatorsViewsPlugin.cs	(revision 2663)
+++ /trunk/sources/HeuristicLab.Operators.Views/3.3/HeuristicLabOperatorsViewsPlugin.cs	(revision 2663)
@@ -0,0 +1,41 @@
+#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+using System.Collections.Generic;
+using System.Text;
+using HeuristicLab.PluginInfrastructure;
+
+namespace HeuristicLab.Operators {
+  /// <summary>
+  /// Plugin class for HeuristicLab.Operators.Views plugin.
+  /// </summary>
+  [Plugin("HeuristicLab.Operators.Views-3.3")]
+  [PluginFile("HeuristicLab.Operators.Views-3.3.dll", PluginFileType.Assembly)]
+  [PluginDependency("HeuristicLab.Collections-3.3")]
+  [PluginDependency("HeuristicLab.Core-3.3")]
+  [PluginDependency("HeuristicLab.Core.Views-3.3")]
+  [PluginDependency("HeuristicLab.MainForm-3.2")]
+  [PluginDependency("HeuristicLab.MainForm.WindowsForms-3.2")]
+  [PluginDependency("HeuristicLab.Operators-3.3")]
+  public class HeuristicLabOperatorsViewsPlugin : PluginBase {
+  }
+}
Index: /trunk/sources/HeuristicLab.Operators.Views/3.3/OperatorBaseView.Designer.cs
===================================================================
--- /trunk/sources/HeuristicLab.Operators.Views/3.3/OperatorBaseView.Designer.cs	(revision 2663)
+++ /trunk/sources/HeuristicLab.Operators.Views/3.3/OperatorBaseView.Designer.cs	(revision 2663)
@@ -0,0 +1,96 @@
+#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+namespace HeuristicLab.Operators.Views {
+  partial class OperatorBaseView {
+    /// <summary> 
+    /// Required designer variable.
+    /// </summary>
+    private System.ComponentModel.IContainer components = null;
+
+    /// <summary> 
+    /// Clean up any resources being used.
+    /// </summary>
+    /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+    protected override void Dispose(bool disposing) {
+      if (disposing) {
+        if (components != null) components.Dispose();
+      }
+      base.Dispose(disposing);
+    }
+
+    #region Component Designer generated code
+
+    /// <summary> 
+    /// Required method for Designer support - do not modify 
+    /// the contents of this method with the code editor.
+    /// </summary>
+    private void InitializeComponent() {
+      this.parameterCollectionView = new HeuristicLab.Core.Views.ParameterCollectionView();
+      this.SuspendLayout();
+      // 
+      // nameTextBox
+      // 
+      this.nameTextBox.Size = new System.Drawing.Size(418, 20);
+      // 
+      // descriptionTextBox
+      // 
+      this.descriptionTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
+                  | System.Windows.Forms.AnchorStyles.Right)));
+      this.descriptionTextBox.Size = new System.Drawing.Size(418, 90);
+      // 
+      // parameterCollectionView
+      // 
+      this.parameterCollectionView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
+                  | System.Windows.Forms.AnchorStyles.Left)
+                  | System.Windows.Forms.AnchorStyles.Right)));
+      this.parameterCollectionView.Caption = "ParameterCollection";
+      this.parameterCollectionView.ItemCollection = null;
+      this.parameterCollectionView.Location = new System.Drawing.Point(0, 122);
+      this.parameterCollectionView.Name = "parameterCollectionView";
+      this.parameterCollectionView.NamedItemCollection = null;
+      this.parameterCollectionView.Size = new System.Drawing.Size(490, 231);
+      this.parameterCollectionView.TabIndex = 4;
+      // 
+      // OperatorBaseView
+      // 
+      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+      this.Controls.Add(this.parameterCollectionView);
+      this.Name = "OperatorBaseView";
+      this.Size = new System.Drawing.Size(490, 353);
+      this.Controls.SetChildIndex(this.parameterCollectionView, 0);
+      this.Controls.SetChildIndex(this.nameLabel, 0);
+      this.Controls.SetChildIndex(this.descriptionLabel, 0);
+      this.Controls.SetChildIndex(this.nameTextBox, 0);
+      this.Controls.SetChildIndex(this.descriptionTextBox, 0);
+      this.ResumeLayout(false);
+      this.PerformLayout();
+
+    }
+
+    #endregion
+
+    protected HeuristicLab.Core.Views.ParameterCollectionView parameterCollectionView;
+
+
+  }
+}
Index: /trunk/sources/HeuristicLab.Operators.Views/3.3/OperatorBaseView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Operators.Views/3.3/OperatorBaseView.cs	(revision 2663)
+++ /trunk/sources/HeuristicLab.Operators.Views/3.3/OperatorBaseView.cs	(revision 2663)
@@ -0,0 +1,68 @@
+#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Drawing;
+using System.Data;
+using System.Text;
+using System.Windows.Forms;
+using HeuristicLab.Core;
+using HeuristicLab.Core.Views;
+using HeuristicLab.MainForm;
+
+namespace HeuristicLab.Operators.Views { 
+  /// <summary>
+  /// The base class for visual representations of items.
+  /// </summary>
+  [Content(typeof(OperatorBase), true)]
+  public partial class OperatorBaseView : NamedItemBaseView {
+    public OperatorBase OperatorBase {
+      get { return (OperatorBase)base.Item; }
+      set { base.Item = value; }
+    }
+
+    /// <summary>
+    /// Initializes a new instance of <see cref="ItemBaseView"/>.
+    /// </summary>
+    public OperatorBaseView() {
+      InitializeComponent();
+    }
+    /// <summary>
+    /// Intializes a new instance of <see cref="ItemBaseView"/> with the given <paramref name="item"/>.
+    /// </summary>
+    /// <param name="item">The item that should be displayed.</param>
+    public OperatorBaseView(OperatorBase operatorBase)
+      : this() {
+      OperatorBase = operatorBase;
+    }
+
+    protected override void OnObjectChanged() {
+      base.OnObjectChanged();
+      if (OperatorBase == null) {
+        parameterCollectionView.NamedItemCollection = null;
+      } else {
+        parameterCollectionView.NamedItemCollection = ((IOperator)OperatorBase).Parameters;
+      }
+    }
+  }
+}
Index: /trunk/sources/HeuristicLab.Operators.Views/3.3/Properties/AssemblyInfo.frame
===================================================================
--- /trunk/sources/HeuristicLab.Operators.Views/3.3/Properties/AssemblyInfo.frame	(revision 2663)
+++ /trunk/sources/HeuristicLab.Operators.Views/3.3/Properties/AssemblyInfo.frame	(revision 2663)
@@ -0,0 +1,58 @@
+#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+using HeuristicLab.PluginInfrastructure;
+
+// General Information about an assembly is controlled through the following 
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("HeuristicLab.Operators.Views")]
+[assembly: AssemblyDescription("Views of the HeuristicLab operator classes")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("HeuristicLab")]
+[assembly: AssemblyCopyright("(c) 2002-2008 HEAL")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible 
+// to COM components.  If you need to access a type in this assembly from 
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("fc165161-b333-458d-82fa-453bca7322e0")]
+
+// Version information for an assembly consists of the following four values:
+//
+//      Major Version
+//      Minor Version 
+//      Build Number
+//      Revision
+//
+// You can specify all the values or you can default the Revision and Build Numbers 
+// by using the '*' as shown below:
+[assembly: AssemblyVersion("3.3.0.$WCREV$")]
+[assembly: AssemblyFileVersion("3.3.0.$WCREV$")]
+[assembly: AssemblyBuildDate("$WCNOW$")]
Index: /trunk/sources/HeuristicLab.Operators/3.3/EmptyOperator.cs
===================================================================
--- /trunk/sources/HeuristicLab.Operators/3.3/EmptyOperator.cs	(revision 2662)
+++ /trunk/sources/HeuristicLab.Operators/3.3/EmptyOperator.cs	(revision 2663)
@@ -23,31 +23,19 @@
 using System.Collections.Generic;
 using System.Text;
+using System.Xml;
+using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
 using HeuristicLab.Core;
 
 namespace HeuristicLab.Operators {
   /// <summary>
-  /// Placeholder and also used for testing; Does nothing.
+  /// An operator which represents an empty statement.
   /// </summary>
-  public class EmptyOperator : OperatorBase {
-    /// <inheritdoc select="summary"/>
-    public override string Description {
-      get { return "An empty operator just does nothing. Useful for testing and as a place holder for sub-operators of SequentialSubScopesProcessor and ParallelSubScopesProcessor."; }
-    }
-
-    /// <summary>
-    /// Initializes a new instance of <see cref="EmptyOperator"/>.
-    /// </summary>
+  [Item("Empty Operator", "An operator which represents an empty statement.")]
+  [Creatable("Test")]
+  [EmptyStorableClass]
+  public sealed class EmptyOperator : StandardOperatorBase {
     public EmptyOperator()
       : base() {
     }
-
-    /// <summary>
-    /// Does nothing.
-    /// </summary>
-    /// <param name="scope">The scope to apply the operator on.</param>
-    /// <returns><c>null</c>.</returns>
-    public override IOperation Apply(IScope scope) {
-      return null;
-    }
   }
 }
Index: /trunk/sources/HeuristicLab.Operators/3.3/HeuristicLab.Operators-3.3.csproj
===================================================================
--- /trunk/sources/HeuristicLab.Operators/3.3/HeuristicLab.Operators-3.3.csproj	(revision 2662)
+++ /trunk/sources/HeuristicLab.Operators/3.3/HeuristicLab.Operators-3.3.csproj	(revision 2663)
@@ -85,61 +85,20 @@
   </ItemGroup>
   <ItemGroup>
-    <Compile Include="AddVariableInfoDialog.cs">
-      <SubType>Form</SubType>
-    </Compile>
-    <Compile Include="AddVariableInfoDialog.Designer.cs">
-      <DependentUpon>AddVariableInfoDialog.cs</DependentUpon>
-    </Compile>
-    <Compile Include="CombinedOperator.cs" />
-    <Compile Include="CombinedOperatorView.cs">
-      <SubType>UserControl</SubType>
-    </Compile>
-    <Compile Include="CombinedOperatorView.Designer.cs">
-      <DependentUpon>CombinedOperatorView.cs</DependentUpon>
-    </Compile>
-    <Compile Include="ComparatorBase.cs" />
-    <Compile Include="ConditionalBranch.cs">
+    <Compile Include="EmptyOperator.cs">
       <SubType>Code</SubType>
     </Compile>
-    <Compile Include="DelegatingOperator.cs" />
-    <Compile Include="DoubleCounter.cs" />
-    <Compile Include="ScopeCleaner.cs" />
-    <Compile Include="StochasticMultiBranch.cs" />
-    <Compile Include="SubScopesMixer.cs" />
-    <Compile Include="DataCollector.cs" />
-    <Compile Include="EqualToComparator.cs" />
-    <Compile Include="GreaterOrEqualThanComparator.cs" />
-    <Compile Include="GreaterThanComparator.cs" />
-    <Compile Include="LessOrEqualThanComparator.cs" />
-    <Compile Include="LessThanComparator.cs" />
-    <Compile Include="OperatorExtractor.cs" />
-    <Compile Include="ParallelProcessor.cs" />
-    <Compile Include="EmptyOperator.cs" />
-    <Compile Include="SequentialProcessor.cs" />
-    <Compile Include="SingleObjectiveEvaluatorBase.cs" />
-    <Compile Include="Sorter.cs" />
-    <Compile Include="StochasticBranch.cs" />
-    <Compile Include="SubScopesRemover.cs" />
-    <Compile Include="UnequalToComparator.cs" />
-    <Compile Include="UniformSequentialSubScopesProcessor.cs" />
-    <Compile Include="UniformParallelSubScopesProcessor.cs" />
-    <Compile Include="ParallelSubScopesProcessor.cs" />
-    <Compile Include="SequentialSubScopesProcessor.cs" />
-    <Compile Include="SubScopesCreater.cs" />
-    <Compile Include="Counter.cs" />
     <Compile Include="HeuristicLabOperatorsPlugin.cs" />
+    <Compile Include="OperatorBase.cs" />
     <Compile Include="Properties\AssemblyInfo.cs" />
-    <Compile Include="VariableInjector.cs" />
-    <Compile Include="VariableInjectorView.cs">
-      <SubType>UserControl</SubType>
-    </Compile>
-    <Compile Include="VariableInjectorView.Designer.cs">
-      <DependentUpon>VariableInjectorView.cs</DependentUpon>
-    </Compile>
+    <Compile Include="StandardOperatorBase.cs" />
   </ItemGroup>
   <ItemGroup>
-    <ProjectReference Include="..\..\HeuristicLab.Core.Views\3.3\HeuristicLab.Core.Views-3.3.csproj">
-      <Project>{E226881D-315F-423D-B419-A766FE0D8685}</Project>
-      <Name>HeuristicLab.Core.Views-3.3</Name>
+    <ProjectReference Include="..\..\HeuristicLab.Collections\3.3\HeuristicLab.Collections-3.3.csproj">
+      <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">
@@ -150,12 +109,4 @@
       <Project>{BBAB9DF5-5EF3-4BA8-ADE9-B36E82114937}</Project>
       <Name>HeuristicLab.Data-3.3</Name>
-    </ProjectReference>
-    <ProjectReference Include="..\..\HeuristicLab.MainForm.WindowsForms\3.2\HeuristicLab.MainForm.WindowsForms-3.2.csproj">
-      <Project>{AB687BBE-1BFE-476B-906D-44237135431D}</Project>
-      <Name>HeuristicLab.MainForm.WindowsForms-3.2</Name>
-    </ProjectReference>
-    <ProjectReference Include="..\..\HeuristicLab.MainForm\3.2\HeuristicLab.MainForm-3.2.csproj">
-      <Project>{3BD61258-31DA-4B09-89C0-4F71FEF5F05A}</Project>
-      <Name>HeuristicLab.MainForm-3.2</Name>
     </ProjectReference>
     <ProjectReference Include="..\..\HeuristicLab.Persistence\3.3\HeuristicLab.Persistence-3.3.csproj">
@@ -171,14 +122,4 @@
     <None Include="HeuristicLab.snk" />
     <None Include="Properties\AssemblyInfo.frame" />
-  </ItemGroup>
-  <ItemGroup>
-    <EmbeddedResource Include="AddVariableInfoDialog.resx">
-      <DependentUpon>AddVariableInfoDialog.cs</DependentUpon>
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
-    <EmbeddedResource Include="CombinedOperatorView.resx">
-      <DependentUpon>CombinedOperatorView.cs</DependentUpon>
-      <SubType>Designer</SubType>
-    </EmbeddedResource>
   </ItemGroup>
   <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
Index: /trunk/sources/HeuristicLab.Operators/3.3/HeuristicLabOperatorsPlugin.cs
===================================================================
--- /trunk/sources/HeuristicLab.Operators/3.3/HeuristicLabOperatorsPlugin.cs	(revision 2662)
+++ /trunk/sources/HeuristicLab.Operators/3.3/HeuristicLabOperatorsPlugin.cs	(revision 2663)
@@ -29,12 +29,11 @@
   /// Plugin class for HeuristicLab.Operators plugin.
   /// </summary>
-  [ClassInfo(Name = "HeuristicLab.Operators-3.3")]
-  [PluginFile(Filename = "HeuristicLab.Operators-3.3.dll", Filetype = PluginFileType.Assembly)]
-  [Dependency(Dependency = "HeuristicLab.Core-3.3")]
-  [Dependency(Dependency = "HeuristicLab.Core.Views-3.3")]
-  [Dependency(Dependency = "HeuristicLab.Data-3.3")]
-  [Dependency(Dependency = "HeuristicLab.MainForm-3.2")]
-  [Dependency(Dependency = "HeuristicLab.MainForm.WindowsForms-3.2")]
-  [Dependency(Dependency = "HeuristicLab.Persistence-3.3")]  
+  [Plugin("HeuristicLab.Operators-3.3")]
+  [PluginFile("HeuristicLab.Operators-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")]
+  [PluginDependency("HeuristicLab.Persistence-3.3")]  
   public class HeuristicLabOperatorsPlugin : PluginBase {
   }
Index: /trunk/sources/HeuristicLab.Operators/3.3/OperatorBase.cs
===================================================================
--- /trunk/sources/HeuristicLab.Operators/3.3/OperatorBase.cs	(revision 2663)
+++ /trunk/sources/HeuristicLab.Operators/3.3/OperatorBase.cs	(revision 2663)
@@ -0,0 +1,156 @@
+#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Xml;
+using System.Drawing;
+using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HeuristicLab.Core;
+using HeuristicLab.Collections;
+
+namespace HeuristicLab.Operators {
+  /// <summary>
+  /// The base class for all operators.
+  /// </summary>
+  [Item("OperatorBase", "Base class for operators.")]
+  public abstract class OperatorBase : NamedItemBase, IOperator {
+    public override Image ItemImage {
+      get { return HeuristicLab.Common.Resources.VS2008ImageLibrary.Method; }
+    }
+
+    private ParameterCollection parameters;
+    [Storable]
+    protected ParameterCollection Parameters {
+      get { return parameters;}
+      private set {
+        if (parameters != null) parameters.Changed -= new ChangedEventHandler(Parameters_Changed);
+        parameters = value;
+        readOnlyParameters = null;
+        if (parameters != null) parameters.Changed += new ChangedEventHandler(Parameters_Changed);
+      }
+    }
+    private ReadOnlyObservableKeyedCollection<string, IParameter> readOnlyParameters;
+    IObservableKeyedCollection<string, IParameter> IOperator.Parameters {
+      get {
+        if (readOnlyParameters == null) readOnlyParameters = parameters.AsReadOnly();
+        return readOnlyParameters;
+      }
+    }
+
+    /// <summary>
+    /// Flag whether the current instance has been canceled.
+    /// </summary>
+    private bool canceled;
+    /// <inheritdoc/>
+    protected bool Canceled {
+      get { return canceled; }
+    }
+
+    [Storable]
+    private bool breakpoint;
+    /// <inheritdoc/>
+    /// <remarks>Calls <see cref="OnBreakpointChanged"/> in the setter.</remarks>
+    public bool Breakpoint {
+      get { return breakpoint; }
+      set {
+        if (value != breakpoint) {
+          breakpoint = value;
+          OnBreakpointChanged();
+        }
+      }
+    }
+
+    /// <summary>
+    /// Initializes a new instance of <see cref="OperatorBase"/> setting the breakpoint flag and 
+    /// the canceled flag to <c>false</c> and the name of the operator to the type name. 
+    /// </summary>
+    protected OperatorBase() {
+      name = ItemName;
+      Parameters = new ParameterCollection();
+      readOnlyParameters = null;
+      canceled = false;
+      breakpoint = false;
+    }
+
+    /// <summary>
+    /// Clones the current instance (deep clone).
+    /// </summary>
+    /// <remarks>Clones also sub operators, variables and variable infos.</remarks>
+    /// <param name="clonedObjects">Dictionary of all already cloned objects. (Needed to avoid cycles.)</param>
+    /// <returns>The cloned object as <see cref="OperatorBase"/>.</returns>
+    public override IDeepCloneable Clone(Cloner cloner) {
+      OperatorBase clone = (OperatorBase)base.Clone(cloner);
+      clone.Parameters = (ParameterCollection)cloner.Clone(parameters);
+      clone.canceled = canceled;
+      clone.breakpoint = breakpoint;
+      return clone;
+    }
+
+    /// <inheritdoc/>
+    public virtual ExecutionContextCollection Execute(ExecutionContext context) {
+      canceled = false;
+      ExecutionContextCollection next = Apply(context);
+      OnExecuted();
+      return next;
+    }
+    /// <inheritdoc/>
+    /// <remarks>Sets property <see cref="Canceled"/> to <c>true</c>.</remarks>
+    public virtual void Abort() {
+      canceled = true;
+    }
+    /// <summary>
+    /// Performs the current operator on the specified <paramref name="scope"/>.
+    /// </summary>
+    /// <param name="scope">The scope where to execute the operator</param>
+    /// <returns><c>null</c>.</returns>
+    public virtual ExecutionContextCollection Apply(ExecutionContext context) {
+      return new ExecutionContextCollection();
+    }
+
+    /// <inheritdoc/>
+    public event EventHandler BreakpointChanged;
+    /// <summary>
+    /// Fires a new <c>BreakpointChanged</c> event.
+    /// </summary>
+    protected virtual void OnBreakpointChanged() {
+      if (BreakpointChanged != null) {
+        BreakpointChanged(this, new EventArgs());
+      }
+      OnChanged();
+    }
+    /// <inheritdoc/>
+    public event EventHandler Executed;
+    /// <summary>
+    /// Fires a new <c>Executed</c> event.
+    /// </summary>
+    protected virtual void OnExecuted() {
+      if (Executed != null) {
+        Executed(this, new EventArgs());
+      }
+    }
+
+    private void Parameters_Changed(object sender, ChangedEventArgs e) {
+      OnChanged(e);
+    }
+  }
+}
Index: /trunk/sources/HeuristicLab.Operators/3.3/Properties/AssemblyInfo.frame
===================================================================
--- /trunk/sources/HeuristicLab.Operators/3.3/Properties/AssemblyInfo.frame	(revision 2662)
+++ /trunk/sources/HeuristicLab.Operators/3.3/Properties/AssemblyInfo.frame	(revision 2663)
@@ -29,5 +29,5 @@
 // associated with an assembly.
 [assembly: AssemblyTitle("HeuristicLab.Operators")]
-[assembly: AssemblyDescription("Various HeuristicLab operator classes")]
+[assembly: AssemblyDescription("HeuristicLab operator classes")]
 [assembly: AssemblyConfiguration("")]
 [assembly: AssemblyCompany("")]
Index: /trunk/sources/HeuristicLab.Operators/3.3/StandardOperatorBase.cs
===================================================================
--- /trunk/sources/HeuristicLab.Operators/3.3/StandardOperatorBase.cs	(revision 2663)
+++ /trunk/sources/HeuristicLab.Operators/3.3/StandardOperatorBase.cs	(revision 2663)
@@ -0,0 +1,54 @@
+#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2008 Heuristic and Evolutionary Algorithms Laboratory (HEAL)
+ *
+ * This file is part of HeuristicLab.
+ *
+ * HeuristicLab is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * HeuristicLab is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>.
+ */
+#endregion
+
+using System;
+using System.Collections.Generic;
+using System.Text;
+using System.Xml;
+using HeuristicLab.Persistence.Default.CompositeSerializers.Storable;
+using HeuristicLab.Core;
+
+namespace HeuristicLab.Operators {
+  /// <summary>
+  /// A base class for operators which have only one successor.
+  /// </summary>
+  [Item("StandardOperatorBase", "A base class for operators which have only one successor.")]
+  [Creatable("Test")]
+  [EmptyStorableClass]
+  public abstract class StandardOperatorBase : OperatorBase {
+    public OperatorParameter Successor {
+      get { return (OperatorParameter)Parameters["Successor"]; }
+    }
+
+    public StandardOperatorBase()
+      : base() {
+      Parameters.Add(new OperatorParameter("Successor", "Operator which is executed next"));
+    }
+
+    public override ExecutionContextCollection Apply(ExecutionContext context) {
+      IOperator successor = Successor.GetValue(context);
+      if (successor != null)
+        return new ExecutionContextCollection(new ExecutionContext(context.Parent, successor, context.Scope));
+      else
+        return new ExecutionContextCollection();
+    }
+  }
+}
