From 71f657894fd47de86c62da518aeb97e192bbf16f Mon Sep 17 00:00:00 2001
From: Florian Hoelzl <hoelzl@fortiss.org>
Date: Wed, 19 Oct 2011 14:36:09 +0000
Subject: [PATCH] rework of layout data utils refs 214

---
 .../trunk/META-INF/MANIFEST.MF                |   5 +-
 .../ChangeBoundsRequestCommandBase.java       |   2 +-
 .../ui/command/CreateBendpointCommand.java    |   2 +-
 .../ui/command/DeleteBendpointCommand.java    |   2 +-
 .../base/ui/command/MoveBendpointCommand.java |   2 +-
 .../base/ui/command/MoveConnectorCommand.java |   4 +-
 .../ui/command/MoveWithinDiagramCommand.java  |   2 +-
 .../editor/gef/GraphicalViewerEditorBase.java |   8 +-
 .../ui/editpart/ConnectorEditPartBase.java    |   4 +-
 .../base/ui/editpart/DiagramEditPartBase.java |   2 +-
 .../base/ui/editpart/ElementEditPartBase.java |  16 ++-
 .../LayoutedConnectionEditPartBase.java       |   4 +-
 .../editpart/StickyConnectorEditPartBase.java |   4 +-
 .../policy/ConnectionBendpointEditPolicy.java |   2 +-
 .../ConstrainedNonResizableEditPolicy.java    |  10 +-
 .../policy/DiagramLayoutEditPolicy.java       |   2 +-
 .../policy/ElementLayoutEditPolicy.java       |   2 +-
 .../policy/FreeResizableEditPolicy.java       |   2 +-
 .../util => utils}/EllipseLayoutUtils.java    |  11 +-
 .../util => utils}/LayoutDataUtils.java       | 102 +++++++++---------
 .../util => utils}/RectangleLayoutUtils.java  |   9 +-
 .../util => utils}/SnapToGridUtils.java       |   6 +-
 .../ui/{layout/util => utils}/ZoomUtils.java  |   2 +-
 .../trunk/META-INF/MANIFEST.MF                |   4 +-
 .../base/layout}/DefaultLayoutConstants.java  |  30 +++---
 .../base/layout}/LayoutKeyConstants.java      |   2 +-
 .../tooling/base/utils/AngleUtils.java        |  17 +--
 .../tooling/base/utils/DimensionUtils.java    |  18 +---
 .../base/utils/LayoutModelElementFactory.java |  89 +++++++++++++++
 .../base/utils/OffsetOrientationUtils.java    |  21 +---
 .../tooling/base/utils/PointUtils.java        |  28 ++---
 .../tooling/base/utils/PointsUtils.java       |  24 ++---
 32 files changed, 243 insertions(+), 195 deletions(-)
 rename org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/{layout/util => utils}/EllipseLayoutUtils.java (94%)
 rename org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/{layout/util => utils}/LayoutDataUtils.java (76%)
 rename org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/{layout/util => utils}/RectangleLayoutUtils.java (96%)
 rename org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/{layout/util => utils}/SnapToGridUtils.java (93%)
 rename org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/{layout/util => utils}/ZoomUtils.java (98%)
 rename {org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/layout/constants => org.fortiss.tooling.base/trunk/src/org/fortiss/tooling/base/layout}/DefaultLayoutConstants.java (73%)
 rename {org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/layout/constants => org.fortiss.tooling.base/trunk/src/org/fortiss/tooling/base/layout}/LayoutKeyConstants.java (97%)
 rename org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/layout/util/AngleUtil.java => org.fortiss.tooling.base/trunk/src/org/fortiss/tooling/base/utils/AngleUtils.java (82%)
 rename org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/layout/util/DimensionUtil.java => org.fortiss.tooling.base/trunk/src/org/fortiss/tooling/base/utils/DimensionUtils.java (82%)
 create mode 100644 org.fortiss.tooling.base/trunk/src/org/fortiss/tooling/base/utils/LayoutModelElementFactory.java
 rename org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/layout/util/OffsetOrientationUtil.java => org.fortiss.tooling.base/trunk/src/org/fortiss/tooling/base/utils/OffsetOrientationUtils.java (79%)
 rename org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/layout/util/PointUtil.java => org.fortiss.tooling.base/trunk/src/org/fortiss/tooling/base/utils/PointUtils.java (79%)
 rename org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/layout/util/PointsUtil.java => org.fortiss.tooling.base/trunk/src/org/fortiss/tooling/base/utils/PointsUtils.java (78%)

diff --git a/org.fortiss.tooling.base.ui/trunk/META-INF/MANIFEST.MF b/org.fortiss.tooling.base.ui/trunk/META-INF/MANIFEST.MF
index 5b7e4c600..cae25eee5 100644
--- a/org.fortiss.tooling.base.ui/trunk/META-INF/MANIFEST.MF
+++ b/org.fortiss.tooling.base.ui/trunk/META-INF/MANIFEST.MF
@@ -21,6 +21,5 @@ Export-Package: org.fortiss.tooling.base.ui,
  org.fortiss.tooling.base.ui.editpart.figure,
  org.fortiss.tooling.base.ui.editpart.policy,
  org.fortiss.tooling.base.ui.layout,
- org.fortiss.tooling.base.ui.layout.constants,
- org.fortiss.tooling.base.ui.layout.util,
- org.fortiss.tooling.base.ui.preferences
+ org.fortiss.tooling.base.ui.preferences,
+ org.fortiss.tooling.base.ui.utils
diff --git a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/command/ChangeBoundsRequestCommandBase.java b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/command/ChangeBoundsRequestCommandBase.java
index fb1356a90..430f78147 100644
--- a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/command/ChangeBoundsRequestCommandBase.java
+++ b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/command/ChangeBoundsRequestCommandBase.java
@@ -25,7 +25,7 @@ import org.eclipse.gef.requests.ChangeBoundsRequest;
 import org.fortiss.tooling.base.model.layout.ILayoutedModelElement;
 import org.fortiss.tooling.base.ui.editpart.ConnectorEditPartBase;
 import org.fortiss.tooling.base.ui.editpart.LayoutedConnectionEditPartBase;
-import org.fortiss.tooling.base.ui.layout.util.LayoutDataUtils;
+import org.fortiss.tooling.base.ui.utils.LayoutDataUtils;
 
 /**
  * A {@link Command} storing a {@link ChangeBoundsRequest}.
diff --git a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/command/CreateBendpointCommand.java b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/command/CreateBendpointCommand.java
index e8477e22c..cb38d613c 100644
--- a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/command/CreateBendpointCommand.java
+++ b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/command/CreateBendpointCommand.java
@@ -20,7 +20,7 @@ package org.fortiss.tooling.base.ui.command;
 import org.eclipse.draw2d.geometry.Point;
 import org.fortiss.tooling.base.model.layout.ILayoutedModelElement;
 import org.fortiss.tooling.base.ui.layout.IPointLayouter;
-import org.fortiss.tooling.base.ui.layout.util.LayoutDataUtils;
+import org.fortiss.tooling.base.ui.utils.LayoutDataUtils;
 
 /**
  * Command that handles the creation of bend points.
diff --git a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/command/DeleteBendpointCommand.java b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/command/DeleteBendpointCommand.java
index 4811868d0..088b7965e 100644
--- a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/command/DeleteBendpointCommand.java
+++ b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/command/DeleteBendpointCommand.java
@@ -18,7 +18,7 @@ $Id$
 package org.fortiss.tooling.base.ui.command;
 
 import org.fortiss.tooling.base.model.layout.ILayoutedModelElement;
-import org.fortiss.tooling.base.ui.layout.util.LayoutDataUtils;
+import org.fortiss.tooling.base.ui.utils.LayoutDataUtils;
 
 /**
  * Command that handles the deletion of bend points.
diff --git a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/command/MoveBendpointCommand.java b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/command/MoveBendpointCommand.java
index eb41664b1..033737718 100644
--- a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/command/MoveBendpointCommand.java
+++ b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/command/MoveBendpointCommand.java
@@ -20,7 +20,7 @@ package org.fortiss.tooling.base.ui.command;
 import org.eclipse.draw2d.geometry.Point;
 import org.fortiss.tooling.base.model.layout.ILayoutedModelElement;
 import org.fortiss.tooling.base.ui.layout.IPointLayouter;
-import org.fortiss.tooling.base.ui.layout.util.LayoutDataUtils;
+import org.fortiss.tooling.base.ui.utils.LayoutDataUtils;
 
 /**
  * Command that handles move operations on bend points.
diff --git a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/command/MoveConnectorCommand.java b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/command/MoveConnectorCommand.java
index 83248cda7..ad5d152d7 100644
--- a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/command/MoveConnectorCommand.java
+++ b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/command/MoveConnectorCommand.java
@@ -21,12 +21,12 @@ import java.util.List;
 
 import org.eclipse.gef.EditPart;
 import org.eclipse.gef.requests.ChangeBoundsRequest;
+import org.fortiss.tooling.base.layout.LayoutKeyConstants;
 import org.fortiss.tooling.base.model.layout.ILayoutedModelElement;
 import org.fortiss.tooling.base.model.layout.OffsetOrientation;
 import org.fortiss.tooling.base.ui.editpart.FreeConnectorEditPartBase;
 import org.fortiss.tooling.base.ui.editpart.StickyConnectorEditPartBase;
-import org.fortiss.tooling.base.ui.layout.constants.LayoutKeyConstants;
-import org.fortiss.tooling.base.ui.layout.util.LayoutDataUtils;
+import org.fortiss.tooling.base.ui.utils.LayoutDataUtils;
 
 /**
  * A command to move connectors. The operation is performed differently for
diff --git a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/command/MoveWithinDiagramCommand.java b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/command/MoveWithinDiagramCommand.java
index 4b6db4b25..f2ee639f5 100644
--- a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/command/MoveWithinDiagramCommand.java
+++ b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/command/MoveWithinDiagramCommand.java
@@ -21,9 +21,9 @@ import java.util.List;
 
 import org.eclipse.gef.EditPart;
 import org.eclipse.gef.requests.ChangeBoundsRequest;
+import org.fortiss.tooling.base.layout.DefaultLayoutConstants;
 import org.fortiss.tooling.base.model.layout.ILayoutedModelElement;
 import org.fortiss.tooling.base.ui.editpart.ElementEditPartBase;
-import org.fortiss.tooling.base.ui.layout.constants.DefaultLayoutConstants;
 
 /**
  * A command to move the elements within a diagram.
diff --git a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editor/gef/GraphicalViewerEditorBase.java b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editor/gef/GraphicalViewerEditorBase.java
index 09d080b73..214ba12d6 100644
--- a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editor/gef/GraphicalViewerEditorBase.java
+++ b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editor/gef/GraphicalViewerEditorBase.java
@@ -23,6 +23,7 @@ import java.util.List;
 
 import org.conqat.ide.commons.gef.editpart.EditPartUtils;
 import org.eclipse.draw2d.geometry.Dimension;
+import org.eclipse.draw2d.geometry.Point;
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.gef.EditDomain;
 import org.eclipse.gef.EditPart;
@@ -66,6 +67,7 @@ import org.eclipse.ui.IEditorSite;
 import org.eclipse.ui.ISelectionListener;
 import org.eclipse.ui.IWorkbenchPart;
 import org.eclipse.ui.PartInitException;
+import org.fortiss.tooling.base.layout.DefaultLayoutConstants;
 import org.fortiss.tooling.base.ui.ToolingBaseUIActivator;
 import org.fortiss.tooling.base.ui.action.CopyModelElementsAction;
 import org.fortiss.tooling.base.ui.action.CutModelElementsAction;
@@ -74,7 +76,6 @@ import org.fortiss.tooling.base.ui.action.PasteModelElementAction;
 import org.fortiss.tooling.base.ui.dnd.DropTargetListener;
 import org.fortiss.tooling.base.ui.editpart.ExtendedLayerRootEditPart;
 import org.fortiss.tooling.base.ui.editpart.figure.EVisualStyle;
-import org.fortiss.tooling.base.ui.layout.constants.DefaultLayoutConstants;
 import org.fortiss.tooling.kernel.ui.extension.data.ContextMenuContextProvider;
 import org.fortiss.tooling.kernel.ui.service.IContextMenuService;
 import org.fortiss.tooling.kernel.ui.service.IEditPartFactoryService;
@@ -175,8 +176,9 @@ public class GraphicalViewerEditorBase<T extends EObject> extends EditorBase<T>
 
 		viewer.getControl().setBackground(parent.getBackground());
 		viewer.setProperty(SnapToGeometry.PROPERTY_SNAP_ENABLED, true);
-		viewer.setProperty(SnapToGrid.PROPERTY_GRID_ORIGIN,
-				DefaultLayoutConstants.DEFAULT_GRID_ORIGIN);
+		viewer.setProperty(SnapToGrid.PROPERTY_GRID_ORIGIN, new Point(
+				DefaultLayoutConstants.DEFAULT_GRID_ORIGIN_X,
+				DefaultLayoutConstants.DEFAULT_GRID_ORIGIN_Y));
 
 		Dimension gridSpacing = new Dimension(
 				DefaultLayoutConstants.DEFAULT_GRID_SIZE,
diff --git a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editpart/ConnectorEditPartBase.java b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editpart/ConnectorEditPartBase.java
index 0647dd188..9bcfbdd8a 100644
--- a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editpart/ConnectorEditPartBase.java
+++ b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editpart/ConnectorEditPartBase.java
@@ -34,6 +34,7 @@ import org.eclipse.draw2d.geometry.Rectangle;
 import org.eclipse.gef.ConnectionEditPart;
 import org.eclipse.gef.EditPolicy;
 import org.eclipse.swt.graphics.Color;
+import org.fortiss.tooling.base.layout.DefaultLayoutConstants;
 import org.fortiss.tooling.base.model.element.IConnection;
 import org.fortiss.tooling.base.model.element.IConnector;
 import org.fortiss.tooling.base.model.element.IHierarchicElement;
@@ -43,8 +44,7 @@ import org.fortiss.tooling.base.ui.editpart.figure.AntiAliasedEllipse;
 import org.fortiss.tooling.base.ui.editpart.figure.TransparentLabel;
 import org.fortiss.tooling.base.ui.editpart.policy.ConnectionGraphicalNodeEditPolicy;
 import org.fortiss.tooling.base.ui.editpart.policy.RemoveEditPolicy;
-import org.fortiss.tooling.base.ui.layout.constants.DefaultLayoutConstants;
-import org.fortiss.tooling.base.ui.layout.util.LayoutDataUtils;
+import org.fortiss.tooling.base.ui.utils.LayoutDataUtils;
 import org.fortiss.tooling.kernel.model.INamedCommentedElement;
 
 /**
diff --git a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editpart/DiagramEditPartBase.java b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editpart/DiagramEditPartBase.java
index 9319a5000..d45b30df8 100644
--- a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editpart/DiagramEditPartBase.java
+++ b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editpart/DiagramEditPartBase.java
@@ -46,7 +46,7 @@ import org.eclipse.gef.tools.MarqueeDragTracker;
 import org.eclipse.swt.SWT;
 import org.fortiss.tooling.base.ui.editpart.policy.ConnectionGraphicalNodeEditPolicy;
 import org.fortiss.tooling.base.ui.editpart.policy.DiagramLayoutEditPolicy;
-import org.fortiss.tooling.base.ui.layout.util.SnapToGridUtils;
+import org.fortiss.tooling.base.ui.utils.SnapToGridUtils;
 
 /**
  * The base class for graphical diagrams.
diff --git a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editpart/ElementEditPartBase.java b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editpart/ElementEditPartBase.java
index 9f8ed8c56..667329f88 100644
--- a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editpart/ElementEditPartBase.java
+++ b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editpart/ElementEditPartBase.java
@@ -19,6 +19,7 @@ package org.fortiss.tooling.base.ui.editpart;
 
 import java.util.List;
 
+import org.conqat.ide.commons.ui.swt.FontUtils;
 import org.conqat.lib.commons.string.StringUtils;
 import org.eclipse.draw2d.ChopboxAnchor;
 import org.eclipse.draw2d.ConnectionAnchor;
@@ -30,14 +31,17 @@ import org.eclipse.gef.EditPolicy;
 import org.eclipse.gef.Request;
 import org.eclipse.gef.RequestConstants;
 import org.eclipse.gef.SnapToHelper;
+import org.eclipse.jface.resource.JFaceResources;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.graphics.Font;
+import org.fortiss.tooling.base.layout.DefaultLayoutConstants;
 import org.fortiss.tooling.base.model.layout.ILayoutedModelElement;
 import org.fortiss.tooling.base.ui.editpart.figure.TransparentLabel;
 import org.fortiss.tooling.base.ui.editpart.policy.ConnectionGraphicalNodeEditPolicy;
 import org.fortiss.tooling.base.ui.editpart.policy.ElementLayoutEditPolicy;
 import org.fortiss.tooling.base.ui.editpart.policy.RemoveEditPolicy;
-import org.fortiss.tooling.base.ui.layout.constants.DefaultLayoutConstants;
-import org.fortiss.tooling.base.ui.layout.util.LayoutDataUtils;
-import org.fortiss.tooling.base.ui.layout.util.SnapToGridUtils;
+import org.fortiss.tooling.base.ui.utils.LayoutDataUtils;
+import org.fortiss.tooling.base.ui.utils.SnapToGridUtils;
 import org.fortiss.tooling.kernel.model.INamedCommentedElement;
 import org.fortiss.tooling.kernel.ui.service.IModelEditorBindingService;
 import org.fortiss.tooling.kernel.ui.service.IModelElementHandlerService;
@@ -58,6 +62,10 @@ import org.fortiss.tooling.kernel.ui.service.IModelElementHandlerService;
 public abstract class ElementEditPartBase<T extends ILayoutedModelElement & INamedCommentedElement>
 		extends PositionedEditPartBase<T> {
 
+	/** The default font for titles. */
+	public static Font DEFAULT_TITLE_FONT = FontUtils.derive(
+			JFaceResources.getDefaultFont(), 0, SWT.BOLD);
+
 	/** Constructor. */
 	protected ElementEditPartBase(T modelObject) {
 		super(modelObject);
@@ -68,7 +76,7 @@ public abstract class ElementEditPartBase<T extends ILayoutedModelElement & INam
 	public Label createLabelFigure() {
 		Label nameLabel = new TransparentLabel();
 		nameLabel.setForegroundColor(getForegroundColor());
-		nameLabel.setFont(DefaultLayoutConstants.TITLE_FONT);
+		nameLabel.setFont(DEFAULT_TITLE_FONT);
 		nameLabel.setTextAlignment(PositionConstants.LEFT
 				| PositionConstants.TOP);
 		nameLabel.setTextPlacement(PositionConstants.EAST);
diff --git a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editpart/LayoutedConnectionEditPartBase.java b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editpart/LayoutedConnectionEditPartBase.java
index bb2640703..72f6a78c2 100644
--- a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editpart/LayoutedConnectionEditPartBase.java
+++ b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editpart/LayoutedConnectionEditPartBase.java
@@ -32,13 +32,13 @@ import org.eclipse.emf.common.notify.Notification;
 import org.eclipse.emf.ecore.util.EContentAdapter;
 import org.eclipse.gef.EditPolicy;
 import org.eclipse.gef.editpolicies.ConnectionEndpointEditPolicy;
+import org.fortiss.tooling.base.layout.DefaultLayoutConstants;
 import org.fortiss.tooling.base.model.base.ConnectionSegmentBase;
 import org.fortiss.tooling.base.model.layout.LayoutPackage;
 import org.fortiss.tooling.base.model.layout.Point;
 import org.fortiss.tooling.base.model.layout.Points;
 import org.fortiss.tooling.base.ui.editpart.policy.RemoveEditPolicy;
-import org.fortiss.tooling.base.ui.layout.constants.DefaultLayoutConstants;
-import org.fortiss.tooling.base.ui.layout.util.LayoutDataUtils;
+import org.fortiss.tooling.base.ui.utils.LayoutDataUtils;
 
 /**
  * The base class for all layouted connection edit parts. This makes sure the
diff --git a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editpart/StickyConnectorEditPartBase.java b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editpart/StickyConnectorEditPartBase.java
index da9a3d732..dea757f0e 100644
--- a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editpart/StickyConnectorEditPartBase.java
+++ b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editpart/StickyConnectorEditPartBase.java
@@ -18,11 +18,11 @@ $Id$
 package org.fortiss.tooling.base.ui.editpart;
 
 import org.eclipse.draw2d.geometry.Rectangle;
+import org.fortiss.tooling.base.layout.DefaultLayoutConstants;
 import org.fortiss.tooling.base.model.base.EntryConnectorBase;
 import org.fortiss.tooling.base.model.element.IConnector;
 import org.fortiss.tooling.base.model.layout.ILayoutedModelElement;
-import org.fortiss.tooling.base.ui.layout.constants.DefaultLayoutConstants;
-import org.fortiss.tooling.base.ui.layout.util.RectangleLayoutUtils;
+import org.fortiss.tooling.base.ui.utils.RectangleLayoutUtils;
 import org.fortiss.tooling.kernel.model.INamedCommentedElement;
 
 /**
diff --git a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editpart/policy/ConnectionBendpointEditPolicy.java b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editpart/policy/ConnectionBendpointEditPolicy.java
index 134c17e30..fcb4466d4 100644
--- a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editpart/policy/ConnectionBendpointEditPolicy.java
+++ b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editpart/policy/ConnectionBendpointEditPolicy.java
@@ -28,7 +28,7 @@ import org.fortiss.tooling.base.ui.command.DeleteBendpointCommand;
 import org.fortiss.tooling.base.ui.command.MoveBendpointCommand;
 import org.fortiss.tooling.base.ui.editpart.ConnectionEditPartBase;
 import org.fortiss.tooling.base.ui.layout.IPointLayouter;
-import org.fortiss.tooling.base.ui.layout.util.SnapToGridUtils;
+import org.fortiss.tooling.base.ui.utils.SnapToGridUtils;
 
 /**
  * An edit policy for bend points of connections.
diff --git a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editpart/policy/ConstrainedNonResizableEditPolicy.java b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editpart/policy/ConstrainedNonResizableEditPolicy.java
index b629a45d1..115982f01 100644
--- a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editpart/policy/ConstrainedNonResizableEditPolicy.java
+++ b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editpart/policy/ConstrainedNonResizableEditPolicy.java
@@ -24,15 +24,15 @@ import org.eclipse.gef.Request;
 import org.eclipse.gef.editparts.ScalableRootEditPart;
 import org.eclipse.gef.editpolicies.NonResizableEditPolicy;
 import org.eclipse.gef.requests.ChangeBoundsRequest;
+import org.fortiss.tooling.base.layout.DefaultLayoutConstants;
+import org.fortiss.tooling.base.layout.LayoutKeyConstants;
 import org.fortiss.tooling.base.model.layout.Dimension;
 import org.fortiss.tooling.base.model.layout.ILayoutedModelElement;
 import org.fortiss.tooling.base.model.layout.OffsetOrientation;
 import org.fortiss.tooling.base.ui.editpart.ElementEditPartBase;
-import org.fortiss.tooling.base.ui.layout.constants.DefaultLayoutConstants;
-import org.fortiss.tooling.base.ui.layout.constants.LayoutKeyConstants;
-import org.fortiss.tooling.base.ui.layout.util.LayoutDataUtils;
-import org.fortiss.tooling.base.ui.layout.util.RectangleLayoutUtils;
-import org.fortiss.tooling.base.ui.layout.util.SnapToGridUtils;
+import org.fortiss.tooling.base.ui.utils.LayoutDataUtils;
+import org.fortiss.tooling.base.ui.utils.RectangleLayoutUtils;
+import org.fortiss.tooling.base.ui.utils.SnapToGridUtils;
 import org.fortiss.tooling.kernel.model.INamedCommentedElement;
 
 /**
diff --git a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editpart/policy/DiagramLayoutEditPolicy.java b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editpart/policy/DiagramLayoutEditPolicy.java
index c57a3987c..f7a0d382d 100644
--- a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editpart/policy/DiagramLayoutEditPolicy.java
+++ b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editpart/policy/DiagramLayoutEditPolicy.java
@@ -26,7 +26,7 @@ import org.eclipse.gef.editpolicies.NonResizableEditPolicy;
 import org.eclipse.gef.requests.ChangeBoundsRequest;
 import org.fortiss.tooling.base.ui.command.MoveWithinDiagramCommand;
 import org.fortiss.tooling.base.ui.editpart.ElementEditPartBase;
-import org.fortiss.tooling.base.ui.layout.util.ZoomUtils;
+import org.fortiss.tooling.base.ui.utils.ZoomUtils;
 
 /**
  * The layout policy for diagrams.
diff --git a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editpart/policy/ElementLayoutEditPolicy.java b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editpart/policy/ElementLayoutEditPolicy.java
index f9d135046..69a9a40ad 100644
--- a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editpart/policy/ElementLayoutEditPolicy.java
+++ b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editpart/policy/ElementLayoutEditPolicy.java
@@ -27,7 +27,7 @@ import org.fortiss.tooling.base.model.layout.ILayoutedModelElement;
 import org.fortiss.tooling.base.ui.command.MoveConnectorCommand;
 import org.fortiss.tooling.base.ui.editpart.ElementEditPartBase;
 import org.fortiss.tooling.base.ui.editpart.StickyConnectorEditPartBase;
-import org.fortiss.tooling.base.ui.layout.util.ZoomUtils;
+import org.fortiss.tooling.base.ui.utils.ZoomUtils;
 import org.fortiss.tooling.kernel.model.INamedCommentedElement;
 
 /**
diff --git a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editpart/policy/FreeResizableEditPolicy.java b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editpart/policy/FreeResizableEditPolicy.java
index 62e3f9a60..91e2e30bf 100644
--- a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editpart/policy/FreeResizableEditPolicy.java
+++ b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/editpart/policy/FreeResizableEditPolicy.java
@@ -22,7 +22,7 @@ import org.eclipse.draw2d.geometry.Dimension;
 import org.eclipse.gef.Request;
 import org.eclipse.gef.editpolicies.ResizableEditPolicy;
 import org.eclipse.gef.requests.ChangeBoundsRequest;
-import org.fortiss.tooling.base.ui.layout.util.RectangleLayoutUtils;
+import org.fortiss.tooling.base.ui.utils.RectangleLayoutUtils;
 
 /**
  * EditPolicy for child resizing without a fixed aspect ratio.
diff --git a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/layout/util/EllipseLayoutUtils.java b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/utils/EllipseLayoutUtils.java
similarity index 94%
rename from org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/layout/util/EllipseLayoutUtils.java
rename to org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/utils/EllipseLayoutUtils.java
index 421808929..c23124cdf 100644
--- a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/layout/util/EllipseLayoutUtils.java
+++ b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/utils/EllipseLayoutUtils.java
@@ -15,13 +15,13 @@ $Id$
 | See the License for the specific language governing permissions and      |
 | limitations under the License.                                           |
 +--------------------------------------------------------------------------*/
-package org.fortiss.tooling.base.ui.layout.util;
+package org.fortiss.tooling.base.ui.utils;
 
 import org.eclipse.draw2d.PositionConstants;
 import org.eclipse.draw2d.geometry.Dimension;
 import org.eclipse.draw2d.geometry.Point;
+import org.fortiss.tooling.base.layout.DefaultLayoutConstants;
 import org.fortiss.tooling.base.model.layout.ILayoutedModelElement;
-import org.fortiss.tooling.base.ui.layout.constants.DefaultLayoutConstants;
 
 /**
  * Utility methods for ellipse-shaped edit part layout.
@@ -29,7 +29,7 @@ import org.fortiss.tooling.base.ui.layout.constants.DefaultLayoutConstants;
  * @author hoelzl
  * @author $Author$
  * @version $Rev$
- * @ConQAT.Rating RED Hash: 29FAC994522C13BC65F8538F36B6CFDA
+ * @ConQAT.Rating YELLOW Hash: 80B631B5B2032BFAD1D1161DC0549957
  */
 public final class EllipseLayoutUtils {
 	/**
@@ -154,8 +154,9 @@ public final class EllipseLayoutUtils {
 
 		/** Returns a cartesian representation. */
 		public Point toCartesian() {
-			return new Point(distance * Math.cos(angle), distance
-					* Math.sin(angle));
+			int x = (int) (distance * Math.cos(angle));
+			int y = (int) (distance * Math.sin(angle));
+			return new Point(x, y);
 		}
 	}
 }
diff --git a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/layout/util/LayoutDataUtils.java b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/utils/LayoutDataUtils.java
similarity index 76%
rename from org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/layout/util/LayoutDataUtils.java
rename to org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/utils/LayoutDataUtils.java
index 962a9f24d..c7a7d0504 100644
--- a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/layout/util/LayoutDataUtils.java
+++ b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/utils/LayoutDataUtils.java
@@ -15,22 +15,27 @@ $Id$
 | See the License for the specific language governing permissions and      |
 | limitations under the License.                                           |
 +--------------------------------------------------------------------------*/
-package org.fortiss.tooling.base.ui.layout.util;
+package org.fortiss.tooling.base.ui.utils;
 
 import org.eclipse.draw2d.geometry.Rectangle;
 import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.fortiss.tooling.base.layout.DefaultLayoutConstants;
+import org.fortiss.tooling.base.layout.LayoutKeyConstants;
 import org.fortiss.tooling.base.model.layout.Angle;
 import org.fortiss.tooling.base.model.layout.Dimension;
 import org.fortiss.tooling.base.model.layout.EOrientation;
 import org.fortiss.tooling.base.model.layout.ILayoutData;
 import org.fortiss.tooling.base.model.layout.ILayoutedModelElement;
-import org.fortiss.tooling.base.model.layout.LayoutFactory;
 import org.fortiss.tooling.base.model.layout.Offset;
 import org.fortiss.tooling.base.model.layout.OffsetOrientation;
 import org.fortiss.tooling.base.model.layout.Point;
 import org.fortiss.tooling.base.model.layout.Points;
-import org.fortiss.tooling.base.ui.layout.constants.DefaultLayoutConstants;
-import org.fortiss.tooling.base.ui.layout.constants.LayoutKeyConstants;
+import org.fortiss.tooling.base.utils.AngleUtils;
+import org.fortiss.tooling.base.utils.DimensionUtils;
+import org.fortiss.tooling.base.utils.LayoutModelElementFactory;
+import org.fortiss.tooling.base.utils.OffsetOrientationUtils;
+import org.fortiss.tooling.base.utils.PointUtils;
+import org.fortiss.tooling.base.utils.PointsUtils;
 
 /**
  * Utility methods for {@link ILayoutedModelElement} and {@link ILayoutData}.
@@ -68,14 +73,14 @@ public class LayoutDataUtils {
 
 	/** Returns the position of the given layouted node. */
 	public static Point getNodePosition(ILayoutedModelElement layouted) {
-		return PointUtil
-				.getPosition(layouted, LayoutKeyConstants.NODE_POSITION);
+		return PointUtils.getPosition(layouted,
+				LayoutKeyConstants.NODE_POSITION);
 	}
 
 	/** Sets the layouted node's position. */
 	public static void setNodePosition(ILayoutedModelElement layouted, int x,
 			int y) {
-		PointUtil.setPoint(layouted, LayoutKeyConstants.NODE_POSITION, x, y);
+		PointUtils.setPoint(layouted, LayoutKeyConstants.NODE_POSITION, x, y);
 	}
 
 	/**
@@ -83,14 +88,14 @@ public class LayoutDataUtils {
 	 * the given element a new dimension with the default size is returned.
 	 */
 	public static Dimension getNodeSize(ILayoutedModelElement layouted) {
-		Dimension size = DimensionUtil.getDimension(layouted,
+		Dimension size = DimensionUtils.getDimension(layouted,
 				LayoutKeyConstants.NODE_DIMENSION);
 
 		if (size == null) {
-			Dimension result = DimensionUtil.createDimension(
+			Dimension result = LayoutModelElementFactory.createDimension(
 					DefaultLayoutConstants.DEFAULT_SHAPE_MINIMUM_WIDTH,
-					DefaultLayoutConstants.DEFAULT_SHAPE_MINIMUM_HEIGHT);
-			result.setKey(LayoutKeyConstants.NODE_DIMENSION);
+					DefaultLayoutConstants.DEFAULT_SHAPE_MINIMUM_HEIGHT,
+					LayoutKeyConstants.NODE_DIMENSION);
 			return result;
 		}
 		return EcoreUtil.copy(size);
@@ -98,8 +103,8 @@ public class LayoutDataUtils {
 
 	/** Sets the layouted node's size. */
 	public static void setNodeSize(ILayoutedModelElement layouted, int w, int h) {
-		DimensionUtil.setDimension(layouted, LayoutKeyConstants.NODE_DIMENSION,
-				w, h);
+		DimensionUtils.setDimension(layouted,
+				LayoutKeyConstants.NODE_DIMENSION, w, h);
 	}
 
 	/** Moves the given node. */
@@ -139,25 +144,26 @@ public class LayoutDataUtils {
 
 	/** Returns the layouted connector's position. */
 	public static Point getConnectorPosition(ILayoutedModelElement layouted) {
-		return PointUtil.getPosition(layouted,
+		return PointUtils.getPosition(layouted,
 				LayoutKeyConstants.CONNECTOR_POSITION);
 	}
 
 	/** Sets the layouted connector's position. */
 	public static void setConnectorPosition(ILayoutedModelElement layouted,
 			int x, int y) {
-		PointUtil.setPoint(layouted, LayoutKeyConstants.CONNECTOR_POSITION, x,
+		PointUtils.setPoint(layouted, LayoutKeyConstants.CONNECTOR_POSITION, x,
 				y);
 	}
 
 	/** Returns the layouted connector's orientation. */
 	public static OffsetOrientation getConnectorOffsetOrientation(
 			ILayoutedModelElement layouted) {
-		OffsetOrientation oo = OffsetOrientationUtil.getOffsetOrientation(
+		OffsetOrientation oo = OffsetOrientationUtils.getOffsetOrientation(
 				layouted, LayoutKeyConstants.CONNECTOR_OFFSET_ORIENTATION);
 		if (oo == null) {
-			return OffsetOrientationUtil.createOffsetOrientation(0,
-					EOrientation.NORTH);
+			return LayoutModelElementFactory.createOffsetOrientation(0,
+					EOrientation.NORTH,
+					LayoutKeyConstants.CONNECTOR_OFFSET_ORIENTATION);
 		}
 		return oo;
 	}
@@ -165,18 +171,18 @@ public class LayoutDataUtils {
 	/** Sets the layouted connector's offset and orientation. */
 	public static void setConnectorOffsetOrientation(
 			ILayoutedModelElement layouted, OffsetOrientation orientation) {
-		OffsetOrientationUtil.setOffsetOrientation(layouted,
+		OffsetOrientationUtils.setOffsetOrientation(layouted,
 				LayoutKeyConstants.CONNECTOR_OFFSET_ORIENTATION,
 				orientation.getOffset(), orientation.getOrientation());
 	}
 
 	/** Returns the layouted connector's offset. */
 	public static Offset getConnectorOffset(ILayoutedModelElement layouted) {
-		OffsetOrientation offset = OffsetOrientationUtil.getOffsetOrientation(
+		OffsetOrientation offset = OffsetOrientationUtils.getOffsetOrientation(
 				layouted, LayoutKeyConstants.CONNECTOR_OFFSET);
 		if (offset == null) {
-			return OffsetOrientationUtil.createOffsetOrientation(0,
-					EOrientation.NORTH);
+			return LayoutModelElementFactory.createOffsetOrientation(0,
+					EOrientation.NORTH, LayoutKeyConstants.CONNECTOR_OFFSET);
 		}
 		return offset;
 	}
@@ -184,15 +190,17 @@ public class LayoutDataUtils {
 	/** Sets the layouted connector's angle. */
 	public static void setConnectorAngle(ILayoutedModelElement layouted,
 			double angle) {
-		AngleUtil.setAngle(layouted, LayoutKeyConstants.CONNECTOR_ANGLE, angle);
+		AngleUtils
+				.setAngle(layouted, LayoutKeyConstants.CONNECTOR_ANGLE, angle);
 	}
 
 	/** Returns the layouted connector's angle. */
 	public static Angle getConnectorAngle(ILayoutedModelElement layouted) {
-		Angle angle = AngleUtil.getAngle(layouted,
+		Angle angle = AngleUtils.getAngle(layouted,
 				LayoutKeyConstants.CONNECTOR_ANGLE);
 		if (angle == null) {
-			return AngleUtil.createAngle(0.0);
+			return LayoutModelElementFactory.createAngle(0.0,
+					LayoutKeyConstants.CONNECTOR_ANGLE);
 		}
 		return angle;
 	}
@@ -202,24 +210,17 @@ public class LayoutDataUtils {
 		return getConnectorAngle(lobject).getAngle();
 	}
 
-	/** Creates a new connection layout. */
-	public static void createConnectionLayout(ILayoutedModelElement lo) {
-		Points points = PointsUtil.createPoints();
-		points.setKey(LayoutKeyConstants.CONNECTION_POINTS);
-		lo.getLayoutDataList().add(points);
-	}
-
 	/** Creates a new connector layout. */
 	public static void createConnectorLayout(ILayoutedModelElement lo) {
 		setNodePosition(lo, 0, 0);
 		setNodeSize(lo, DefaultLayoutConstants.DEFAULT_SHAPE_MINIMUM_WIDTH,
 				DefaultLayoutConstants.DEFAULT_SHAPE_MINIMUM_HEIGHT);
 
-		Point cpos = LayoutFactory.eINSTANCE.createPoint();
-		cpos.setKey(LayoutKeyConstants.CONNECTOR_POSITION);
+		Point cpos = LayoutModelElementFactory.createPoint(0, 0,
+				LayoutKeyConstants.CONNECTOR_POSITION);
 
-		Dimension cdim = LayoutFactory.eINSTANCE.createDimension();
-		cdim.setKey(LayoutKeyConstants.CONNECTOR_DIMENSION);
+		Dimension cdim = LayoutModelElementFactory.createDimension(0, 0,
+				LayoutKeyConstants.CONNECTOR_DIMENSION);
 
 		lo.getLayoutDataList().add(cpos);
 		lo.getLayoutDataList().add(cdim);
@@ -228,7 +229,7 @@ public class LayoutDataUtils {
 	/** Return the absolute position for a given offset, orientation and insets. */
 	public static Point getAbsolute(OffsetOrientation oo, Dimension parentSize,
 			int parentInsets) {
-		Point pos = PointUtil.createPoint(0, 0);
+		Point pos = LayoutModelElementFactory.createPoint(0, 0, null);
 		int offsetValue = oo.getOffset();
 		switch (oo.getOrientation()) {
 		case NORTH:
@@ -253,7 +254,7 @@ public class LayoutDataUtils {
 
 	/** Returns the {@link Points} layout data object for the given connection. */
 	public static Points getConnectionPoints(ILayoutedModelElement lobject) {
-		return PointsUtil.getPoints(lobject,
+		return PointsUtils.getPoints(lobject,
 				LayoutKeyConstants.CONNECTION_POINTS);
 	}
 
@@ -261,33 +262,34 @@ public class LayoutDataUtils {
 	public static void addConnectionPoint(ILayoutedModelElement lobject, int x,
 			int y) {
 		Points pts = getConnectionPoints(lobject);
-		Point np = PointUtil.createPoint(x, y);
+		Point np = LayoutModelElementFactory.createPoint(x, y, null);
 		pts.getPointsList().add(np);
-		PointsUtil
-				.setPoints(lobject, LayoutKeyConstants.CONNECTION_POINTS, pts);
+		PointsUtils.setPoints(lobject, LayoutKeyConstants.CONNECTION_POINTS,
+				pts);
 	}
 
 	/** Changes the point of the layout data at the given index. */
 	public static void changeConnectionPoint(ILayoutedModelElement lobject,
 			int index, int x, int y) {
 		Points pts = getConnectionPoints(lobject);
-		Point np = PointUtil.createPoint(x, y);
+		Point np = LayoutModelElementFactory.createPoint(x, y, null);
 		pts.getPointsList().set(index, np);
-		PointsUtil
-				.setPoints(lobject, LayoutKeyConstants.CONNECTION_POINTS, pts);
+		PointsUtils.setPoints(lobject, LayoutKeyConstants.CONNECTION_POINTS,
+				pts);
 	}
 
 	/** Changes all the point layout data of the given element. */
 	public static void changeAllConnectionPoints(ILayoutedModelElement lobject,
 			int dx, int dy) {
 		Points pts = getConnectionPoints(lobject);
-		Points npts = PointsUtil.createPoints();
+		Points npts = LayoutModelElementFactory.createPoints(null);
 		for (Point p : pts.getPointsList()) {
-			Point np = PointUtil.createPoint(p.getX() + dx, p.getY() + dy);
+			Point np = LayoutModelElementFactory.createPoint(p.getX() + dx,
+					p.getY() + dy, null);
 			npts.getPointsList().add(np);
 		}
-		PointsUtil
-				.setPoints(lobject, LayoutKeyConstants.CONNECTION_POINTS, pts);
+		PointsUtils.setPoints(lobject, LayoutKeyConstants.CONNECTION_POINTS,
+				pts);
 	}
 
 	/**
@@ -298,8 +300,8 @@ public class LayoutDataUtils {
 			int index) {
 		Points pts = getConnectionPoints(lobject);
 		pts.getPointsList().remove(index);
-		PointsUtil
-				.setPoints(lobject, LayoutKeyConstants.CONNECTION_POINTS, pts);
+		PointsUtils.setPoints(lobject, LayoutKeyConstants.CONNECTION_POINTS,
+				pts);
 
 	}
 }
diff --git a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/layout/util/RectangleLayoutUtils.java b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/utils/RectangleLayoutUtils.java
similarity index 96%
rename from org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/layout/util/RectangleLayoutUtils.java
rename to org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/utils/RectangleLayoutUtils.java
index 71375aabd..7399d8bdb 100644
--- a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/layout/util/RectangleLayoutUtils.java
+++ b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/utils/RectangleLayoutUtils.java
@@ -15,18 +15,19 @@ $Id$
 | See the License for the specific language governing permissions and      |
 | limitations under the License.                                           |
 +--------------------------------------------------------------------------*/
-package org.fortiss.tooling.base.ui.layout.util;
+package org.fortiss.tooling.base.ui.utils;
 
 import java.awt.Polygon;
 
 import org.eclipse.draw2d.geometry.Dimension;
 import org.eclipse.draw2d.geometry.Point;
 import org.eclipse.draw2d.geometry.Rectangle;
+import org.fortiss.tooling.base.layout.DefaultLayoutConstants;
 import org.fortiss.tooling.base.model.layout.EOrientation;
 import org.fortiss.tooling.base.model.layout.ILayoutedModelElement;
 import org.fortiss.tooling.base.model.layout.OffsetOrientation;
 import org.fortiss.tooling.base.ui.dnd.DropContext;
-import org.fortiss.tooling.base.ui.layout.constants.DefaultLayoutConstants;
+import org.fortiss.tooling.base.utils.LayoutModelElementFactory;
 
 /**
  * Utility class for rectangle-shaped edit part layout.
@@ -85,8 +86,8 @@ public class RectangleLayoutUtils {
 			offset = (int) (source.y * (1 - (2 * inset)
 					/ (double) bounds.height));
 		}
-		return OffsetOrientationUtil.createOffsetOrientation(offset,
-				orientation);
+		return LayoutModelElementFactory.createOffsetOrientation(offset,
+				orientation, null);
 	}
 
 	/** Ensure that the minimum size of a rectangular shape is redeemed. */
diff --git a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/layout/util/SnapToGridUtils.java b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/utils/SnapToGridUtils.java
similarity index 93%
rename from org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/layout/util/SnapToGridUtils.java
rename to org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/utils/SnapToGridUtils.java
index 2ccf324cb..521dab0f0 100644
--- a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/layout/util/SnapToGridUtils.java
+++ b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/utils/SnapToGridUtils.java
@@ -15,12 +15,12 @@ $Id$
 | See the License for the specific language governing permissions and      |
 | limitations under the License.                                           |
 +--------------------------------------------------------------------------*/
-package org.fortiss.tooling.base.ui.layout.util;
+package org.fortiss.tooling.base.ui.utils;
 
 import org.eclipse.draw2d.geometry.Point;
 import org.eclipse.gef.GraphicalEditPart;
 import org.eclipse.gef.SnapToGrid;
-import org.fortiss.tooling.base.ui.layout.constants.DefaultLayoutConstants;
+import org.fortiss.tooling.base.layout.DefaultLayoutConstants;
 
 /**
  * Utility methods for snap-to-grid support.
@@ -28,7 +28,7 @@ import org.fortiss.tooling.base.ui.layout.constants.DefaultLayoutConstants;
  * @author hoelzl
  * @author $Author$
  * @version $Rev$
- * @ConQAT.Rating GREEN Hash: EEE21E715A74AC8326AF6F81DC92DCD4
+ * @ConQAT.Rating GREEN Hash: 355E22E06C416C645FD984BAF96E1D1D
  */
 public final class SnapToGridUtils {
 
diff --git a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/layout/util/ZoomUtils.java b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/utils/ZoomUtils.java
similarity index 98%
rename from org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/layout/util/ZoomUtils.java
rename to org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/utils/ZoomUtils.java
index 63b0b01e4..ae98d4583 100644
--- a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/layout/util/ZoomUtils.java
+++ b/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/utils/ZoomUtils.java
@@ -15,7 +15,7 @@ $Id$
 | See the License for the specific language governing permissions and      |
 | limitations under the License.                                           |
 +--------------------------------------------------------------------------*/
-package org.fortiss.tooling.base.ui.layout.util;
+package org.fortiss.tooling.base.ui.utils;
 
 import org.eclipse.gef.RootEditPart;
 import org.eclipse.gef.editparts.ScalableFreeformRootEditPart;
diff --git a/org.fortiss.tooling.base/trunk/META-INF/MANIFEST.MF b/org.fortiss.tooling.base/trunk/META-INF/MANIFEST.MF
index d94afc3b9..ddd5cc2cf 100644
--- a/org.fortiss.tooling.base/trunk/META-INF/MANIFEST.MF
+++ b/org.fortiss.tooling.base/trunk/META-INF/MANIFEST.MF
@@ -11,6 +11,7 @@ Require-Bundle: org.fortiss.tooling.kernel;bundle-version="0.0.1";visibility:=re
 Bundle-ActivationPolicy: lazy
 Export-Package: org.fortiss.tooling.base,
  org.fortiss.tooling.base.decompose,
+ org.fortiss.tooling.base.layout,
  org.fortiss.tooling.base.model.base,
  org.fortiss.tooling.base.model.base.impl,
  org.fortiss.tooling.base.model.base.util,
@@ -19,4 +20,5 @@ Export-Package: org.fortiss.tooling.base,
  org.fortiss.tooling.base.model.element.util,
  org.fortiss.tooling.base.model.layout,
  org.fortiss.tooling.base.model.layout.impl,
- org.fortiss.tooling.base.model.layout.util
+ org.fortiss.tooling.base.model.layout.util,
+ org.fortiss.tooling.base.utils
diff --git a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/layout/constants/DefaultLayoutConstants.java b/org.fortiss.tooling.base/trunk/src/org/fortiss/tooling/base/layout/DefaultLayoutConstants.java
similarity index 73%
rename from org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/layout/constants/DefaultLayoutConstants.java
rename to org.fortiss.tooling.base/trunk/src/org/fortiss/tooling/base/layout/DefaultLayoutConstants.java
index b3a2504a3..69717a1bd 100644
--- a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/layout/constants/DefaultLayoutConstants.java
+++ b/org.fortiss.tooling.base/trunk/src/org/fortiss/tooling/base/layout/DefaultLayoutConstants.java
@@ -1,7 +1,7 @@
 /*--------------------------------------------------------------------------+
 $Id$
 |                                                                          |
-| Copyright 2011 ForTISS GmbH                                              |
+| Copyright 2011 ForTISS GmbH                     |
 |                                                                          |
 | Licensed under the Apache License, Version 2.0 (the "License");          |
 | you may not use this file except in compliance with the License.         |
@@ -15,31 +15,24 @@ $Id$
 | See the License for the specific language governing permissions and      |
 | limitations under the License.                                           |
 +--------------------------------------------------------------------------*/
-package org.fortiss.tooling.base.ui.layout.constants;
-
-import org.conqat.ide.commons.ui.swt.FontUtils;
-import org.eclipse.draw2d.geometry.Point;
-import org.eclipse.jface.resource.JFaceResources;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.graphics.Font;
+package org.fortiss.tooling.base.layout;
 
 /**
- * Default layout constants for GEF-based editors.
+ * Default constants for graphical layouts.
  * 
- * @author wandinger
+ * @author hoelzl
  * @author $Author$
  * @version $Rev$
- * @ConQAT.Rating GREEN Hash: 1ADDF13DA92039D5C42C0993B683A4F2
+ * @ConQAT.Rating YELLOW Hash: C73875A2DF5C4FA193DBD6AD12A220E4
  */
-public final class DefaultLayoutConstants {
-
-	/** Title font. */
-	public static final Font TITLE_FONT = FontUtils.derive(
-			JFaceResources.getDefaultFont(), 0, SWT.BOLD);
+public class DefaultLayoutConstants {
 
 	// editor grid constants
-	/** The default offset of the grid. */
-	public static final Point DEFAULT_GRID_ORIGIN = new Point(0, 0);
+	/** The default origin x of the grid. */
+	public static final int DEFAULT_GRID_ORIGIN_X = 0;
+
+	/** The default origin y of the grid. */
+	public static final int DEFAULT_GRID_ORIGIN_Y = 0;
 
 	/** The default size between two lines of the grid. */
 	public static final int DEFAULT_GRID_SIZE = 12;
@@ -63,4 +56,5 @@ public final class DefaultLayoutConstants {
 
 	/** The default position offset of a shape. */
 	public static final int DEFAULT_SHAPE_OFFSET = 2 * DEFAULT_GRID_SIZE;
+
 }
diff --git a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/layout/constants/LayoutKeyConstants.java b/org.fortiss.tooling.base/trunk/src/org/fortiss/tooling/base/layout/LayoutKeyConstants.java
similarity index 97%
rename from org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/layout/constants/LayoutKeyConstants.java
rename to org.fortiss.tooling.base/trunk/src/org/fortiss/tooling/base/layout/LayoutKeyConstants.java
index 673f0449f..174450b60 100644
--- a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/layout/constants/LayoutKeyConstants.java
+++ b/org.fortiss.tooling.base/trunk/src/org/fortiss/tooling/base/layout/LayoutKeyConstants.java
@@ -15,7 +15,7 @@ $Id$
 | See the License for the specific language governing permissions and      |
 | limitations under the License.                                           |
 +--------------------------------------------------------------------------*/
-package org.fortiss.tooling.base.ui.layout.constants;
+package org.fortiss.tooling.base.layout;
 
 /**
  * Layout constants defining keys for the commonly used layout objects, like
diff --git a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/layout/util/AngleUtil.java b/org.fortiss.tooling.base/trunk/src/org/fortiss/tooling/base/utils/AngleUtils.java
similarity index 82%
rename from org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/layout/util/AngleUtil.java
rename to org.fortiss.tooling.base/trunk/src/org/fortiss/tooling/base/utils/AngleUtils.java
index 239bce2a0..1b700641e 100644
--- a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/layout/util/AngleUtil.java
+++ b/org.fortiss.tooling.base/trunk/src/org/fortiss/tooling/base/utils/AngleUtils.java
@@ -15,12 +15,11 @@ $Id$
 | See the License for the specific language governing permissions and      |
 | limitations under the License.                                           |
 +--------------------------------------------------------------------------*/
-package org.fortiss.tooling.base.ui.layout.util;
+package org.fortiss.tooling.base.utils;
 
 import org.fortiss.tooling.base.model.layout.Angle;
 import org.fortiss.tooling.base.model.layout.ILayoutData;
 import org.fortiss.tooling.base.model.layout.ILayoutedModelElement;
-import org.fortiss.tooling.base.model.layout.LayoutFactory;
 
 /**
  * Utility methods for {@link Angle} layout data.
@@ -28,16 +27,9 @@ import org.fortiss.tooling.base.model.layout.LayoutFactory;
  * @author hoelzl
  * @author $Author$
  * @version $Rev$
- * @ConQAT.Rating GREEN Hash: 2E92D07592321B47E50BE5DE3633D8E8
+ * @ConQAT.Rating YELLOW Hash: 5ED5978CC95E6A94BE5CBEF3E4FD3842
  */
-/* package */final class AngleUtil {
-
-	/** Creates a new {@link Angle}. */
-	public static Angle createAngle(double angle) {
-		Angle a = LayoutFactory.eINSTANCE.createAngle();
-		a.setAngle(angle);
-		return a;
-	}
+public final class AngleUtils {
 
 	/** Returns an angle. */
 	public static Angle getAngle(ILayoutedModelElement lobject, String key) {
@@ -57,8 +49,7 @@ import org.fortiss.tooling.base.model.layout.LayoutFactory;
 			lobject.getLayoutDataList().remove(old);
 		}
 
-		Angle a = createAngle(angle);
-		a.setKey(key);
+		Angle a = LayoutModelElementFactory.createAngle(angle, key);
 		lobject.getLayoutDataList().add(a);
 	}
 }
diff --git a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/layout/util/DimensionUtil.java b/org.fortiss.tooling.base/trunk/src/org/fortiss/tooling/base/utils/DimensionUtils.java
similarity index 82%
rename from org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/layout/util/DimensionUtil.java
rename to org.fortiss.tooling.base/trunk/src/org/fortiss/tooling/base/utils/DimensionUtils.java
index 23d97e9f7..f378a1bd3 100644
--- a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/layout/util/DimensionUtil.java
+++ b/org.fortiss.tooling.base/trunk/src/org/fortiss/tooling/base/utils/DimensionUtils.java
@@ -15,12 +15,11 @@ $Id$
 | See the License for the specific language governing permissions and      |
 | limitations under the License.                                           |
 +--------------------------------------------------------------------------*/
-package org.fortiss.tooling.base.ui.layout.util;
+package org.fortiss.tooling.base.utils;
 
 import org.fortiss.tooling.base.model.layout.Dimension;
 import org.fortiss.tooling.base.model.layout.ILayoutData;
 import org.fortiss.tooling.base.model.layout.ILayoutedModelElement;
-import org.fortiss.tooling.base.model.layout.LayoutFactory;
 
 /**
  * Utility class for {@link Dimension} layout data.
@@ -28,17 +27,9 @@ import org.fortiss.tooling.base.model.layout.LayoutFactory;
  * @author hoelzl
  * @author $Author$
  * @version $Rev$
- * @ConQAT.Rating GREEN Hash: D5C32EC0DD697B73E8BE1FE02816876F
+ * @ConQAT.Rating YELLOW Hash: 3C92A9EB8051A4FA661C64CA936DA905
  */
-/* package */final class DimensionUtil {
-
-	/** Creates a new {@link Dimension}. */
-	public static Dimension createDimension(int w, int h) {
-		Dimension d = LayoutFactory.eINSTANCE.createDimension();
-		d.setWidth(w);
-		d.setHeight(h);
-		return d;
-	}
+public final class DimensionUtils {
 
 	/** Returns a {@link Dimension} layout data object with the given key. */
 	public static Dimension getDimension(ILayoutedModelElement lobject,
@@ -59,8 +50,7 @@ import org.fortiss.tooling.base.model.layout.LayoutFactory;
 			lobject.getLayoutDataList().remove(old);
 		}
 
-		Dimension d = createDimension(w, h);
-		d.setKey(key);
+		Dimension d = LayoutModelElementFactory.createDimension(w, h, key);
 		lobject.getLayoutDataList().add(d);
 	}
 }
diff --git a/org.fortiss.tooling.base/trunk/src/org/fortiss/tooling/base/utils/LayoutModelElementFactory.java b/org.fortiss.tooling.base/trunk/src/org/fortiss/tooling/base/utils/LayoutModelElementFactory.java
new file mode 100644
index 000000000..a61c218eb
--- /dev/null
+++ b/org.fortiss.tooling.base/trunk/src/org/fortiss/tooling/base/utils/LayoutModelElementFactory.java
@@ -0,0 +1,89 @@
+/*--------------------------------------------------------------------------+
+$Id$
+|                                                                          |
+| Copyright 2011 ForTISS GmbH                     |
+|                                                                          |
+| Licensed under the Apache License, Version 2.0 (the "License");          |
+| you may not use this file except in compliance with the License.         |
+| You may obtain a copy of the License at                                  |
+|                                                                          |
+|    http://www.apache.org/licenses/LICENSE-2.0                            |
+|                                                                          |
+| Unless required by applicable law or agreed to in writing, software      |
+| distributed under the License is distributed on an "AS IS" BASIS,        |
+| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
+| See the License for the specific language governing permissions and      |
+| limitations under the License.                                           |
++--------------------------------------------------------------------------*/
+package org.fortiss.tooling.base.utils;
+
+import org.fortiss.tooling.base.layout.LayoutKeyConstants;
+import org.fortiss.tooling.base.model.layout.Angle;
+import org.fortiss.tooling.base.model.layout.Dimension;
+import org.fortiss.tooling.base.model.layout.EOrientation;
+import org.fortiss.tooling.base.model.layout.ILayoutedModelElement;
+import org.fortiss.tooling.base.model.layout.LayoutFactory;
+import org.fortiss.tooling.base.model.layout.OffsetOrientation;
+import org.fortiss.tooling.base.model.layout.Point;
+import org.fortiss.tooling.base.model.layout.Points;
+
+/**
+ * This class provides the creation methods for model elements.
+ * 
+ * @author hoelzl
+ * @author $Author$
+ * @version $Rev$
+ * @ConQAT.Rating YELLOW Hash: F89151582818B77DAA804D5042AF68F7
+ */
+public final class LayoutModelElementFactory {
+	/** Creates a new connection layout. */
+	public static void createConnectionLayout(ILayoutedModelElement lo) {
+		Points points = LayoutModelElementFactory
+				.createPoints(LayoutKeyConstants.CONNECTION_POINTS);
+		lo.getLayoutDataList().add(points);
+	}
+
+	/** Creates a new {@link Angle}. */
+	public static Angle createAngle(double angle, String key) {
+		Angle a = LayoutFactory.eINSTANCE.createAngle();
+		a.setAngle(angle);
+		a.setKey(key);
+		return a;
+	}
+
+	/** Creates a new {@link Dimension}. */
+	public static Dimension createDimension(int w, int h, String key) {
+		Dimension d = LayoutFactory.eINSTANCE.createDimension();
+		d.setWidth(w);
+		d.setHeight(h);
+		d.setKey(key);
+		return d;
+	}
+
+	/** Creates a new {@link Points} layout data. */
+	public static Points createPoints(String key) {
+		Points pts = LayoutFactory.eINSTANCE.createPoints();
+		pts.setKey(key);
+		return pts;
+	}
+
+	/** Creates a new {@link Point}. */
+	public static Point createPoint(int x, int y, String key) {
+		Point p = LayoutFactory.eINSTANCE.createPoint();
+		p.setX(x);
+		p.setY(y);
+		p.setKey(key);
+		return p;
+	}
+
+	/** Returns a new {@link OffsetOrientation} object with the given values. */
+	public static OffsetOrientation createOffsetOrientation(int offset,
+			EOrientation orientation, String key) {
+		OffsetOrientation oo = LayoutFactory.eINSTANCE
+				.createOffsetOrientation();
+		oo.setOrientation(orientation);
+		oo.setOffset(offset);
+		oo.setKey(key);
+		return oo;
+	}
+}
diff --git a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/layout/util/OffsetOrientationUtil.java b/org.fortiss.tooling.base/trunk/src/org/fortiss/tooling/base/utils/OffsetOrientationUtils.java
similarity index 79%
rename from org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/layout/util/OffsetOrientationUtil.java
rename to org.fortiss.tooling.base/trunk/src/org/fortiss/tooling/base/utils/OffsetOrientationUtils.java
index ee8a990d2..99b615644 100644
--- a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/layout/util/OffsetOrientationUtil.java
+++ b/org.fortiss.tooling.base/trunk/src/org/fortiss/tooling/base/utils/OffsetOrientationUtils.java
@@ -15,12 +15,11 @@ $Id$
 | See the License for the specific language governing permissions and      |
 | limitations under the License.                                           |
 +--------------------------------------------------------------------------*/
-package org.fortiss.tooling.base.ui.layout.util;
+package org.fortiss.tooling.base.utils;
 
 import org.fortiss.tooling.base.model.layout.EOrientation;
 import org.fortiss.tooling.base.model.layout.ILayoutData;
 import org.fortiss.tooling.base.model.layout.ILayoutedModelElement;
-import org.fortiss.tooling.base.model.layout.LayoutFactory;
 import org.fortiss.tooling.base.model.layout.OffsetOrientation;
 import org.fortiss.tooling.base.model.layout.Orientation;
 
@@ -31,19 +30,9 @@ import org.fortiss.tooling.base.model.layout.Orientation;
  * @author hoelzl
  * @author $Author$
  * @version $Rev$
- * @ConQAT.Rating GREEN Hash: CB7A6378410128772C9D2687A4682FA4
+ * @ConQAT.Rating YELLOW Hash: 557B7E385BC75BF05E76F4B4D292C318
  */
-/* package */final class OffsetOrientationUtil {
-
-	/** Returns a new {@link OffsetOrientation} object with the given values. */
-	public static OffsetOrientation createOffsetOrientation(int offset,
-			EOrientation orientation) {
-		OffsetOrientation oo = LayoutFactory.eINSTANCE
-				.createOffsetOrientation();
-		oo.setOrientation(orientation);
-		oo.setOffset(offset);
-		return oo;
-	}
+public final class OffsetOrientationUtils {
 
 	/**
 	 * Returns a {@link OffsetOrientation} layout data object with the given
@@ -67,8 +56,8 @@ import org.fortiss.tooling.base.model.layout.Orientation;
 			lobject.getLayoutDataList().remove(old);
 		}
 
-		Orientation o = createOffsetOrientation(offset, orientation);
-		o.setKey(key);
+		Orientation o = LayoutModelElementFactory.createOffsetOrientation(
+				offset, orientation, key);
 		lobject.getLayoutDataList().add(o);
 	}
 }
diff --git a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/layout/util/PointUtil.java b/org.fortiss.tooling.base/trunk/src/org/fortiss/tooling/base/utils/PointUtils.java
similarity index 79%
rename from org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/layout/util/PointUtil.java
rename to org.fortiss.tooling.base/trunk/src/org/fortiss/tooling/base/utils/PointUtils.java
index 01f611c96..cae12420a 100644
--- a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/layout/util/PointUtil.java
+++ b/org.fortiss.tooling.base/trunk/src/org/fortiss/tooling/base/utils/PointUtils.java
@@ -15,35 +15,24 @@ $Id$
 | See the License for the specific language governing permissions and      |
 | limitations under the License.                                           |
 +--------------------------------------------------------------------------*/
-package org.fortiss.tooling.base.ui.layout.util;
+package org.fortiss.tooling.base.utils;
 
 import org.eclipse.emf.ecore.EObject;
 import org.eclipse.emf.ecore.util.EcoreUtil;
 import org.fortiss.tooling.base.model.layout.ILayoutData;
 import org.fortiss.tooling.base.model.layout.ILayoutedModelElement;
-import org.fortiss.tooling.base.model.layout.LayoutFactory;
 import org.fortiss.tooling.base.model.layout.Point;
 
 /**
- * TODO: What is the difference between {@link PointUtil} and {@link PointsUtil}
- * ?
- * 
- * Utility class for handling {@link Point} layout data.
+ * Utility class for handling {@link Point} layout data, i.e., position of nodes
+ * in a graphical layout.
  * 
  * @author hoelzl
  * @author $Author$
  * @version $Rev$
- * @ConQAT.Rating YELLOW Hash: ECCAD8A00B043640F19A975F3B45B36B
+ * @ConQAT.Rating YELLOW Hash: 5313D4F99884C64AAAB9009A59D9392F
  */
-/* package */final class PointUtil {
-
-	/** Creates a new {@link Point}. */
-	public static Point createPoint(int x, int y) {
-		Point p = LayoutFactory.eINSTANCE.createPoint();
-		p.setX(x);
-		p.setY(y);
-		return p;
-	}
+public final class PointUtils {
 
 	/** Gets the position stored at the given key. */
 	public static Point getPosition(ILayoutedModelElement layouted, String key) {
@@ -55,8 +44,8 @@ import org.fortiss.tooling.base.model.layout.Point;
 			if (container != null) {
 				index = 1 + container.eContents().indexOf(layouted);
 			}
-			Point p = createPoint(index * 20, index * 20);
-			p.setKey(key);
+			Point p = LayoutModelElementFactory.createPoint(index * 20,
+					index * 20, key);
 			return p;
 		}
 		return EcoreUtil.copy(point);
@@ -80,8 +69,7 @@ import org.fortiss.tooling.base.model.layout.Point;
 			lobject.getLayoutDataList().remove(old);
 		}
 
-		Point p = createPoint(x, y);
-		p.setKey(key);
+		Point p = LayoutModelElementFactory.createPoint(x, y, key);
 		lobject.getLayoutDataList().add(p);
 	}
 }
diff --git a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/layout/util/PointsUtil.java b/org.fortiss.tooling.base/trunk/src/org/fortiss/tooling/base/utils/PointsUtils.java
similarity index 78%
rename from org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/layout/util/PointsUtil.java
rename to org.fortiss.tooling.base/trunk/src/org/fortiss/tooling/base/utils/PointsUtils.java
index 48a35abec..c7a39771d 100644
--- a/org.fortiss.tooling.base.ui/trunk/src/org/fortiss/tooling/base/ui/layout/util/PointsUtil.java
+++ b/org.fortiss.tooling.base/trunk/src/org/fortiss/tooling/base/utils/PointsUtils.java
@@ -15,31 +15,23 @@ $Id$
 | See the License for the specific language governing permissions and      |
 | limitations under the License.                                           |
 +--------------------------------------------------------------------------*/
-package org.fortiss.tooling.base.ui.layout.util;
+package org.fortiss.tooling.base.utils;
 
 import org.fortiss.tooling.base.model.layout.ILayoutData;
 import org.fortiss.tooling.base.model.layout.ILayoutedModelElement;
-import org.fortiss.tooling.base.model.layout.LayoutFactory;
 import org.fortiss.tooling.base.model.layout.Point;
 import org.fortiss.tooling.base.model.layout.Points;
 
 /**
- * TODO: What is the difference between {@link PointUtil} and {@link PointsUtil}
- * ?
- * 
- * Utility class for {@link Points} layout data.
+ * Utility class for {@link Points} layout data, i.e., a series of points
+ * usually encountered with layouts of connections.
  * 
  * @author hoelzl
  * @author $Author$
  * @version $Rev$
- * @ConQAT.Rating GREEN Hash: 1BF8F215A3DAA9B28B98088EE369162A
+ * @ConQAT.Rating YELLOW Hash: DC34D51E185873F7623A981356FCDBDD
  */
-/* package */final class PointsUtil {
-
-	/** Creates a new {@link Points} layout data. */
-	public static Points createPoints() {
-		return LayoutFactory.eINSTANCE.createPoints();
-	}
+public final class PointsUtils {
 
 	/** Returns a {@link Points} layout data object with the given key. */
 	public static Points getPoints(ILayoutedModelElement lobject, String key) {
@@ -59,10 +51,10 @@ import org.fortiss.tooling.base.model.layout.Points;
 			lobject.getLayoutDataList().remove(old);
 		}
 
-		Points pts = createPoints();
-		pts.setKey(key);
+		Points pts = LayoutModelElementFactory.createPoints(key);
 		for (Point p : points.getPointsList()) {
-			Point np = PointUtil.createPoint(p.getX(), p.getY());
+			Point np = LayoutModelElementFactory.createPoint(p.getX(),
+					p.getY(), null);
 			pts.getPointsList().add(np);
 		}
 		lobject.getLayoutDataList().add(pts);
-- 
GitLab