Index: trunk/sources/HeuristicLab.ExtLibs/HeuristicLab.Netron/3.0.2672.12446/HeuristicLab.Netron-3.0.2672.12446/Controller.cs
===================================================================
--- trunk/sources/HeuristicLab.ExtLibs/HeuristicLab.Netron/3.0.2672.12446/HeuristicLab.Netron-3.0.2672.12446/Controller.cs	(revision 9180)
+++ trunk/sources/HeuristicLab.ExtLibs/HeuristicLab.Netron/3.0.2672.12446/HeuristicLab.Netron-3.0.2672.12446/Controller.cs	(revision 9181)
@@ -45,7 +45,5 @@
 
     public override bool ActivateTextEditor(ITextProvider textProvider) {
-      TextEditor.GetEditor(textProvider);
-      TextEditor.Show();
-      return true;
+      return false;
     }
 
Index: trunk/sources/HeuristicLab.ExtLibs/HeuristicLab.Netron/3.0.2672.12446/HeuristicLab.Netron-3.0.2672.12446/Ghosts.cs
===================================================================
--- trunk/sources/HeuristicLab.ExtLibs/HeuristicLab.Netron/3.0.2672.12446/HeuristicLab.Netron-3.0.2672.12446/Ghosts.cs	(revision 9180)
+++ trunk/sources/HeuristicLab.ExtLibs/HeuristicLab.Netron/3.0.2672.12446/HeuristicLab.Netron-3.0.2672.12446/Ghosts.cs	(revision 9181)
@@ -35,24 +35,10 @@
 namespace HeuristicLab.Netron {
   internal static class GhostsFactory {
-    private static RectGhost mRectangular;
-    private static LineGhost mLine;
-    private static EllipticGhost mEllipse;
-    private static MultiLineGhost mMultiLine;
-    private static CurvedLineGhost mCurvedLine;
-    private static PolygonGhost mPolygon;
-
-    private static IView mView;
-    public static IView View {
-      get { return mView; }
-      set { mView = value; }
-    }
-
     [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Performance", "CA1800:DoNotCastUnnecessarily")]
-    public static IGhost GetGhost(object pars, GhostTypes type) {
+    public static IGhost GetGhost(object pars, GhostTypes type, IView View) {
       Point[] points;
       switch (type) {
         case GhostTypes.Rectangle:
-          if (mRectangular == null)
-            mRectangular = new RectGhost(View);
+          var mRectangular = new RectGhost(View);
           points = (Point[])pars;
           mRectangular.Start = points[0];
@@ -60,6 +46,5 @@
           return mRectangular;
         case GhostTypes.Ellipse:
-          if (mEllipse == null)
-            mEllipse = new EllipticGhost(View);
+          var mEllipse = new EllipticGhost(View);
           points = (Point[])pars;
           mEllipse.Start = points[0];
@@ -67,6 +52,5 @@
           return mEllipse;
         case GhostTypes.Line:
-          if (mLine == null)
-            mLine = new LineGhost(View);
+          var mLine = new LineGhost(View);
           points = (Point[])pars;
           mLine.Start = points[0];
@@ -74,18 +58,15 @@
           return mLine;
         case GhostTypes.MultiLine:
-          if (mMultiLine == null)
-            mMultiLine = new MultiLineGhost(View);
+          var mMultiLine = new MultiLineGhost(View);
           points = (Point[])pars;
           mMultiLine.Points = points;
           return mMultiLine;
         case GhostTypes.CurvedLine:
-          if (mCurvedLine == null)
-            mCurvedLine = new CurvedLineGhost(View);
+          var mCurvedLine = new CurvedLineGhost(View);
           points = (Point[])pars;
           mCurvedLine.Points = points;
           return mCurvedLine;
         case GhostTypes.Polygon:
-          if (mPolygon == null)
-            mPolygon = new PolygonGhost(View);
+          var mPolygon = new PolygonGhost(View);
           points = (Point[])pars;
           mPolygon.Points = points;
Index: trunk/sources/HeuristicLab.ExtLibs/HeuristicLab.Netron/3.0.2672.12446/HeuristicLab.Netron-3.0.2672.12446/HeuristicLab.Netron-3.0.2672.12446.csproj
===================================================================
--- trunk/sources/HeuristicLab.ExtLibs/HeuristicLab.Netron/3.0.2672.12446/HeuristicLab.Netron-3.0.2672.12446/HeuristicLab.Netron-3.0.2672.12446.csproj	(revision 9180)
+++ trunk/sources/HeuristicLab.ExtLibs/HeuristicLab.Netron/3.0.2672.12446/HeuristicLab.Netron-3.0.2672.12446/HeuristicLab.Netron-3.0.2672.12446.csproj	(revision 9181)
@@ -122,5 +122,4 @@
     <Compile Include="Plugin.cs" />
     <Compile Include="Properties\AssemblyInfo.cs" />
-    <Compile Include="TextEditor.cs" />
     <Compile Include="View.cs" />
   </ItemGroup>
@@ -171,5 +170,5 @@
   -->
   <PropertyGroup>
-   <PreBuildEvent>
+    <PreBuildEvent>
     </PreBuildEvent>
   </PropertyGroup>
Index: trunk/sources/HeuristicLab.ExtLibs/HeuristicLab.Netron/3.0.2672.12446/HeuristicLab.Netron-3.0.2672.12446/NetronVisualization.cs
===================================================================
--- trunk/sources/HeuristicLab.ExtLibs/HeuristicLab.Netron/3.0.2672.12446/HeuristicLab.Netron-3.0.2672.12446/NetronVisualization.cs	(revision 9180)
+++ trunk/sources/HeuristicLab.ExtLibs/HeuristicLab.Netron/3.0.2672.12446/HeuristicLab.Netron-3.0.2672.12446/NetronVisualization.cs	(revision 9181)
@@ -49,5 +49,4 @@
         this.AttachToDocument(Document);
         this.Controller.View = View;
-        TextEditor.Init(this);
 
         View.OnCursorChange += new EventHandler<CursorEventArgs>(mView_OnCursorChange);
Index: trunk/sources/HeuristicLab.ExtLibs/HeuristicLab.Netron/3.0.2672.12446/HeuristicLab.Netron-3.0.2672.12446/TextEditor.cs
===================================================================
--- trunk/sources/HeuristicLab.ExtLibs/HeuristicLab.Netron/3.0.2672.12446/HeuristicLab.Netron-3.0.2672.12446/TextEditor.cs	(revision 9180)
+++ 	(revision )
@@ -1,140 +1,0 @@
-﻿#region License Information
-//This end-user license agreement applies to the following software;
-
-//The Netron Diagramming Library
-//Cobalt.IDE
-//Xeon webserver
-//Neon UI Library
-
-//Copyright (C) 2007, Francois M.Vanderseypen, The Netron Project & The Orbifold
-
-//This program 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 2
-//of the License, or (at your option) any later version.
-
-//This program 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 this program; if not, write to the Free Software
-//Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
-
-
-//http://www.fsf.org/licensing/licenses/gpl.html
-
-//http://www.fsf.org/licensing/licenses/gpl-faq.html
-#endregion
-
-using System;
-using System.Drawing;
-using System.Windows.Forms;
-using Netron.Diagramming.Core;
-
-namespace HeuristicLab.Netron {
-  public static class TextEditor {
-
-    private static TextEditorControl editor = null;
-    private static ITextProvider myTextProvider;
-    private static IDiagramControl diagramControl;
-
-    private static EventHandler<MouseEventArgs> onescape =
-           new EventHandler<MouseEventArgs>(Controller_OnMouseDown);
-
-    private static ITextProvider TextProvider {
-      get { return myTextProvider; }
-    }
-
-    private static TextEditorControl Editor {
-      get {
-        if (editor == null)
-          editor = new TextEditorControl();
-        return editor;
-      }
-    }
-
-    public static void Init(DiagramControlBase parent) {
-      diagramControl = parent;
-      parent.Controls.Add(Editor);
-      Editor.Visible = false;
-      Editor.BackColor = Color.White;
-    }
-
-    public static TextEditorControl GetEditor(ITextProvider textProvider) {
-      if (textProvider == null) {
-        throw new InconsistencyException(
-            "Cannot assign an editor to a 'null' text provider.");
-      }
-
-      // Adjust the editor's location and size by the current scroll 
-      // position and zoom factor.
-      Point location = Point.Round(diagramControl.View.WorldToView(
-          textProvider.TextArea.Location));
-
-      Size size = Size.Round(diagramControl.View.WorldToView(
-          textProvider.TextArea.Size));
-
-      myTextProvider = textProvider;
-      Editor.Location = location;
-      Editor.Width = size.Width;
-      Editor.Height = size.Height;
-      Editor.Font = textProvider.TextStyle.Font;
-      Editor.Visible = false;
-      return Editor;
-    }
-
-    public static void Show() {
-      if (myTextProvider == null)
-        return;
-      diagramControl.Controller.Model.Selection.Clear();
-      diagramControl.View.ResetTracker();
-      diagramControl.Controller.SuspendAllTools();
-      diagramControl.Controller.Enabled = false;
-      diagramControl.Controller.OnMouseDown += onescape;
-      Editor.Visible = true;
-      Editor.Text = myTextProvider.Text;
-
-      if (myTextProvider.TextStyle.HorizontalAlignment == StringAlignment.Center)
-        Editor.TextAlign = HorizontalAlignment.Center;
-      else if (myTextProvider.TextStyle.HorizontalAlignment == StringAlignment.Far)
-        Editor.TextAlign = HorizontalAlignment.Right;
-      else
-        Editor.TextAlign = HorizontalAlignment.Left;
-
-      Editor.SelectionLength = Editor.Text.Length;
-      Editor.ScrollToCaret();
-      Editor.Focus();
-    }
-
-    static void Controller_OnMouseDown(object sender, MouseEventArgs e) {
-      Hide();
-      diagramControl.Controller.OnMouseDown -= onescape;
-    }
-
-    public static void Hide() {
-      if (myTextProvider == null)
-        return;
-      diagramControl.Controller.Enabled = true;
-      diagramControl.Focus();
-      Editor.Visible = false;
-      myTextProvider.Text = Editor.Text;
-      diagramControl.Controller.UnsuspendAllTools();
-      myTextProvider = null;
-    }
-
-    public class TextEditorControl : TextBox {
-      public TextEditorControl()
-        : base() {
-        this.BorderStyle = BorderStyle.FixedSingle;
-        this.Multiline = true;
-        this.ScrollBars = ScrollBars.None;
-        this.WordWrap = true;
-        this.BackColor = Color.White;
-      }
-
-    }
-
-  }
-}
Index: trunk/sources/HeuristicLab.ExtLibs/HeuristicLab.Netron/3.0.2672.12446/HeuristicLab.Netron-3.0.2672.12446/View.cs
===================================================================
--- trunk/sources/HeuristicLab.ExtLibs/HeuristicLab.Netron/3.0.2672.12446/HeuristicLab.Netron-3.0.2672.12446/View.cs	(revision 9180)
+++ trunk/sources/HeuristicLab.ExtLibs/HeuristicLab.Netron/3.0.2672.12446/HeuristicLab.Netron-3.0.2672.12446/View.cs	(revision 9181)
@@ -42,5 +42,4 @@
       this.HorizontalRuler.Visible = true;
       this.VerticalRuler.Visible = true;
-      GhostsFactory.View = this;
     }
 
@@ -102,5 +101,5 @@
       Ghost = GhostsFactory.GetGhost(
           new Point[] { ltPoint, rbPoint },
-              GhostTypes.Ellipse);
+              GhostTypes.Ellipse, this);
     }
     public override void PaintGhostRectangle(
@@ -112,5 +111,5 @@
       Ghost = GhostsFactory.GetGhost(
           new Point[] { ltPoint, rbPoint },
-          GhostTypes.Rectangle);
+          GhostTypes.Rectangle, this);
     }
     public override void PaintAntsRectangle(
@@ -129,5 +128,5 @@
       Ghost = GhostsFactory.GetGhost(
           new Point[] { ltPoint, rbPoint },
-          GhostTypes.Line);
+          GhostTypes.Line, this);
     }
     public override void PaintGhostLine(
@@ -139,11 +138,11 @@
       switch (curveType) {
         case MultiPointType.Straight:
-          Ghost = GhostsFactory.GetGhost(points, GhostTypes.MultiLine);
+          Ghost = GhostsFactory.GetGhost(points, GhostTypes.MultiLine, this);
           break;
         case MultiPointType.Polygon:
-          Ghost = GhostsFactory.GetGhost(points, GhostTypes.Polygon);
+          Ghost = GhostsFactory.GetGhost(points, GhostTypes.Polygon, this);
           break;
         case MultiPointType.Curve:
-          Ghost = GhostsFactory.GetGhost(points, GhostTypes.CurvedLine);
+          Ghost = GhostsFactory.GetGhost(points, GhostTypes.CurvedLine, this);
           break;
 
