Index: /trunk/sources/HeuristicLab.Core.Views/3.3/ItemArrayView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Core.Views/3.3/ItemArrayView.cs	(revision 2948)
+++ /trunk/sources/HeuristicLab.Core.Views/3.3/ItemArrayView.cs	(revision 2949)
@@ -162,4 +162,5 @@
         T item = itemsListView.SelectedItems[0].Tag as T;
         detailsGroupBox.Enabled = true;
+        viewHost.ViewType = null;
         viewHost.Content = item;
       } else {
Index: /trunk/sources/HeuristicLab.Core.Views/3.3/ItemCollectionView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Core.Views/3.3/ItemCollectionView.cs	(revision 2948)
+++ /trunk/sources/HeuristicLab.Core.Views/3.3/ItemCollectionView.cs	(revision 2949)
@@ -137,4 +137,5 @@
         T item = (T)itemsListView.SelectedItems[0].Tag;
         detailsGroupBox.Enabled = true;
+        viewHost.ViewType = null;
         viewHost.Content = item;
       } else {
Index: /trunk/sources/HeuristicLab.Core.Views/3.3/ItemListView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Core.Views/3.3/ItemListView.cs	(revision 2948)
+++ /trunk/sources/HeuristicLab.Core.Views/3.3/ItemListView.cs	(revision 2949)
@@ -164,4 +164,5 @@
         T item = (T)itemsListView.SelectedItems[0].Tag;
         detailsGroupBox.Enabled = true;
+        viewHost.ViewType = null;
         viewHost.Content = item;
       } else {
Index: /trunk/sources/HeuristicLab.Core.Views/3.3/OperatorGraphView.Designer.cs
===================================================================
--- /trunk/sources/HeuristicLab.Core.Views/3.3/OperatorGraphView.Designer.cs	(revision 2948)
+++ /trunk/sources/HeuristicLab.Core.Views/3.3/OperatorGraphView.Designer.cs	(revision 2949)
@@ -131,4 +131,5 @@
       this.operatorTreeView.Size = new System.Drawing.Size(590, 183);
       this.operatorTreeView.TabIndex = 0;
+      this.operatorTreeView.SelectedOperatorChanged += new System.EventHandler(this.operatorTreeView_SelectedOperatorChanged);
       // 
       // OperatorGraphView
Index: /trunk/sources/HeuristicLab.Core.Views/3.3/OperatorGraphView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Core.Views/3.3/OperatorGraphView.cs	(revision 2948)
+++ /trunk/sources/HeuristicLab.Core.Views/3.3/OperatorGraphView.cs	(revision 2949)
@@ -110,4 +110,11 @@
     }
 
+    #region Operator Tree View Events
+    protected virtual void operatorTreeView_SelectedOperatorChanged(object sender, EventArgs e) {
+      foreach (ListViewItem item in operatorsView.ItemsListView.Items)
+        item.Selected = item.Tag == operatorTreeView.SelectedOperator;
+    }
+    #endregion
+
     #region Context Menu Events
     protected virtual void operatorsView_Load(object sender, EventArgs e) {
Index: /trunk/sources/HeuristicLab.Core.Views/3.3/OperatorTreeView.Designer.cs
===================================================================
--- /trunk/sources/HeuristicLab.Core.Views/3.3/OperatorTreeView.Designer.cs	(revision 2948)
+++ /trunk/sources/HeuristicLab.Core.Views/3.3/OperatorTreeView.Designer.cs	(revision 2949)
@@ -80,4 +80,5 @@
       this.graphTreeView.BeforeExpand += new System.Windows.Forms.TreeViewCancelEventHandler(this.graphTreeView_BeforeExpand);
       this.graphTreeView.DragDrop += new System.Windows.Forms.DragEventHandler(this.graphTreeView_DragDrop);
+      this.graphTreeView.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.graphTreeView_AfterSelect);
       this.graphTreeView.MouseDown += new System.Windows.Forms.MouseEventHandler(this.graphTreeView_MouseDown);
       this.graphTreeView.DragEnter += new System.Windows.Forms.DragEventHandler(this.graphTreeView_DragEnterOver);
Index: /trunk/sources/HeuristicLab.Core.Views/3.3/OperatorTreeView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Core.Views/3.3/OperatorTreeView.cs	(revision 2948)
+++ /trunk/sources/HeuristicLab.Core.Views/3.3/OperatorTreeView.cs	(revision 2949)
@@ -49,4 +49,15 @@
     }
 
+    private IOperator selectedOperator;
+    public IOperator SelectedOperator {
+      get { return selectedOperator; }
+      private set {
+        if (value != selectedOperator) {
+          selectedOperator = value;
+          OnSelectedOperatorChanged();
+        }
+      }
+    }
+
     /// <summary>
     /// Initializes a new instance of <see cref="OperatorGraphView"/> with caption "Operator Graph".
@@ -90,4 +101,10 @@
     }
 
+    public event EventHandler SelectedOperatorChanged;
+    private void OnSelectedOperatorChanged() {
+      if (SelectedOperatorChanged != null)
+        SelectedOperatorChanged(this, EventArgs.Empty);
+    }
+
     #region TreeNode Management
     private TreeNode CreateTreeNode(IValueParameter<IOperator> opParam) {
@@ -299,4 +316,7 @@
         if (opParam != null) opParam.Value = null;
       }
+    }
+    private void graphTreeView_AfterSelect(object sender, TreeViewEventArgs e) {
+      SelectedOperator = graphTreeView.SelectedNode == null ? null : GetOperatorTag(graphTreeView.SelectedNode);
     }
     private void graphContextMenuStrip_Opening(object sender, CancelEventArgs e) {
Index: /trunk/sources/HeuristicLab.Core.Views/3.3/VariableView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Core.Views/3.3/VariableView.cs	(revision 2948)
+++ /trunk/sources/HeuristicLab.Core.Views/3.3/VariableView.cs	(revision 2949)
@@ -97,4 +97,5 @@
         clearValueButton.Enabled = Content.Value != null;
         valueGroupBox.Enabled = true;
+        viewHost.ViewType = null;
         viewHost.Content = Content.Value;
       }
@@ -108,4 +109,5 @@
         dataTypeTextBox.Enabled = Content.Value != null;
         clearValueButton.Enabled = Content.Value != null;
+        viewHost.ViewType = null;
         viewHost.Content = Content.Value;
       }
Index: /trunk/sources/HeuristicLab.Operators.Views.GraphVisualization/3.3/OperatorGraphView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Operators.Views.GraphVisualization/3.3/OperatorGraphView.cs	(revision 2948)
+++ /trunk/sources/HeuristicLab.Operators.Views.GraphVisualization/3.3/OperatorGraphView.cs	(revision 2949)
@@ -86,4 +86,5 @@
           IOperatorShapeInfo shapeInfo = shape.Tag as IOperatorShapeInfo;
           IOperator op = this.VisualizationInfo.GetOperatorForShapeInfo(shapeInfo);
+          this.detailsViewHost.ViewType = null;
           this.detailsViewHost.Content = op;
           return;
@@ -103,4 +104,5 @@
           if (connectorName != "Predecessor") {
             IParameter parameter = op.Parameters.Where(p => p.Name == connectorName).First();
+            this.detailsViewHost.ViewType = null;
             this.detailsViewHost.Content = parameter;
             return;
Index: /trunk/sources/HeuristicLab.Operators.Views/3.3/AlgorithmOperatorView.Designer.cs
===================================================================
--- /trunk/sources/HeuristicLab.Operators.Views/3.3/AlgorithmOperatorView.Designer.cs	(revision 2948)
+++ /trunk/sources/HeuristicLab.Operators.Views/3.3/AlgorithmOperatorView.Designer.cs	(revision 2949)
@@ -136,4 +136,5 @@
       this.breakpointCheckBox.UseVisualStyleBackColor = true;
       this.breakpointCheckBox.CheckedChanged += new System.EventHandler(this.breakpointCheckBox_CheckedChanged);
+      this.toolTip.SetToolTip(this.breakpointCheckBox, "Check if an engine should stop execution each time after this operator has been processed.");
       // 
       // breakpointLabel
Index: /trunk/sources/HeuristicLab.Operators.Views/3.3/AlgorithmOperatorView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Operators.Views/3.3/AlgorithmOperatorView.cs	(revision 2948)
+++ /trunk/sources/HeuristicLab.Operators.Views/3.3/AlgorithmOperatorView.cs	(revision 2949)
@@ -82,4 +82,5 @@
         breakpointCheckBox.Enabled = true;
         parameterCollectionView.Content = ((IOperator)Content).Parameters;
+        operatorGraphViewHost.ViewType = null;
         operatorGraphViewHost.Content = Content.OperatorGraph;
         tabControl.Enabled = true;
Index: /trunk/sources/HeuristicLab.Operators.Views/3.3/MultipleCallsOperatorView.Designer.cs
===================================================================
--- /trunk/sources/HeuristicLab.Operators.Views/3.3/MultipleCallsOperatorView.Designer.cs	(revision 2948)
+++ /trunk/sources/HeuristicLab.Operators.Views/3.3/MultipleCallsOperatorView.Designer.cs	(revision 2949)
@@ -136,4 +136,5 @@
       this.breakpointCheckBox.UseVisualStyleBackColor = true;
       this.breakpointCheckBox.CheckedChanged += new System.EventHandler(this.breakpointCheckBox_CheckedChanged);
+      this.toolTip.SetToolTip(this.breakpointCheckBox, "Check if an engine should stop execution each time after this operator has been processed.");
       // 
       // breakpointLabel
Index: /trunk/sources/HeuristicLab.Operators.Views/3.3/OperatorView.Designer.cs
===================================================================
--- /trunk/sources/HeuristicLab.Operators.Views/3.3/OperatorView.Designer.cs	(revision 2948)
+++ /trunk/sources/HeuristicLab.Operators.Views/3.3/OperatorView.Designer.cs	(revision 2949)
@@ -79,4 +79,5 @@
       this.breakpointCheckBox.UseVisualStyleBackColor = true;
       this.breakpointCheckBox.CheckedChanged += new System.EventHandler(this.breakpointCheckBox_CheckedChanged);
+      this.toolTip.SetToolTip(this.breakpointCheckBox, "Check if an engine should stop execution each time after this operator has been processed.");
       // 
       // OperatorView
Index: /trunk/sources/HeuristicLab.Operators.Views/3.3/ValuesCollectorView.Designer.cs
===================================================================
--- /trunk/sources/HeuristicLab.Operators.Views/3.3/ValuesCollectorView.Designer.cs	(revision 2948)
+++ /trunk/sources/HeuristicLab.Operators.Views/3.3/ValuesCollectorView.Designer.cs	(revision 2949)
@@ -136,4 +136,5 @@
       this.breakpointCheckBox.UseVisualStyleBackColor = true;
       this.breakpointCheckBox.CheckedChanged += new System.EventHandler(this.breakpointCheckBox_CheckedChanged);
+      this.toolTip.SetToolTip(this.breakpointCheckBox, "Check if an engine should stop execution each time after this operator has been processed.");
       // 
       // breakpointLabel
Index: /trunk/sources/HeuristicLab.Optimization.Views/3.3/AlgorithmView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Optimization.Views/3.3/AlgorithmView.cs	(revision 2948)
+++ /trunk/sources/HeuristicLab.Optimization.Views/3.3/AlgorithmView.cs	(revision 2949)
@@ -106,4 +106,5 @@
         parameterCollectionView.Content = Content.Parameters;
         saveProblemButton.Enabled = Content.Problem != null;
+        problemViewHost.ViewType = null;
         problemViewHost.Content = Content.Problem;
         resultsView.Content = Content.Results;
@@ -136,4 +137,5 @@
         Invoke(new EventHandler(Content_ProblemChanged), sender, e);
       else {
+        problemViewHost.ViewType = null;
         problemViewHost.Content = Content.Problem;
         saveProblemButton.Enabled = Content.Problem != null;
Index: /trunk/sources/HeuristicLab.Optimization.Views/3.3/EngineAlgorithmView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Optimization.Views/3.3/EngineAlgorithmView.cs	(revision 2948)
+++ /trunk/sources/HeuristicLab.Optimization.Views/3.3/EngineAlgorithmView.cs	(revision 2949)
@@ -97,4 +97,5 @@
           engineComboBox.SelectedIndex = engineTypes.IndexOf(Content.Engine.GetType());
         engineViewHost.Enabled = true;
+        engineViewHost.ViewType = null;
         engineViewHost.Content = Content.Engine;
       }
@@ -109,4 +110,5 @@
         else
           engineComboBox.SelectedIndex = engineTypes.IndexOf(Content.Engine.GetType());
+        engineViewHost.ViewType = null;
         engineViewHost.Content = Content.Engine;
       }
Index: /trunk/sources/HeuristicLab.Optimization.Views/3.3/UserDefinedAlgorithmView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Optimization.Views/3.3/UserDefinedAlgorithmView.cs	(revision 2948)
+++ /trunk/sources/HeuristicLab.Optimization.Views/3.3/UserDefinedAlgorithmView.cs	(revision 2949)
@@ -69,4 +69,5 @@
         globalScopeView.Content = null;
       } else {
+        operatorGraphViewHost.ViewType = null;
         operatorGraphViewHost.Content = Content.OperatorGraph;
         globalScopeView.Content = Content.GlobalScope;
@@ -77,6 +78,8 @@
       if (InvokeRequired)
         Invoke(new EventHandler(Content_OperatorGraphChanged), sender, e);
-      else
+      else {
+        operatorGraphViewHost.ViewType = null;
         operatorGraphViewHost.Content = Content.OperatorGraph;
+      }
     }
 
Index: /trunk/sources/HeuristicLab.Parameters.Views/3.3/ConstrainedValueParameterView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Parameters.Views/3.3/ConstrainedValueParameterView.cs	(revision 2948)
+++ /trunk/sources/HeuristicLab.Parameters.Views/3.3/ConstrainedValueParameterView.cs	(revision 2949)
@@ -100,4 +100,5 @@
         valueGroupBox.Enabled = true;
         FillValueComboBox();
+        viewHost.ViewType = null;
         viewHost.Content = Content.Value;
       }
@@ -129,4 +130,5 @@
       else {
         valueComboBox.SelectedIndex = valueComboBoxItems.IndexOf(Content.Value);
+        viewHost.ViewType = null;
         viewHost.Content = Content.Value;
       }
Index: /trunk/sources/HeuristicLab.Parameters.Views/3.3/ValueLookupParameterView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Parameters.Views/3.3/ValueLookupParameterView.cs	(revision 2948)
+++ /trunk/sources/HeuristicLab.Parameters.Views/3.3/ValueLookupParameterView.cs	(revision 2949)
@@ -100,4 +100,5 @@
         clearValueButton.Enabled = Content.Value != null;
         valueGroupBox.Enabled = true;
+        viewHost.ViewType = null;
         viewHost.Content = Content.Value;
       }
@@ -115,4 +116,5 @@
       else {
         clearValueButton.Enabled = Content.Value != null;
+        viewHost.ViewType = null;
         viewHost.Content = Content.Value;
       }
Index: /trunk/sources/HeuristicLab.Parameters.Views/3.3/ValueParameterView.cs
===================================================================
--- /trunk/sources/HeuristicLab.Parameters.Views/3.3/ValueParameterView.cs	(revision 2948)
+++ /trunk/sources/HeuristicLab.Parameters.Views/3.3/ValueParameterView.cs	(revision 2949)
@@ -97,4 +97,5 @@
         clearValueButton.Enabled = Content.Value != null;
         valueGroupBox.Enabled = true;
+        viewHost.ViewType = null;
         viewHost.Content = Content.Value;
       }
@@ -106,4 +107,5 @@
       else {
         clearValueButton.Enabled = Content.Value != null;
+        viewHost.ViewType = null;
         viewHost.Content = Content.Value;
       }
