Index: /trunk/sources/HeuristicLab.Core.Views/3.3/ViewHost.Designer.cs
===================================================================
--- /trunk/sources/HeuristicLab.Core.Views/3.3/ViewHost.Designer.cs	(revision 2799)
+++ /trunk/sources/HeuristicLab.Core.Views/3.3/ViewHost.Designer.cs	(revision 2800)
@@ -109,9 +109,9 @@
     #endregion
 
-    protected System.Windows.Forms.Panel viewPanel;
-    protected System.Windows.Forms.Label viewsLabel;
-    protected System.Windows.Forms.Label messageLabel;
-    protected System.Windows.Forms.ContextMenuStrip contextMenuStrip;
-    protected System.Windows.Forms.ToolTip toolTip;
+    private System.Windows.Forms.Panel viewPanel;
+    private System.Windows.Forms.Label viewsLabel;
+    private System.Windows.Forms.Label messageLabel;
+    private System.Windows.Forms.ContextMenuStrip contextMenuStrip;
+    private System.Windows.Forms.ToolTip toolTip;
 
   }
Index: /trunk/sources/HeuristicLab.Core.Views/3.3/ViewHost.cs
===================================================================
--- /trunk/sources/HeuristicLab.Core.Views/3.3/ViewHost.cs	(revision 2799)
+++ /trunk/sources/HeuristicLab.Core.Views/3.3/ViewHost.cs	(revision 2800)
@@ -32,8 +32,22 @@
 
 namespace HeuristicLab.Core.Views {
-  public partial class ViewHost : UserControl {
+  public sealed partial class ViewHost : UserControl {
     private Dictionary<Type, ToolStripMenuItem> typeMenuItemTable;
+
     public IEnumerable<Type> AvailableViewTypes {
       get { return typeMenuItemTable.Keys; }
+    }
+
+    private Type viewType;
+    public Type ViewType {
+      get { return this.viewType; }
+      set {
+        if (!ViewCanShowContent(value, content))
+          throw new ArgumentException(string.Format("View \"{0}\" cannot display content \"{1}\".",
+                                                    value.GetPrettyName(),
+                                                    content.GetType().GetPrettyName()));
+        viewType = value;
+        UpdateView();
+      }
     }
 
@@ -49,17 +63,4 @@
     }
 
-    private Type viewType;
-    public Type ViewType {
-      get { return this.viewType; }
-      set {
-        if (!ViewTypeCanShowContent(value, content))
-          throw new ArgumentException(string.Format("View \"{0}\" cannot display content \"{1}\".",
-                                                    value.GetPrettyName(),
-                                                    content.GetType().GetPrettyName()));
-        viewType = value;
-        ShowView();
-      }
-    }
-
     public ViewHost() {
       typeMenuItemTable = new Dictionary<Type, ToolStripMenuItem>();
@@ -70,32 +71,5 @@
     }
 
-    private void ShowView() {
-      if (viewPanel.Controls.Count > 0) viewPanel.Controls[0].Dispose();
-      viewPanel.Controls.Clear();
-
-      if (viewType == null || content == null)
-        return;
-
-      if (!ViewTypeCanShowContent(viewType, content) || !typeMenuItemTable.ContainsKey(viewType))
-        throw new ArgumentException(string.Format("View \"{0}\" cannot display content \"{1}\".",
-                                                  viewType.GetPrettyName(),
-                                                  Content.GetType().GetPrettyName()));
-
-      foreach (ToolStripMenuItem item in typeMenuItemTable.Values) {
-        item.Checked = false;
-        item.Enabled = true;
-      }
-      typeMenuItemTable[viewType].Checked = true;
-      typeMenuItemTable[viewType].Enabled = false;
-
-      Control view = (Control)MainFormManager.CreateView(viewType, Content);
-      viewPanel.Controls.Add(view);
-      viewPanel.Tag = view;
-      view.Dock = DockStyle.Fill;
-      viewPanel.Enabled = true;
-      viewPanel.Visible = true;
-    }
-
-    protected virtual void Initialize() {
+    private void Initialize() {
       viewsLabel.Enabled = false;
       viewsLabel.Visible = false;
@@ -130,14 +104,41 @@
         }
 
-        if (!ViewTypeCanShowContent(viewType, Content)) {
+        if (!ViewCanShowContent(viewType, Content)) {
           viewType = MainFormManager.GetDefaultViewType(Content.GetType());
           if ((viewType == null) && (contextMenuStrip.Items.Count > 0))  // create first available view if default view is not available
             viewType = (Type)contextMenuStrip.Items[0].Tag;
         }
-        ShowView();
+        UpdateView();
       }
     }
 
-    private bool ViewTypeCanShowContent(Type viewType, object content) {
+    private void UpdateView() {
+      if (viewPanel.Controls.Count > 0) viewPanel.Controls[0].Dispose();
+      viewPanel.Controls.Clear();
+
+      if (viewType == null || content == null)
+        return;
+
+      if (!ViewCanShowContent(viewType, content) || !typeMenuItemTable.ContainsKey(viewType))
+        throw new ArgumentException(string.Format("View \"{0}\" cannot display content \"{1}\".",
+                                                  viewType.GetPrettyName(),
+                                                  Content.GetType().GetPrettyName()));
+
+      foreach (ToolStripMenuItem item in typeMenuItemTable.Values) {
+        item.Checked = false;
+        item.Enabled = true;
+      }
+      typeMenuItemTable[viewType].Checked = true;
+      typeMenuItemTable[viewType].Enabled = false;
+
+      Control view = (Control)MainFormManager.CreateView(viewType, Content);
+      viewPanel.Controls.Add(view);
+      viewPanel.Tag = view;
+      view.Dock = DockStyle.Fill;
+      viewPanel.Enabled = true;
+      viewPanel.Visible = true;
+    }
+
+    private bool ViewCanShowContent(Type viewType, object content) {
       if (content == null) // every view can display null
         return true;
@@ -150,8 +151,7 @@
       MainFormManager.CreateView(viewPanel.Tag.GetType(), Content).Show();
     }
-    protected void contextMenuStrip_ItemClicked(object sender, ToolStripItemClickedEventArgs e) {
+    private void contextMenuStrip_ItemClicked(object sender, ToolStripItemClickedEventArgs e) {
       Type viewType = (Type)e.ClickedItem.Tag;
       ViewType = viewType;
-      ShowView();
     }
   }
