Index: trunk/sources/HeuristicLab.ThreadParallelEngine/3.3/HeuristicLab.ThreadParallelEngine-3.3.csproj
===================================================================
--- trunk/sources/HeuristicLab.ThreadParallelEngine/3.3/HeuristicLab.ThreadParallelEngine-3.3.csproj	(revision 2526)
+++ trunk/sources/HeuristicLab.ThreadParallelEngine/3.3/HeuristicLab.ThreadParallelEngine-3.3.csproj	(revision 2546)
@@ -86,9 +86,9 @@
     <Compile Include="Properties\AssemblyInfo.cs" />
     <Compile Include="ThreadParallelEngine.cs" />
-    <Compile Include="ThreadParallelEngineEditor.cs">
+    <Compile Include="ThreadParallelEngineView.cs">
       <SubType>UserControl</SubType>
     </Compile>
-    <Compile Include="ThreadParallelEngineEditor.Designer.cs">
-      <DependentUpon>ThreadParallelEngineEditor.cs</DependentUpon>
+    <Compile Include="ThreadParallelEngineView.Designer.cs">
+      <DependentUpon>ThreadParallelEngineView.cs</DependentUpon>
     </Compile>
   </ItemGroup>
Index: trunk/sources/HeuristicLab.ThreadParallelEngine/3.3/ThreadParallelEngine.cs
===================================================================
--- trunk/sources/HeuristicLab.ThreadParallelEngine/3.3/ThreadParallelEngine.cs	(revision 2526)
+++ trunk/sources/HeuristicLab.ThreadParallelEngine/3.3/ThreadParallelEngine.cs	(revision 2546)
@@ -32,4 +32,6 @@
   /// Implementation of an engine being able to run in parallel with threads.
   /// </summary>
+  [Creatable("Engines")]
+  [Item("Parallel Engine", "Engine for parallel execution of algorithms using multiple threads.")]
   public class ThreadParallelEngine : EngineBase {
     #region Inner Class Task
Index: trunk/sources/HeuristicLab.ThreadParallelEngine/3.3/ThreadParallelEngineEditor.Designer.cs
===================================================================
--- trunk/sources/HeuristicLab.ThreadParallelEngine/3.3/ThreadParallelEngineEditor.Designer.cs	(revision 2526)
+++ 	(revision )
@@ -1,134 +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.ThreadParallelEngine {
-  partial class ThreadParallelEngineEditor {
-    /// <summary> 
-    /// Required designer variable.
-    /// </summary>
-    private System.ComponentModel.IContainer components = null;
-
-    /// <summary> 
-    /// Clean up any resources being used.
-    /// </summary>
-    /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
-    protected override void Dispose(bool disposing) {
-      if (disposing && (components != null)) {
-        components.Dispose();
-      }
-      base.Dispose(disposing);
-    }
-
-    #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.workersNumericUpDown = new System.Windows.Forms.NumericUpDown();
-      this.workersLabel = new System.Windows.Forms.Label();
-      this.splitContainer1.Panel1.SuspendLayout();
-      this.splitContainer1.Panel2.SuspendLayout();
-      this.splitContainer1.SuspendLayout();
-      this.operatorGraphGroupBox.SuspendLayout();
-      this.globalScopeGroupBox.SuspendLayout();
-      ((System.ComponentModel.ISupportInitialize)(this.workersNumericUpDown)).BeginInit();
-      this.SuspendLayout();
-      // 
-      // executionTimeTextBox
-      // 
-      this.executionTimeTextBox.TabIndex = 7;
-      // 
-      // executionTimeLabel
-      // 
-      this.executionTimeLabel.TabIndex = 6;
-      // 
-      // splitContainer1
-      // 
-      // 
-      // workersNumericUpDown
-      // 
-      this.workersNumericUpDown.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
-      this.workersNumericUpDown.Location = new System.Drawing.Point(406, 460);
-      this.workersNumericUpDown.Maximum = new decimal(new int[] {
-            10000,
-            0,
-            0,
-            0});
-      this.workersNumericUpDown.Minimum = new decimal(new int[] {
-            1,
-            0,
-            0,
-            0});
-      this.workersNumericUpDown.Name = "workersNumericUpDown";
-      this.workersNumericUpDown.Size = new System.Drawing.Size(87, 20);
-      this.workersNumericUpDown.TabIndex = 5;
-      this.workersNumericUpDown.Value = new decimal(new int[] {
-            1,
-            0,
-            0,
-            0});
-      this.workersNumericUpDown.ValueChanged += new System.EventHandler(this.workersNumericUpDown_ValueChanged);
-      // 
-      // workersLabel
-      // 
-      this.workersLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
-      this.workersLabel.AutoSize = true;
-      this.workersLabel.Location = new System.Drawing.Point(403, 444);
-      this.workersLabel.Name = "workersLabel";
-      this.workersLabel.Size = new System.Drawing.Size(87, 13);
-      this.workersLabel.TabIndex = 4;
-      this.workersLabel.Text = "&Worker Threads:";
-      // 
-      // ThreadParallelEngineEditor
-      // 
-      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
-      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
-      this.Controls.Add(this.workersNumericUpDown);
-      this.Controls.Add(this.workersLabel);
-      this.Name = "ThreadParallelEngineEditor";
-      this.Controls.SetChildIndex(this.workersLabel, 0);
-      this.Controls.SetChildIndex(this.workersNumericUpDown, 0);
-      this.Controls.SetChildIndex(this.executionTimeLabel, 0);
-      this.Controls.SetChildIndex(this.executeButton, 0);
-      this.Controls.SetChildIndex(this.abortButton, 0);
-      this.Controls.SetChildIndex(this.resetButton, 0);
-      this.Controls.SetChildIndex(this.splitContainer1, 0);
-      this.Controls.SetChildIndex(this.executionTimeTextBox, 0);
-      this.splitContainer1.Panel1.ResumeLayout(false);
-      this.splitContainer1.Panel2.ResumeLayout(false);
-      this.splitContainer1.ResumeLayout(false);
-      this.operatorGraphGroupBox.ResumeLayout(false);
-      this.globalScopeGroupBox.ResumeLayout(false);
-      ((System.ComponentModel.ISupportInitialize)(this.workersNumericUpDown)).EndInit();
-      this.ResumeLayout(false);
-      this.PerformLayout();
-
-    }
-
-    #endregion
-
-    private System.Windows.Forms.NumericUpDown workersNumericUpDown;
-    private System.Windows.Forms.Label workersLabel;
-
-  }
-}
Index: trunk/sources/HeuristicLab.ThreadParallelEngine/3.3/ThreadParallelEngineEditor.cs
===================================================================
--- trunk/sources/HeuristicLab.ThreadParallelEngine/3.3/ThreadParallelEngineEditor.cs	(revision 2526)
+++ 	(revision )
@@ -1,115 +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.Core;
-using HeuristicLab.Core.Views;
-using HeuristicLab.MainForm;
-
-namespace HeuristicLab.ThreadParallelEngine {
-  /// <summary>
-  /// Visual representation of a <see cref="ThreadParallelEngine"/>.
-  /// </summary>
-  [Content(typeof(ThreadParallelEngine), true)]
-  public partial class ThreadParallelEngineEditor : EngineBaseEditor {
-    /// <summary>
-    /// Gets or sets the ThreadParallelEngine to display.
-    /// </summary>
-    /// <remarks>Uses property <see cref="EngineBaseEditor.Engine"/> of base class 
-    /// <see cref="EngineBaseEditor"/>. No own data storage present.</remarks>
-    public ThreadParallelEngine ThreadParallelEngine {
-      get { return (ThreadParallelEngine)Engine; }
-      set { base.Engine = value; }
-    }
-
-    /// <summary>
-    /// Initializes a new instance of <see cref="ThreadParallelEngineEditor"/>.
-    /// </summary>
-    public ThreadParallelEngineEditor() {
-      InitializeComponent();
-    }
-    /// <summary>
-    /// Initializes a new instance of <see cref="ThreadParallelEngineEditor"/> with the given
-    /// <paramref name="threadParallelEngine"/> to display.
-    /// </summary>
-    /// <param name="threadParallelEngine">The engine to represent visually.</param>
-    public ThreadParallelEngineEditor(ThreadParallelEngine threadParallelEngine)
-      : this() {
-      ThreadParallelEngine = threadParallelEngine;
-    }
-
-    /// <summary>
-    /// Removes the eventhandlers from the underlying <see cref="ThreadParallelEngine"/>.
-    /// </summary>
-    /// <remarks>Calls <see cref="EngineBaseEditor.RemoveItemEvents"/> of base class 
-    /// <see cref="EngineBaseEditor"/>.
-    /// </remarks>
-    protected override void RemoveItemEvents() {
-      ThreadParallelEngine.WorkersChanged -= new EventHandler(ThreadParallelEngine_WorkersChanged);
-      base.RemoveItemEvents();
-    }
-
-    /// <summary>
-    /// Adds eventhandlers to the underlying <see cref="ThreadParallelEngine"/>.
-    /// </summary>
-    /// <remarks>Calls <see cref="EngineBaseEditor.AddItemEvents"/> of base class 
-    /// <see cref="EngineBaseEditor"/>.
-    /// </remarks>
-    protected override void AddItemEvents() {
-      base.AddItemEvents();
-      ThreadParallelEngine.WorkersChanged += new EventHandler(ThreadParallelEngine_WorkersChanged);
-    }
-
-    /// <summary>
-    /// Updates the controls with the latest data.
-    /// </summary>
-    /// <remarks>Calls <see cref="EngineBaseEditor.UpdateControls"/> of base class 
-    /// <see cref="EngineBaseEditor"/>.</remarks>
-    protected override void UpdateControls() {
-      base.UpdateControls();
-      if (ThreadParallelEngine == null) {
-        workersNumericUpDown.Value = 1;
-        workersNumericUpDown.Enabled = false;
-      } else {
-        workersNumericUpDown.Value = ThreadParallelEngine.Workers;
-        workersNumericUpDown.Enabled = true;
-      }
-    }
-
-    #region ThreadParallelEngine Events
-    private void ThreadParallelEngine_WorkersChanged(object sender, EventArgs e) {
-      workersNumericUpDown.Value = ThreadParallelEngine.Workers;
-    }
-    #endregion
-
-    #region NumericUpDown Events
-    private void workersNumericUpDown_ValueChanged(object sender, EventArgs e) {
-      ThreadParallelEngine.Workers = (int)workersNumericUpDown.Value;
-    }
-    #endregion
-  }
-}
Index: trunk/sources/HeuristicLab.ThreadParallelEngine/3.3/ThreadParallelEngineView.Designer.cs
===================================================================
--- trunk/sources/HeuristicLab.ThreadParallelEngine/3.3/ThreadParallelEngineView.Designer.cs	(revision 2546)
+++ trunk/sources/HeuristicLab.ThreadParallelEngine/3.3/ThreadParallelEngineView.Designer.cs	(revision 2546)
@@ -0,0 +1,134 @@
+#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.ThreadParallelEngine {
+  partial class ThreadParallelEngineView {
+    /// <summary> 
+    /// Required designer variable.
+    /// </summary>
+    private System.ComponentModel.IContainer components = null;
+
+    /// <summary> 
+    /// Clean up any resources being used.
+    /// </summary>
+    /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
+    protected override void Dispose(bool disposing) {
+      if (disposing && (components != null)) {
+        components.Dispose();
+      }
+      base.Dispose(disposing);
+    }
+
+    #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.workersNumericUpDown = new System.Windows.Forms.NumericUpDown();
+      this.workersLabel = new System.Windows.Forms.Label();
+      this.splitContainer1.Panel1.SuspendLayout();
+      this.splitContainer1.Panel2.SuspendLayout();
+      this.splitContainer1.SuspendLayout();
+      this.operatorGraphGroupBox.SuspendLayout();
+      this.globalScopeGroupBox.SuspendLayout();
+      ((System.ComponentModel.ISupportInitialize)(this.workersNumericUpDown)).BeginInit();
+      this.SuspendLayout();
+      // 
+      // executionTimeTextBox
+      // 
+      this.executionTimeTextBox.TabIndex = 7;
+      // 
+      // executionTimeLabel
+      // 
+      this.executionTimeLabel.TabIndex = 6;
+      // 
+      // splitContainer1
+      // 
+      // 
+      // workersNumericUpDown
+      // 
+      this.workersNumericUpDown.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
+      this.workersNumericUpDown.Location = new System.Drawing.Point(406, 460);
+      this.workersNumericUpDown.Maximum = new decimal(new int[] {
+            10000,
+            0,
+            0,
+            0});
+      this.workersNumericUpDown.Minimum = new decimal(new int[] {
+            1,
+            0,
+            0,
+            0});
+      this.workersNumericUpDown.Name = "workersNumericUpDown";
+      this.workersNumericUpDown.Size = new System.Drawing.Size(87, 20);
+      this.workersNumericUpDown.TabIndex = 5;
+      this.workersNumericUpDown.Value = new decimal(new int[] {
+            1,
+            0,
+            0,
+            0});
+      this.workersNumericUpDown.ValueChanged += new System.EventHandler(this.workersNumericUpDown_ValueChanged);
+      // 
+      // workersLabel
+      // 
+      this.workersLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
+      this.workersLabel.AutoSize = true;
+      this.workersLabel.Location = new System.Drawing.Point(403, 444);
+      this.workersLabel.Name = "workersLabel";
+      this.workersLabel.Size = new System.Drawing.Size(87, 13);
+      this.workersLabel.TabIndex = 4;
+      this.workersLabel.Text = "&Worker Threads:";
+      // 
+      // ThreadParallelEngineEditor
+      // 
+      this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
+      this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
+      this.Controls.Add(this.workersNumericUpDown);
+      this.Controls.Add(this.workersLabel);
+      this.Name = "ThreadParallelEngineEditor";
+      this.Controls.SetChildIndex(this.workersLabel, 0);
+      this.Controls.SetChildIndex(this.workersNumericUpDown, 0);
+      this.Controls.SetChildIndex(this.executionTimeLabel, 0);
+      this.Controls.SetChildIndex(this.executeButton, 0);
+      this.Controls.SetChildIndex(this.abortButton, 0);
+      this.Controls.SetChildIndex(this.resetButton, 0);
+      this.Controls.SetChildIndex(this.splitContainer1, 0);
+      this.Controls.SetChildIndex(this.executionTimeTextBox, 0);
+      this.splitContainer1.Panel1.ResumeLayout(false);
+      this.splitContainer1.Panel2.ResumeLayout(false);
+      this.splitContainer1.ResumeLayout(false);
+      this.operatorGraphGroupBox.ResumeLayout(false);
+      this.globalScopeGroupBox.ResumeLayout(false);
+      ((System.ComponentModel.ISupportInitialize)(this.workersNumericUpDown)).EndInit();
+      this.ResumeLayout(false);
+      this.PerformLayout();
+
+    }
+
+    #endregion
+
+    private System.Windows.Forms.NumericUpDown workersNumericUpDown;
+    private System.Windows.Forms.Label workersLabel;
+
+  }
+}
Index: trunk/sources/HeuristicLab.ThreadParallelEngine/3.3/ThreadParallelEngineView.cs
===================================================================
--- trunk/sources/HeuristicLab.ThreadParallelEngine/3.3/ThreadParallelEngineView.cs	(revision 2546)
+++ trunk/sources/HeuristicLab.ThreadParallelEngine/3.3/ThreadParallelEngineView.cs	(revision 2546)
@@ -0,0 +1,115 @@
+#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.ThreadParallelEngine {
+  /// <summary>
+  /// Visual representation of a <see cref="ThreadParallelEngine"/>.
+  /// </summary>
+  [Content(typeof(ThreadParallelEngine), true)]
+  public partial class ThreadParallelEngineView : EngineBaseView {
+    /// <summary>
+    /// Gets or sets the ThreadParallelEngine to display.
+    /// </summary>
+    /// <remarks>Uses property <see cref="EngineBaseEditor.Engine"/> of base class 
+    /// <see cref="EngineBaseEditor"/>. No own data storage present.</remarks>
+    public ThreadParallelEngine ThreadParallelEngine {
+      get { return (ThreadParallelEngine)Engine; }
+      set { base.Engine = value; }
+    }
+
+    /// <summary>
+    /// Initializes a new instance of <see cref="ThreadParallelEngineEditor"/>.
+    /// </summary>
+    public ThreadParallelEngineView() {
+      InitializeComponent();
+    }
+    /// <summary>
+    /// Initializes a new instance of <see cref="ThreadParallelEngineEditor"/> with the given
+    /// <paramref name="threadParallelEngine"/> to display.
+    /// </summary>
+    /// <param name="threadParallelEngine">The engine to represent visually.</param>
+    public ThreadParallelEngineView(ThreadParallelEngine threadParallelEngine)
+      : this() {
+      ThreadParallelEngine = threadParallelEngine;
+    }
+
+    /// <summary>
+    /// Removes the eventhandlers from the underlying <see cref="ThreadParallelEngine"/>.
+    /// </summary>
+    /// <remarks>Calls <see cref="EngineBaseEditor.RemoveItemEvents"/> of base class 
+    /// <see cref="EngineBaseEditor"/>.
+    /// </remarks>
+    protected override void RemoveItemEvents() {
+      ThreadParallelEngine.WorkersChanged -= new EventHandler(ThreadParallelEngine_WorkersChanged);
+      base.RemoveItemEvents();
+    }
+
+    /// <summary>
+    /// Adds eventhandlers to the underlying <see cref="ThreadParallelEngine"/>.
+    /// </summary>
+    /// <remarks>Calls <see cref="EngineBaseEditor.AddItemEvents"/> of base class 
+    /// <see cref="EngineBaseEditor"/>.
+    /// </remarks>
+    protected override void AddItemEvents() {
+      base.AddItemEvents();
+      ThreadParallelEngine.WorkersChanged += new EventHandler(ThreadParallelEngine_WorkersChanged);
+    }
+
+    /// <summary>
+    /// Updates the controls with the latest data.
+    /// </summary>
+    /// <remarks>Calls <see cref="EngineBaseEditor.UpdateControls"/> of base class 
+    /// <see cref="EngineBaseEditor"/>.</remarks>
+    protected override void UpdateControls() {
+      base.UpdateControls();
+      if (ThreadParallelEngine == null) {
+        workersNumericUpDown.Value = 1;
+        workersNumericUpDown.Enabled = false;
+      } else {
+        workersNumericUpDown.Value = ThreadParallelEngine.Workers;
+        workersNumericUpDown.Enabled = true;
+      }
+    }
+
+    #region ThreadParallelEngine Events
+    private void ThreadParallelEngine_WorkersChanged(object sender, EventArgs e) {
+      workersNumericUpDown.Value = ThreadParallelEngine.Workers;
+    }
+    #endregion
+
+    #region NumericUpDown Events
+    private void workersNumericUpDown_ValueChanged(object sender, EventArgs e) {
+      ThreadParallelEngine.Workers = (int)workersNumericUpDown.Value;
+    }
+    #endregion
+  }
+}
