Index: /trunk/sources/HeuristicLab.CEDMA.Server/3.3/DispatcherView.Designer.cs
===================================================================
--- /trunk/sources/HeuristicLab.CEDMA.Server/3.3/DispatcherView.Designer.cs	(revision 2823)
+++ /trunk/sources/HeuristicLab.CEDMA.Server/3.3/DispatcherView.Designer.cs	(revision 2824)
@@ -52,4 +52,5 @@
       this.testLabel = new System.Windows.Forms.Label();
       this.setAllButton = new System.Windows.Forms.Button();
+      this.editEngineButton = new System.Windows.Forms.Button();
       this.splitContainer.Panel1.SuspendLayout();
       this.splitContainer.Panel2.SuspendLayout();
@@ -130,4 +131,5 @@
       // 
       this.learningTaskGroupBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
+      this.learningTaskGroupBox.Controls.Add(this.editEngineButton);
       this.learningTaskGroupBox.Controls.Add(this.setAlgorithmDefault);
       this.learningTaskGroupBox.Controls.Add(this.autoregressiveLabel);
@@ -193,4 +195,5 @@
       this.algorithmsListBox.Size = new System.Drawing.Size(331, 124);
       this.algorithmsListBox.TabIndex = 4;
+      this.algorithmsListBox.SelectedIndexChanged += new System.EventHandler(this.algorithmsListBox_SelectedIndexChanged);
       this.algorithmsListBox.ItemCheck += new System.Windows.Forms.ItemCheckEventHandler(this.algorithmsListBox_ItemCheck);
       // 
@@ -380,4 +383,14 @@
       this.setAllButton.UseVisualStyleBackColor = true;
       this.setAllButton.Click += new System.EventHandler(this.setAllButton_Click);
+      // 
+      // editEngineButton
+      // 
+      this.editEngineButton.Location = new System.Drawing.Point(108, 292);
+      this.editEngineButton.Name = "editEngineButton";
+      this.editEngineButton.Size = new System.Drawing.Size(75, 23);
+      this.editEngineButton.TabIndex = 37;
+      this.editEngineButton.Text = "Edit engine";
+      this.editEngineButton.UseVisualStyleBackColor = true;
+      this.editEngineButton.Click += new System.EventHandler(this.editEngineButton_Click);
       // 
       // DispatcherView
@@ -431,4 +444,5 @@
     private System.Windows.Forms.CheckBox autoregressiveCheckBox;
     private System.Windows.Forms.Button setAlgorithmDefault;
+    private System.Windows.Forms.Button editEngineButton;
   }
 }
Index: /trunk/sources/HeuristicLab.CEDMA.Server/3.3/DispatcherView.cs
===================================================================
--- /trunk/sources/HeuristicLab.CEDMA.Server/3.3/DispatcherView.cs	(revision 2823)
+++ /trunk/sources/HeuristicLab.CEDMA.Server/3.3/DispatcherView.cs	(revision 2824)
@@ -18,4 +18,5 @@
       this.dispatcher = dispatcher;
       InitializeComponent();
+      editEngineButton.Enabled = false;
       dispatcher.Changed += (sender, args) => UpdateControls();
       UpdateControls();
@@ -246,4 +247,13 @@
     }
 
+    private void editEngineButton_Click(object sender, EventArgs e) {
+      var algo = (HeuristicLab.Modeling.IAlgorithm)algorithmsListBox.SelectedItem;
+      HeuristicLab.PluginInfrastructure.ControlManager.Manager.ShowControl(algo.Engine.CreateView());
+    }
+
+    private void algorithmsListBox_SelectedIndexChanged(object sender, EventArgs e) {
+      editEngineButton.Enabled = algorithmsListBox.SelectedItems.Count > 0;
+    }
+
   }
 }
Index: /trunk/sources/HeuristicLab.CEDMA.Server/3.3/EngineViewWrapper.cs
===================================================================
--- /trunk/sources/HeuristicLab.CEDMA.Server/3.3/EngineViewWrapper.cs	(revision 2824)
+++ /trunk/sources/HeuristicLab.CEDMA.Server/3.3/EngineViewWrapper.cs	(revision 2824)
@@ -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.Linq;
+using System.Text;
+using HeuristicLab.MainForm.WindowsForms;
+
+namespace HeuristicLab.CEDMA.Server {
+  public class ViewWrapper : View {
+
+    public ViewWrapper(HeuristicLab.Core.IView view)
+      : base() {
+      var control = (System.Windows.Forms.Control)view;
+      control.Dock = System.Windows.Forms.DockStyle.Fill;
+      this.Controls.Add(control);
+      Caption = view.Caption;
+      view.CaptionChanged += (sender, args) => Caption = view.Caption;
+    }
+  }
+}
Index: /trunk/sources/HeuristicLab.CEDMA.Server/3.3/HeuristicLab.CEDMA.Server-3.3.csproj
===================================================================
--- /trunk/sources/HeuristicLab.CEDMA.Server/3.3/HeuristicLab.CEDMA.Server-3.3.csproj	(revision 2823)
+++ /trunk/sources/HeuristicLab.CEDMA.Server/3.3/HeuristicLab.CEDMA.Server-3.3.csproj	(revision 2824)
@@ -91,4 +91,11 @@
   </ItemGroup>
   <ItemGroup>
+    <Compile Include="EngineViewWrapper.cs">
+      <SubType>UserControl</SubType>
+    </Compile>
+    <Compile Include="IUserInterfaceItemProvider.cs" />
+    <Compile Include="MainForm.cs">
+      <SubType>Form</SubType>
+    </Compile>
     <Compile Include="ProblemSpecification.cs" />
     <Compile Include="LearningTask.cs" />
@@ -159,4 +166,12 @@
       <Project>{545CE756-98D8-423B-AC2E-6E7D70926E5C}</Project>
       <Name>HeuristicLab.Grid-3.2</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.Modeling.Database.SQLServerCompact\3.2\HeuristicLab.Modeling.Database.SQLServerCompact-3.2.csproj">
Index: /trunk/sources/HeuristicLab.CEDMA.Server/3.3/IUserInterfaceItemProvider.cs
===================================================================
--- /trunk/sources/HeuristicLab.CEDMA.Server/3.3/IUserInterfaceItemProvider.cs	(revision 2824)
+++ /trunk/sources/HeuristicLab.CEDMA.Server/3.3/IUserInterfaceItemProvider.cs	(revision 2824)
@@ -0,0 +1,29 @@
+#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 HeuristicLab.Core;
+using HeuristicLab.Modeling;
+
+namespace HeuristicLab.CEDMA.Server {
+  public interface IUserInterfaceItemProvider {
+
+  }
+}
Index: /trunk/sources/HeuristicLab.CEDMA.Server/3.3/MainForm.cs
===================================================================
--- /trunk/sources/HeuristicLab.CEDMA.Server/3.3/MainForm.cs	(revision 2824)
+++ /trunk/sources/HeuristicLab.CEDMA.Server/3.3/MainForm.cs	(revision 2824)
@@ -0,0 +1,46 @@
+﻿#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.Linq;
+using System.Text;
+using HeuristicLab.MainForm.WindowsForms;
+using HeuristicLab.PluginInfrastructure;
+using HeuristicLab.Core;
+
+namespace HeuristicLab.CEDMA.Server {
+  public class MainForm : DockingMainForm, IControlManager {
+    public MainForm(Type type) : base(type) { }
+
+    protected override void OnInitialized(EventArgs e) {
+      base.OnInitialized(e);
+      (new ServerView(new Server())).Show();
+    }
+
+    #region IControlManager Members
+
+    public void ShowControl(object control) {
+      (new ViewWrapper((IView)control)).Show();
+    }
+
+    #endregion
+  }
+}
Index: /trunk/sources/HeuristicLab.CEDMA.Server/3.3/Server.cs
===================================================================
--- /trunk/sources/HeuristicLab.CEDMA.Server/3.3/Server.cs	(revision 2823)
+++ /trunk/sources/HeuristicLab.CEDMA.Server/3.3/Server.cs	(revision 2824)
@@ -79,5 +79,5 @@
 
     public IView CreateView() {
-      return new ServerView(this);
+      return null;
     }
     #endregion
Index: /trunk/sources/HeuristicLab.CEDMA.Server/3.3/ServerApplication.cs
===================================================================
--- /trunk/sources/HeuristicLab.CEDMA.Server/3.3/ServerApplication.cs	(revision 2823)
+++ /trunk/sources/HeuristicLab.CEDMA.Server/3.3/ServerApplication.cs	(revision 2824)
@@ -30,11 +30,7 @@
   class ServerApplication : ApplicationBase {
     public override void Run() {
-      Server server = new Server();
-      Form mainForm = new Form();
-      mainForm.Size = new System.Drawing.Size(800, 600);
-      UserControl serverControl = (UserControl)server.CreateView();
-      serverControl.Dock = DockStyle.Fill;
-      mainForm.Controls.Add(serverControl);
-      mainForm.Text = "CEDMA";
+      MainForm mainForm = new MainForm(typeof(IUserInterfaceItemProvider));
+      mainForm.Title = "CEDMA Server Controller";
+      PluginInfrastructure.ControlManager.RegisterManager(mainForm);
       Application.Run(mainForm);
     }
Index: /trunk/sources/HeuristicLab.CEDMA.Server/3.3/ServerView.cs
===================================================================
--- /trunk/sources/HeuristicLab.CEDMA.Server/3.3/ServerView.cs	(revision 2823)
+++ /trunk/sources/HeuristicLab.CEDMA.Server/3.3/ServerView.cs	(revision 2824)
@@ -39,5 +39,5 @@
 
 namespace HeuristicLab.CEDMA.Server {
-  public partial class ServerView : ViewBase {
+  public partial class ServerView : HeuristicLab.MainForm.WindowsForms.View {
     private Server server;
 
@@ -46,4 +46,5 @@
       this.server = server;
       InitializeComponent();
+      Caption = "Cedma Server Controller";
     }
 
