Index: /trunk/sources/HeuristicLab.MainForm.WindowsForms/3.2/ActionUserInterfaceItem.cs
===================================================================
--- /trunk/sources/HeuristicLab.MainForm.WindowsForms/3.2/ActionUserInterfaceItem.cs	(revision 2704)
+++ /trunk/sources/HeuristicLab.MainForm.WindowsForms/3.2/ActionUserInterfaceItem.cs	(revision 2704)
@@ -0,0 +1,43 @@
+﻿#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 System.Windows.Forms;
+
+namespace HeuristicLab.MainForm.WindowsForms {
+  public abstract class ActionUserInterfaceItem : HeuristicLab.MainForm.ActionUserInterfaceItem {
+    private ToolStripItem toolStripItem;
+    public virtual ToolStripItem ToolStripItem {
+      get { return this.toolStripItem; }
+      internal set { this.toolStripItem = value; }
+    }
+
+    public virtual ToolStripItemDisplayStyle ToolStripItemDisplayStyle {
+      get { return ToolStripItemDisplayStyle.Image; }
+    }
+
+    protected internal virtual void OnToolStripItemSet(EventArgs e) {
+    }
+  }
+}
Index: /trunk/sources/HeuristicLab.MainForm.WindowsForms/3.2/HeuristicLab.MainForm.WindowsForms-3.2.csproj
===================================================================
--- /trunk/sources/HeuristicLab.MainForm.WindowsForms/3.2/HeuristicLab.MainForm.WindowsForms-3.2.csproj	(revision 2703)
+++ /trunk/sources/HeuristicLab.MainForm.WindowsForms/3.2/HeuristicLab.MainForm.WindowsForms-3.2.csproj	(revision 2704)
@@ -82,4 +82,5 @@
   </ItemGroup>
   <ItemGroup>
+    <Compile Include="ActionUserInterfaceItem.cs" />
     <Compile Include="ContentView.cs">
       <SubType>UserControl</SubType>
Index: /trunk/sources/HeuristicLab.MainForm.WindowsForms/3.2/MainForm.cs
===================================================================
--- /trunk/sources/HeuristicLab.MainForm.WindowsForms/3.2/MainForm.cs	(revision 2703)
+++ /trunk/sources/HeuristicLab.MainForm.WindowsForms/3.2/MainForm.cs	(revision 2704)
@@ -192,6 +192,6 @@
     }
 
-    internal void ShowView(IView view,bool firstTimeShown) {
-      if (InvokeRequired) Invoke((Action<IView, bool>)ShowView, view,firstTimeShown);
+    internal void ShowView(IView view, bool firstTimeShown) {
+      if (InvokeRequired) Invoke((Action<IView, bool>)ShowView, view, firstTimeShown);
       else {
         if (firstTimeShown) {
@@ -347,4 +347,6 @@
       toolStripItem.Image = userInterfaceItem.Image;
       toolStripItem.Click += new EventHandler(ToolStripItemClicked);
+      if (userInterfaceItem is ActionUserInterfaceItem)
+        ((ActionUserInterfaceItem)userInterfaceItem).OnToolStripItemSet(new EventArgs());
       this.userInterfaceItems.Add(userInterfaceItem);
     }
Index: /trunk/sources/HeuristicLab.MainForm.WindowsForms/3.2/MenuItem.cs
===================================================================
--- /trunk/sources/HeuristicLab.MainForm.WindowsForms/3.2/MenuItem.cs	(revision 2703)
+++ /trunk/sources/HeuristicLab.MainForm.WindowsForms/3.2/MenuItem.cs	(revision 2704)
@@ -26,18 +26,8 @@
 
 namespace HeuristicLab.MainForm.WindowsForms {
-  public abstract class MenuItem : HeuristicLab.MainForm.MenuItem{
+  public abstract class MenuItem : ActionUserInterfaceItem,IMenuItem{
     public virtual Keys ShortCutKeys {
       get { return Keys.None; }
     }
-
-    private ToolStripItem toolStripItem;
-    public virtual ToolStripItem ToolStripItem {
-      get { return this.toolStripItem; }
-      internal set { this.toolStripItem = value; }
-    }
-
-    public virtual ToolStripItemDisplayStyle ToolStripItemDisplayStyle {
-      get { return ToolStripItemDisplayStyle.ImageAndText; }
-    }
   }
 }
Index: /trunk/sources/HeuristicLab.MainForm.WindowsForms/3.2/ToolBarItem.cs
===================================================================
--- /trunk/sources/HeuristicLab.MainForm.WindowsForms/3.2/ToolBarItem.cs	(revision 2703)
+++ /trunk/sources/HeuristicLab.MainForm.WindowsForms/3.2/ToolBarItem.cs	(revision 2704)
@@ -27,18 +27,8 @@
 
 namespace HeuristicLab.MainForm.WindowsForms {
-  public abstract class ToolBarItem : HeuristicLab.MainForm.ToolBarItem {
-    private ToolStripItem toolStripItem;
-    public virtual ToolStripItem ToolStripItem {
-      get { return this.toolStripItem; }
-      internal set { this.toolStripItem = value; }
-    }
-
+  public abstract class ToolBarItem : ActionUserInterfaceItem,IToolBarItem {
     public virtual bool IsDropDownButton {
       get { return false; }
     }
-
-    public virtual ToolStripItemDisplayStyle ToolStripItemDisplayStyle {
-      get { return ToolStripItemDisplayStyle.Image; }
-    }
   }
 }
Index: /trunk/sources/HeuristicLab.MainForm.WindowsForms/3.2/View.cs
===================================================================
--- /trunk/sources/HeuristicLab.MainForm.WindowsForms/3.2/View.cs	(revision 2703)
+++ /trunk/sources/HeuristicLab.MainForm.WindowsForms/3.2/View.cs	(revision 2704)
@@ -54,5 +54,5 @@
     }
 
-    public void Show() {
+    public new void Show() {
       MainForm mainform = MainFormManager.GetMainForm<MainForm>();
       bool firstTimeShown = mainform.GetForm(this) == null;
@@ -81,5 +81,5 @@
     }
 
-    public void Hide() {
+    public new void Hide() {
       MainFormManager.GetMainForm<MainForm>().HideView(this);
       this.OnHidden(new EventArgs());
Index: /trunk/sources/HeuristicLab.MainForm/3.2/HeuristicLab.MainForm-3.2.csproj
===================================================================
--- /trunk/sources/HeuristicLab.MainForm/3.2/HeuristicLab.MainForm-3.2.csproj	(revision 2703)
+++ /trunk/sources/HeuristicLab.MainForm/3.2/HeuristicLab.MainForm-3.2.csproj	(revision 2704)
@@ -93,7 +93,5 @@
     <Compile Include="Interfaces\IToolBarItem.cs" />
     <Compile Include="MainFormManager.cs" />
-    <Compile Include="MenuItem.cs" />
     <Compile Include="MenuSeparatorItem.cs" />
-    <Compile Include="ToolBarItem.cs" />
     <Compile Include="HeuristicLabMainFormPlugin.cs" />
     <Compile Include="Interfaces\IMainForm.cs" />
Index: unk/sources/HeuristicLab.MainForm/3.2/MenuItem.cs
===================================================================
--- /trunk/sources/HeuristicLab.MainForm/3.2/MenuItem.cs	(revision 2703)
+++ 	(revision )
@@ -1,30 +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.Linq;
-using System.Text;
-
-namespace HeuristicLab.MainForm {
-  public abstract class MenuItem : ActionUserInterfaceItem, IMenuItem{
-  }
-}
Index: unk/sources/HeuristicLab.MainForm/3.2/ToolBarItem.cs
===================================================================
--- /trunk/sources/HeuristicLab.MainForm/3.2/ToolBarItem.cs	(revision 2703)
+++ 	(revision )
@@ -1,30 +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.Linq;
-using System.Text;
-
-namespace HeuristicLab.MainForm {
-  public abstract class ToolBarItem : ActionUserInterfaceItem, IToolBarItem {
-  }
-}
