Index: branches/GeneralizedQAP/HeuristicLab.MainForm.WindowsForms/3.3/HeuristicLab.MainForm.WindowsForms-3.3.csproj
===================================================================
--- branches/GeneralizedQAP/HeuristicLab.MainForm.WindowsForms/3.3/HeuristicLab.MainForm.WindowsForms-3.3.csproj	(revision 6646)
+++ branches/GeneralizedQAP/HeuristicLab.MainForm.WindowsForms/3.3/HeuristicLab.MainForm.WindowsForms-3.3.csproj	(revision 6878)
@@ -41,5 +41,5 @@
     <DebugType>full</DebugType>
     <Optimize>false</Optimize>
-    <OutputPath>bin\Debug\</OutputPath>
+    <OutputPath>$(SolutionDir)\bin\</OutputPath>
     <DefineConstants>DEBUG;TRACE</DefineConstants>
     <ErrorReport>prompt</ErrorReport>
@@ -50,14 +50,15 @@
     <DebugType>pdbonly</DebugType>
     <Optimize>true</Optimize>
-    <OutputPath>bin\Release\</OutputPath>
+    <OutputPath>$(SolutionDir)\bin\</OutputPath>
     <DefineConstants>TRACE</DefineConstants>
     <ErrorReport>prompt</ErrorReport>
     <WarningLevel>4</WarningLevel>
-    <DocumentationFile>bin\Release\HeuristicLab.MainForm.WindowsForms-3.3.xml</DocumentationFile>
+    <DocumentationFile>
+    </DocumentationFile>
     <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
     <DebugSymbols>true</DebugSymbols>
-    <OutputPath>bin\x64\Debug\</OutputPath>
+    <OutputPath>$(SolutionDir)\bin\</OutputPath>
     <DefineConstants>DEBUG;TRACE</DefineConstants>
     <DebugType>full</DebugType>
@@ -67,5 +68,5 @@
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
-    <OutputPath>bin\x64\Release\</OutputPath>
+    <OutputPath>$(SolutionDir)\bin\</OutputPath>
     <DefineConstants>TRACE</DefineConstants>
     <Optimize>true</Optimize>
@@ -73,10 +74,11 @@
     <PlatformTarget>x64</PlatformTarget>
     <ErrorReport>prompt</ErrorReport>
-    <DocumentationFile>bin\x64\Release\HeuristicLab.MainForm.WindowsForms-3.3.xml</DocumentationFile>
+    <DocumentationFile>
+    </DocumentationFile>
     <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
     <DebugSymbols>true</DebugSymbols>
-    <OutputPath>bin\x86\Debug\</OutputPath>
+    <OutputPath>$(SolutionDir)\bin\</OutputPath>
     <DefineConstants>DEBUG;TRACE</DefineConstants>
     <DebugType>full</DebugType>
@@ -86,5 +88,5 @@
   </PropertyGroup>
   <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
-    <OutputPath>bin\x86\Release\</OutputPath>
+    <OutputPath>$(SolutionDir)\bin\</OutputPath>
     <DefineConstants>TRACE</DefineConstants>
     <Optimize>true</Optimize>
@@ -92,5 +94,6 @@
     <PlatformTarget>x86</PlatformTarget>
     <ErrorReport>prompt</ErrorReport>
-    <DocumentationFile>bin\x86\Release\HeuristicLab.MainForm.WindowsForms-3.3.xml</DocumentationFile>
+    <DocumentationFile>
+    </DocumentationFile>
     <CodeAnalysisRuleSet>AllRules.ruleset</CodeAnalysisRuleSet>
   </PropertyGroup>
@@ -110,4 +113,7 @@
     <Reference Include="System.Data" />
     <Reference Include="System.Xml" />
+    <Reference Include="WeifenLuo.WinFormsUI.Docking-2.3.1, Version=2.3.1.0, Culture=neutral, PublicKeyToken=ba48961d6f65dcec, processorArchitecture=MSIL">
+      <HintPath>..\..\bin\WeifenLuo.WinFormsUI.Docking-2.3.1.dll</HintPath>
+    </Reference>
   </ItemGroup>
   <ItemGroup>
@@ -119,4 +125,5 @@
       <DependentUpon>DragOverTabControl.cs</DependentUpon>
     </Compile>
+    <Compile Include="Plugin.cs" />
     <Compile Include="Views\AsynchronousContentView.cs">
       <SubType>UserControl</SubType>
@@ -131,5 +138,5 @@
       <DependentUpon>ContentView.cs</DependentUpon>
     </Compile>
-    <None Include="HeuristicLabMainFormWindowsFormsPlugin.cs.frame" />
+    <None Include="Plugin.cs.frame" />
     <Compile Include="Controls\ControlExtensions.cs" />
     <Compile Include="MainForms\DockForm.cs">
@@ -157,5 +164,4 @@
       <DependentUpon>DocumentForm.cs</DependentUpon>
     </Compile>
-    <Compile Include="HeuristicLabMainFormWindowsFormsPlugin.cs" />
     <Compile Include="MainForms\MainForm.cs">
       <SubType>Form</SubType>
@@ -200,5 +206,5 @@
   <ItemGroup>
     <None Include="HeuristicLab.snk" />
-    <None Include="Properties\AssemblyInfo.frame" />
+    <None Include="Properties\AssemblyInfo.cs.frame" />
   </ItemGroup>
   <ItemGroup>
@@ -206,24 +212,20 @@
       <Project>{0E27A536-1C4A-4624-A65E-DC4F4F23E3E1}</Project>
       <Name>HeuristicLab.Common.Resources-3.3</Name>
+      <Private>False</Private>
     </ProjectReference>
     <ProjectReference Include="..\..\HeuristicLab.Common\3.3\HeuristicLab.Common-3.3.csproj">
       <Project>{A9AD58B9-3EF9-4CC1-97E5-8D909039FF5C}</Project>
       <Name>HeuristicLab.Common-3.3</Name>
-    </ProjectReference>
-    <ProjectReference Include="..\..\HeuristicLab.ExtLibs\HeuristicLab.WinFormsUI\2.3.1\HeuristicLab.WinFormsUI-2.3.1\HeuristicLab.WinFormsUI-2.3.1.csproj">
-      <Project>{678E2145-8152-4E19-9646-07D439D00301}</Project>
-      <Name>HeuristicLab.WinFormsUI-2.3.1 %28HeuristicLab.ExtLibs\HeuristicLab.WinFormsUI\HeuristicLab.WinFormsUI-2.3.1\HeuristicLab.WinFormsUI-2.3.1%29</Name>
-    </ProjectReference>
-    <ProjectReference Include="..\..\HeuristicLab.ExtLibs\HeuristicLab.WinFormsUI\2.3.1\WinFormsUI-2.3.1\WinFormsUI-2.3.1.csproj">
-      <Project>{1849A92E-DCFC-4E05-BB0A-D7B7A3DAFCFB}</Project>
-      <Name>WinFormsUI-2.3.1</Name>
+      <Private>False</Private>
     </ProjectReference>
     <ProjectReference Include="..\..\HeuristicLab.MainForm\3.3\HeuristicLab.MainForm-3.3.csproj">
       <Project>{3BD61258-31DA-4B09-89C0-4F71FEF5F05A}</Project>
       <Name>HeuristicLab.MainForm-3.3</Name>
+      <Private>False</Private>
     </ProjectReference>
     <ProjectReference Include="..\..\HeuristicLab.PluginInfrastructure\3.3\HeuristicLab.PluginInfrastructure-3.3.csproj">
       <Project>{94186A6A-5176-4402-AE83-886557B53CCA}</Project>
       <Name>HeuristicLab.PluginInfrastructure-3.3</Name>
+      <Private>False</Private>
     </ProjectReference>
   </ItemGroup>
@@ -260,5 +262,5 @@
 
 call PreBuildEvent.cmd
-SubWCRev "%25ProjectDir%25\" "%25ProjectDir%25\HeuristicLabMainFormWindowsFormsPlugin.cs.frame" "%25ProjectDir%25\HeuristicLabMainFormWindowsFormsPlugin.cs"</PreBuildEvent>
+</PreBuildEvent>
   </PropertyGroup>
 </Project>
Index: branches/GeneralizedQAP/HeuristicLab.MainForm.WindowsForms/3.3/HeuristicLabMainFormWindowsFormsPlugin.cs.frame
===================================================================
--- branches/GeneralizedQAP/HeuristicLab.MainForm.WindowsForms/3.3/HeuristicLabMainFormWindowsFormsPlugin.cs.frame	(revision 6646)
+++ 	(revision )
@@ -1,36 +1,0 @@
-#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2011 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.MainForm.WindowsForms {
-  [Plugin("HeuristicLab.MainForm.WindowsForms", "3.3.5.$WCREV$")]
-  [PluginFile("HeuristicLab.MainForm.WindowsForms-3.3.dll", PluginFileType.Assembly)]
-  [PluginDependency("HeuristicLab.Common", "3.3")]
-  [PluginDependency("HeuristicLab.Common.Resources", "3.3")]
-  [PluginDependency("HeuristicLab.MainForm", "3.3")]
-  [PluginDependency("HeuristicLab.WinFormsUI", "2.3.1")]
-  public class HeuristicLabMainFormPlugin : PluginBase {
-  }
-}
Index: branches/GeneralizedQAP/HeuristicLab.MainForm.WindowsForms/3.3/MainForms/MainForm.cs
===================================================================
--- branches/GeneralizedQAP/HeuristicLab.MainForm.WindowsForms/3.3/MainForms/MainForm.cs	(revision 6646)
+++ branches/GeneralizedQAP/HeuristicLab.MainForm.WindowsForms/3.3/MainForms/MainForm.cs	(revision 6878)
@@ -31,4 +31,6 @@
   public partial class MainForm : Form, IMainForm {
     private bool initialized;
+    private int appStartingCursors;
+    private int waitingCursors;
 
     protected MainForm()
@@ -39,4 +41,6 @@
       this.initialized = false;
       this.showContentInViewHost = false;
+      appStartingCursors = 0;
+      waitingCursors = 0;
     }
 
@@ -447,4 +451,44 @@
     }
     #endregion
+
+    #region Cursor Handling
+    public void SetAppStartingCursor() {
+      if (InvokeRequired)
+        Invoke(new Action(SetAppStartingCursor));
+      else {
+        appStartingCursors++;
+        SetCursor();
+      }
+    }
+    public void ResetAppStartingCursor() {
+      if (InvokeRequired)
+        Invoke(new Action(ResetAppStartingCursor));
+      else {
+        appStartingCursors--;
+        SetCursor();
+      }
+    }
+    public void SetWaitCursor() {
+      if (InvokeRequired)
+        Invoke(new Action(SetWaitCursor));
+      else {
+        waitingCursors++;
+        SetCursor();
+      }
+    }
+    public void ResetWaitCursor() {
+      if (InvokeRequired)
+        Invoke(new Action(ResetWaitCursor));
+      else {
+        waitingCursors--;
+        SetCursor();
+      }
+    }
+    private void SetCursor() {
+      if (waitingCursors > 0) Cursor = Cursors.WaitCursor;
+      else if (appStartingCursors > 0) Cursor = Cursors.AppStarting;
+      else Cursor = Cursors.Default;
+    }
+    #endregion
   }
 }
Index: branches/GeneralizedQAP/HeuristicLab.MainForm.WindowsForms/3.3/Plugin.cs.frame
===================================================================
--- branches/GeneralizedQAP/HeuristicLab.MainForm.WindowsForms/3.3/Plugin.cs.frame	(revision 6878)
+++ branches/GeneralizedQAP/HeuristicLab.MainForm.WindowsForms/3.3/Plugin.cs.frame	(revision 6878)
@@ -0,0 +1,36 @@
+#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2011 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.MainForm.WindowsForms {
+  [Plugin("HeuristicLab.MainForm.WindowsForms", "3.3.5.$WCREV$")]
+  [PluginFile("HeuristicLab.MainForm.WindowsForms-3.3.dll", PluginFileType.Assembly)]
+  [PluginDependency("HeuristicLab.Common", "3.3")]
+  [PluginDependency("HeuristicLab.Common.Resources", "3.3")]
+  [PluginDependency("HeuristicLab.MainForm", "3.3")]
+  [PluginDependency("HeuristicLab.WinFormsUI", "2.3.1")]
+  public class HeuristicLabMainFormPlugin : PluginBase {
+  }
+}
Index: branches/GeneralizedQAP/HeuristicLab.MainForm.WindowsForms/3.3/Properties/AssemblyInfo.cs.frame
===================================================================
--- branches/GeneralizedQAP/HeuristicLab.MainForm.WindowsForms/3.3/Properties/AssemblyInfo.cs.frame	(revision 6878)
+++ branches/GeneralizedQAP/HeuristicLab.MainForm.WindowsForms/3.3/Properties/AssemblyInfo.cs.frame	(revision 6878)
@@ -0,0 +1,56 @@
+#region License Information
+/* HeuristicLab
+ * Copyright (C) 2002-2011 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;
+
+// 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.MainForm.WindowsForms")]
+[assembly: AssemblyDescription("Windows Forms specific classes for HeuristicLab Mainform")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("HeuristicLab")]
+[assembly: AssemblyCopyright("(c) 2002-2011 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("f9718239-4d37-4410-84d7-9c3468b01cbf")]
+
+// 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.0")]
+[assembly: AssemblyFileVersion("3.3.5.$WCREV$")]
Index: branches/GeneralizedQAP/HeuristicLab.MainForm.WindowsForms/3.3/Properties/AssemblyInfo.frame
===================================================================
--- branches/GeneralizedQAP/HeuristicLab.MainForm.WindowsForms/3.3/Properties/AssemblyInfo.frame	(revision 6646)
+++ 	(revision )
@@ -1,56 +1,0 @@
-#region License Information
-/* HeuristicLab
- * Copyright (C) 2002-2011 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;
-
-// 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.MainForm.WindowsForms")]
-[assembly: AssemblyDescription("Windows Forms specific classes for HeuristicLab Mainform")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("HeuristicLab")]
-[assembly: AssemblyCopyright("(c) 2002-2011 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("f9718239-4d37-4410-84d7-9c3468b01cbf")]
-
-// 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.0")]
-[assembly: AssemblyFileVersion("3.3.5.$WCREV$")]
