Index: /trunk/sources/HeuristicLab.Core.Views/3.3/ItemCollectionView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Core.Views/3.3/ItemCollectionView.cs	(revision 2707)
+++ /trunk/sources/HeuristicLab.Core.Views/3.3/ItemCollectionView.cs	(revision 2708)
@@ -156,5 +156,5 @@
         T item = (T)itemsListView.SelectedItems[0].Tag;
         IView view = MainFormManager.CreateDefaultView(item);
-        if (view != null) MainFormManager.MainForm.ShowView(view);
+        if (view != null) view.Show();
       }
     }
Index: /trunk/sources/HeuristicLab.Core.Views/3.3/ItemListView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Core.Views/3.3/ItemListView.cs	(revision 2707)
+++ /trunk/sources/HeuristicLab.Core.Views/3.3/ItemListView.cs	(revision 2708)
@@ -186,5 +186,5 @@
         T item = (T)itemsListView.SelectedItems[0].Tag;
         IView view = MainFormManager.CreateDefaultView(item);
-        if (view != null) MainFormManager.MainForm.ShowView(view);
+        if (view != null) view.Show();
       }
     }
Index: /trunk/sources/HeuristicLab.Core.Views/3.3/ObjectView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Core.Views/3.3/ObjectView.cs	(revision 2707)
+++ /trunk/sources/HeuristicLab.Core.Views/3.3/ObjectView.cs	(revision 2708)
@@ -35,5 +35,5 @@
   /// Base class for all visual representations.
   /// </summary>
-  public partial class ObjectView : ViewBase, IObjectView {
+  public partial class ObjectView : HeuristicLab.MainForm.WindowsForms.View, IObjectView {
     private object obj;
     /// <summary>
Index: /trunk/sources/HeuristicLab.Core.Views/3.3/OperatorTreeView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Core.Views/3.3/OperatorTreeView.cs	(revision 2707)
+++ /trunk/sources/HeuristicLab.Core.Views/3.3/OperatorTreeView.cs	(revision 2708)
@@ -366,5 +366,5 @@
     private void viewToolStripMenuItem_Click(object sender, EventArgs e) {
       IView view = ((ToolStripMenuItem)sender).Tag as IView;
-      if (view != null) MainFormManager.MainForm.ShowView(view);
+      if (view != null) view.Show();
     }
     private void breakpointToolStripMenuItem_Click(object sender, EventArgs e) {
Index: /trunk/sources/HeuristicLab.Core.Views/3.3/OperatorsSidebar.cs
===================================================================
--- /trunk/sources/HeuristicLab.Core.Views/3.3/OperatorsSidebar.cs	(revision 2707)
+++ /trunk/sources/HeuristicLab.Core.Views/3.3/OperatorsSidebar.cs	(revision 2708)
@@ -31,6 +31,6 @@
 using HeuristicLab.MainForm.WindowsForms;
 
-namespace HeuristicLab.Core.Views { 
-  public partial class OperatorsSidebar : ViewBase {
+namespace HeuristicLab.Core.Views {
+  public partial class OperatorsSidebar : HeuristicLab.MainForm.WindowsForms.View {
     public OperatorsSidebar() {
       InitializeComponent();
@@ -41,8 +41,8 @@
     }
 
-    public override void OnClosing(object sender, CancelEventArgs e) {
-      base.OnClosing(sender, e);
+    protected override void OnClosing(FormClosingEventArgs e) {
+      base.OnClosing(e);
       e.Cancel = true;
-      MainFormManager.MainForm.HideView(this);
+      this.Hide();
     }
   }
Index: /trunk/sources/HeuristicLab.Core.Views/3.3/ViewHost.cs
===================================================================
--- /trunk/sources/HeuristicLab.Core.Views/3.3/ViewHost.cs	(revision 2707)
+++ /trunk/sources/HeuristicLab.Core.Views/3.3/ViewHost.cs	(revision 2708)
@@ -98,5 +98,5 @@
 
     private void viewsLabel_DoubleClick(object sender, EventArgs e) {
-      MainFormManager.MainForm.ShowView(MainFormManager.CreateView(viewPanel.Tag.GetType(), Object));
+      MainFormManager.CreateView(viewPanel.Tag.GetType(), Object).Show();
     }
     protected void contextMenuStrip_ItemClicked(object sender, ToolStripItemClickedEventArgs e) {
Index: /trunk/sources/HeuristicLab.Optimizer/3.3/FileManager.cs
===================================================================
--- /trunk/sources/HeuristicLab.Optimizer/3.3/FileManager.cs	(revision 2707)
+++ /trunk/sources/HeuristicLab.Optimizer/3.3/FileManager.cs	(revision 2708)
@@ -60,5 +60,5 @@
             newDocumentsCounter++;
           }
-          MainFormManager.MainForm.ShowView(view);
+          view.Show();
         }
       }
@@ -197,5 +197,5 @@
                   view.Caption = Path.GetFileName(filename);
                   files.Add(view, new FileInfo(filename));
-                  MainFormManager.MainForm.ShowView(view);
+                  view.Show();
                 }
               });
Index: /trunk/sources/HeuristicLab.Optimizer/3.3/MenuItems/CloseAllMenuItem.cs
===================================================================
--- /trunk/sources/HeuristicLab.Optimizer/3.3/MenuItems/CloseAllMenuItem.cs	(revision 2707)
+++ /trunk/sources/HeuristicLab.Optimizer/3.3/MenuItems/CloseAllMenuItem.cs	(revision 2708)
@@ -10,5 +10,5 @@
 
 namespace HeuristicLab.Optimizer.MenuItems {
-  internal class CloseAllMenuItem : HeuristicLab.MainForm.WindowsForms.MenuItemBase, IOptimizerUserInterfaceItemProvider {
+  internal class CloseAllMenuItem : HeuristicLab.MainForm.WindowsForms.MenuItem, IOptimizerUserInterfaceItemProvider {
     public override string Name {
       get { return "Clos&e All"; }
@@ -20,9 +20,12 @@
       get { return 1700; }
     }
+    public override ToolStripItemDisplayStyle ToolStripItemDisplayStyle {
+      get { return ToolStripItemDisplayStyle.Text; }
+    }
 
-    public override void MainFormInitialized(object sender, EventArgs e) {
+    protected override void OnToolStripItemSet(EventArgs e) {
       ToolStripItem.Enabled = false;
     }
-    public override void ActiveViewChanged(object sender, EventArgs e) {
+    protected override void OnActiveViewChanged(object sender, EventArgs e) {
       ToolStripItem.Enabled = MainFormManager.MainForm.Views.FirstOrDefault() != null;
     }
Index: /trunk/sources/HeuristicLab.Optimizer/3.3/MenuItems/CloseMenuItem.cs
===================================================================
--- /trunk/sources/HeuristicLab.Optimizer/3.3/MenuItems/CloseMenuItem.cs	(revision 2707)
+++ /trunk/sources/HeuristicLab.Optimizer/3.3/MenuItems/CloseMenuItem.cs	(revision 2708)
@@ -10,5 +10,5 @@
 
 namespace HeuristicLab.Optimizer.MenuItems {
-  internal class CloseMenuItem : HeuristicLab.MainForm.WindowsForms.MenuItemBase, IOptimizerUserInterfaceItemProvider {
+  internal class CloseMenuItem : HeuristicLab.MainForm.WindowsForms.MenuItem, IOptimizerUserInterfaceItemProvider {
     public override string Name {
       get { return "&Close"; }
@@ -20,14 +20,17 @@
       get { return 1600; }
     }
+    public override ToolStripItemDisplayStyle ToolStripItemDisplayStyle {
+      get { return ToolStripItemDisplayStyle.Text; }
+    }
 
-    public override void MainFormInitialized(object sender, EventArgs e) {
+    protected override void OnToolStripItemSet(EventArgs e) {
       ToolStripItem.Enabled = false;
     }
-    public override void ActiveViewChanged(object sender, EventArgs e) {
+    protected override void OnActiveViewChanged(object sender, EventArgs e) {
       ToolStripItem.Enabled = MainFormManager.MainForm.Views.FirstOrDefault() != null;
     }
 
     public override void Execute() {
-      MainFormManager.MainForm.CloseView(MainFormManager.MainForm.ActiveView);
+      MainFormManager.MainForm.ActiveView.Close();
     }
   }
Index: /trunk/sources/HeuristicLab.Optimizer/3.3/MenuItems/ExitMenuItem.cs
===================================================================
--- /trunk/sources/HeuristicLab.Optimizer/3.3/MenuItems/ExitMenuItem.cs	(revision 2707)
+++ /trunk/sources/HeuristicLab.Optimizer/3.3/MenuItems/ExitMenuItem.cs	(revision 2708)
@@ -10,5 +10,5 @@
 
 namespace HeuristicLab.Optimizer.MenuItems {
-  internal class ExitMenuItem : HeuristicLab.MainForm.WindowsForms.MenuItemBase, IOptimizerUserInterfaceItemProvider {
+  internal class ExitMenuItem : HeuristicLab.MainForm.WindowsForms.MenuItem, IOptimizerUserInterfaceItemProvider {
     public override IEnumerable<string> Structure {
       get { return new string[] { "&File" }; }
@@ -19,4 +19,7 @@
     public override int Position {
       get { return 1999; }
+    }
+    public override ToolStripItemDisplayStyle ToolStripItemDisplayStyle {
+      get { return ToolStripItemDisplayStyle.Text; }
     }
     public override Keys ShortCutKeys {
Index: /trunk/sources/HeuristicLab.Optimizer/3.3/MenuItems/NewMenuItem.cs
===================================================================
--- /trunk/sources/HeuristicLab.Optimizer/3.3/MenuItems/NewMenuItem.cs	(revision 2707)
+++ /trunk/sources/HeuristicLab.Optimizer/3.3/MenuItems/NewMenuItem.cs	(revision 2708)
@@ -9,5 +9,5 @@
 
 namespace HeuristicLab.Optimizer.MenuItems {
-  internal class NewMenuItem : HeuristicLab.MainForm.WindowsForms.MenuItemBase, IOptimizerUserInterfaceItemProvider {
+  internal class NewMenuItem : HeuristicLab.MainForm.WindowsForms.MenuItem, IOptimizerUserInterfaceItemProvider {
     public override string Name {
       get { return "&New..."; }
Index: /trunk/sources/HeuristicLab.Optimizer/3.3/MenuItems/OpenMenuItem.cs
===================================================================
--- /trunk/sources/HeuristicLab.Optimizer/3.3/MenuItems/OpenMenuItem.cs	(revision 2707)
+++ /trunk/sources/HeuristicLab.Optimizer/3.3/MenuItems/OpenMenuItem.cs	(revision 2708)
@@ -9,5 +9,5 @@
 
 namespace HeuristicLab.Optimizer.MenuItems {
-  internal class OpenMenuItem : HeuristicLab.MainForm.WindowsForms.MenuItemBase, IOptimizerUserInterfaceItemProvider {
+  internal class OpenMenuItem : HeuristicLab.MainForm.WindowsForms.MenuItem, IOptimizerUserInterfaceItemProvider {
     public override string Name {
       get { return "&Open..."; }
Index: /trunk/sources/HeuristicLab.Optimizer/3.3/MenuItems/OperatorsMenuItem.cs
===================================================================
--- /trunk/sources/HeuristicLab.Optimizer/3.3/MenuItems/OperatorsMenuItem.cs	(revision 2707)
+++ /trunk/sources/HeuristicLab.Optimizer/3.3/MenuItems/OperatorsMenuItem.cs	(revision 2708)
@@ -12,5 +12,5 @@
 
 namespace HeuristicLab.Optimizer.MenuItems {
-  internal class OperatorsMenuItem : HeuristicLab.MainForm.WindowsForms.MenuItemBase, IOptimizerUserInterfaceItemProvider {
+  internal class OperatorsMenuItem : HeuristicLab.MainForm.WindowsForms.MenuItem, IOptimizerUserInterfaceItemProvider {
     private OperatorsSidebar view;
     private ToolStripMenuItem menuItem;
@@ -29,5 +29,5 @@
     }
 
-    public override void MainFormInitialized(object sender, EventArgs e) {
+    protected override void OnToolStripItemSet(EventArgs e) {
       view = new OperatorsSidebar();
       view.Dock = DockStyle.Left;
@@ -39,5 +39,5 @@
         menuItem.CheckOnClick = true;
       }
-      MainFormManager.MainForm.ShowView(view);
+      view.Show();
     }
 
@@ -50,9 +50,9 @@
       if (menuItem != null) {
         if (menuItem.Checked)
-          MainFormManager.MainForm.ShowView(view);
+          view.Show();
         else
-          MainFormManager.MainForm.HideView(view);
+          view.Hide();
       } else {
-        MainFormManager.MainForm.ShowView(view);
+        view.Show();
       }
     }
Index: /trunk/sources/HeuristicLab.Optimizer/3.3/MenuItems/SaveAllMenuItem.cs
===================================================================
--- /trunk/sources/HeuristicLab.Optimizer/3.3/MenuItems/SaveAllMenuItem.cs	(revision 2707)
+++ /trunk/sources/HeuristicLab.Optimizer/3.3/MenuItems/SaveAllMenuItem.cs	(revision 2708)
@@ -12,5 +12,5 @@
 
 namespace HeuristicLab.Optimizer.MenuItems {
-  internal class SaveAllMenuItem : HeuristicLab.MainForm.WindowsForms.MenuItemBase, IOptimizerUserInterfaceItemProvider {
+  internal class SaveAllMenuItem : HeuristicLab.MainForm.WindowsForms.MenuItem, IOptimizerUserInterfaceItemProvider {
     public override string Name {
       get { return "Save Al&l"; }
@@ -29,8 +29,8 @@
     }
 
-    public override void MainFormInitialized(object sender, EventArgs e) {
+    protected override void OnToolStripItemSet(EventArgs e) {
       ToolStripItem.Enabled = false;
     }
-    public override void ActiveViewChanged(object sender, EventArgs e) {
+    protected override void OnActiveViewChanged(object sender, EventArgs e) {
       var views = from v in MainFormManager.MainForm.Views
                   where v is IObjectView
Index: /trunk/sources/HeuristicLab.Optimizer/3.3/MenuItems/SaveAsMenuItem.cs
===================================================================
--- /trunk/sources/HeuristicLab.Optimizer/3.3/MenuItems/SaveAsMenuItem.cs	(revision 2707)
+++ /trunk/sources/HeuristicLab.Optimizer/3.3/MenuItems/SaveAsMenuItem.cs	(revision 2708)
@@ -12,5 +12,5 @@
 
 namespace HeuristicLab.Optimizer.MenuItems {
-  internal class SaveAsMenuItem : HeuristicLab.MainForm.WindowsForms.MenuItemBase, IOptimizerUserInterfaceItemProvider {
+  internal class SaveAsMenuItem : HeuristicLab.MainForm.WindowsForms.MenuItem, IOptimizerUserInterfaceItemProvider {
     public override string Name {
       get { return "Save &As..."; }
@@ -29,8 +29,8 @@
     }
 
-    public override void MainFormInitialized(object sender, EventArgs e) {
+    protected override void OnToolStripItemSet(EventArgs e) {
       ToolStripItem.Enabled = false;
     }
-    public override void ActiveViewChanged(object sender, EventArgs e) {
+    protected override void OnActiveViewChanged(object sender, EventArgs e) {
       IObjectView activeView = MainFormManager.MainForm.ActiveView as IObjectView;
       ToolStripItem.Enabled = ((activeView != null) && (CreatableAttribute.IsCreatable(activeView.Object.GetType())));
Index: /trunk/sources/HeuristicLab.Optimizer/3.3/MenuItems/SaveMenuItem.cs
===================================================================
--- /trunk/sources/HeuristicLab.Optimizer/3.3/MenuItems/SaveMenuItem.cs	(revision 2707)
+++ /trunk/sources/HeuristicLab.Optimizer/3.3/MenuItems/SaveMenuItem.cs	(revision 2708)
@@ -12,5 +12,5 @@
 
 namespace HeuristicLab.Optimizer.MenuItems {
-  internal class SaveMenuItem : HeuristicLab.MainForm.WindowsForms.MenuItemBase, IOptimizerUserInterfaceItemProvider {
+  internal class SaveMenuItem : HeuristicLab.MainForm.WindowsForms.MenuItem, IOptimizerUserInterfaceItemProvider {
     public override string Name {
       get { return "&Save"; }
@@ -32,8 +32,8 @@
     }
 
-    public override void MainFormInitialized(object sender, EventArgs e) {
+    protected override void OnToolStripItemSet(EventArgs e) {
       ToolStripItem.Enabled = false;
     }
-    public override void ActiveViewChanged(object sender, EventArgs e) {
+    protected override void OnActiveViewChanged(object sender, EventArgs e) {
       IObjectView activeView = MainFormManager.MainForm.ActiveView as IObjectView;
       ToolStripItem.Enabled = ((activeView != null) && (CreatableAttribute.IsCreatable(activeView.Object.GetType())));
Index: /trunk/sources/HeuristicLab.Optimizer/3.3/MenuItems/Separators.cs
===================================================================
--- /trunk/sources/HeuristicLab.Optimizer/3.3/MenuItems/Separators.cs	(revision 2707)
+++ /trunk/sources/HeuristicLab.Optimizer/3.3/MenuItems/Separators.cs	(revision 2708)
@@ -10,5 +10,5 @@
 
 namespace HeuristicLab.Optimizer.MenuItems {
-  internal class SeparatorMenuItem : MenuSeparatorItemBase, IOptimizerUserInterfaceItemProvider {
+  internal class SeparatorMenuItem : MenuSeparatorItem, IOptimizerUserInterfaceItemProvider {
     public override IEnumerable<string> Structure {
       get { return new string[] { "&File" }; }
Index: /trunk/sources/HeuristicLab.Optimizer/3.3/ToolBarItems/NewToolBarItem.cs
===================================================================
--- /trunk/sources/HeuristicLab.Optimizer/3.3/ToolBarItems/NewToolBarItem.cs	(revision 2707)
+++ /trunk/sources/HeuristicLab.Optimizer/3.3/ToolBarItems/NewToolBarItem.cs	(revision 2708)
@@ -10,5 +10,5 @@
 
 namespace HeuristicLab.Optimizer {
-  internal class NewToolBarItem : HeuristicLab.MainForm.WindowsForms.ToolBarItemBase, IOptimizerUserInterfaceItemProvider {
+  internal class NewToolBarItem : HeuristicLab.MainForm.WindowsForms.ToolBarItem, IOptimizerUserInterfaceItemProvider {
     public override string Name {
       get { return "New..."; }
Index: /trunk/sources/HeuristicLab.Optimizer/3.3/ToolBarItems/OpenToolBarItem.cs
===================================================================
--- /trunk/sources/HeuristicLab.Optimizer/3.3/ToolBarItems/OpenToolBarItem.cs	(revision 2707)
+++ /trunk/sources/HeuristicLab.Optimizer/3.3/ToolBarItems/OpenToolBarItem.cs	(revision 2708)
@@ -10,5 +10,5 @@
 
 namespace HeuristicLab.Optimizer {
-  internal class OpenToolBarItem : HeuristicLab.MainForm.WindowsForms.ToolBarItemBase, IOptimizerUserInterfaceItemProvider {
+  internal class OpenToolBarItem : HeuristicLab.MainForm.WindowsForms.ToolBarItem, IOptimizerUserInterfaceItemProvider {
     public override string Name {
       get { return "Open..."; }
Index: /trunk/sources/HeuristicLab.Optimizer/3.3/ToolBarItems/SaveAllToolBarItem.cs
===================================================================
--- /trunk/sources/HeuristicLab.Optimizer/3.3/ToolBarItems/SaveAllToolBarItem.cs	(revision 2707)
+++ /trunk/sources/HeuristicLab.Optimizer/3.3/ToolBarItems/SaveAllToolBarItem.cs	(revision 2708)
@@ -12,5 +12,5 @@
 
 namespace HeuristicLab.Optimizer {
-  internal class SaveAllToolBarItem : HeuristicLab.MainForm.WindowsForms.ToolBarItemBase, IOptimizerUserInterfaceItemProvider {
+  internal class SaveAllToolBarItem : HeuristicLab.MainForm.WindowsForms.ToolBarItem, IOptimizerUserInterfaceItemProvider {
     public override string Name {
       get { return "Save All"; }
@@ -26,8 +26,8 @@
     }
 
-    public override void MainFormInitialized(object sender, EventArgs e) {
+    protected override void OnToolStripItemSet(EventArgs e) {
       ToolStripItem.Enabled = false;
     }
-    public override void ActiveViewChanged(object sender, EventArgs e) {
+    protected override void OnActiveViewChanged(object sender, EventArgs e) {
       var views = from v in MainFormManager.MainForm.Views
                   where v is IObjectView
Index: /trunk/sources/HeuristicLab.Optimizer/3.3/ToolBarItems/SaveToolBarItem.cs
===================================================================
--- /trunk/sources/HeuristicLab.Optimizer/3.3/ToolBarItems/SaveToolBarItem.cs	(revision 2707)
+++ /trunk/sources/HeuristicLab.Optimizer/3.3/ToolBarItems/SaveToolBarItem.cs	(revision 2708)
@@ -12,5 +12,5 @@
 
 namespace HeuristicLab.Optimizer {
-  internal class SaveToolBarItem : HeuristicLab.MainForm.WindowsForms.ToolBarItemBase, IOptimizerUserInterfaceItemProvider {
+  internal class SaveToolBarItem : HeuristicLab.MainForm.WindowsForms.ToolBarItem, IOptimizerUserInterfaceItemProvider {
     public override string Name {
       get { return "Save"; }
@@ -26,8 +26,8 @@
     }
 
-    public override void MainFormInitialized(object sender, EventArgs e) {
+    protected override void OnToolStripItemSet(EventArgs e) {
       ToolStripItem.Enabled = false;
     }
-    public override void ActiveViewChanged(object sender, EventArgs e) {
+    protected override void OnActiveViewChanged(object sender, EventArgs e) {
       IObjectView activeView = MainFormManager.MainForm.ActiveView as IObjectView;
       ToolStripItem.Enabled = ((activeView != null) && (CreatableAttribute.IsCreatable(activeView.Object.GetType())));
