diff org.eclipse.draw2d/src/org/eclipse/draw2d/BendpointLocator.d @ 12:bc29606a740c

Added dwt-addons in original directory structure of eclipse.org
author Frank Benoit <benoit@tionex.de>
date Sat, 14 Mar 2009 18:23:29 +0100
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/org.eclipse.draw2d/src/org/eclipse/draw2d/BendpointLocator.d	Sat Mar 14 18:23:29 2009 +0100
@@ -0,0 +1,68 @@
+/*******************************************************************************
+ * Copyright (c) 2000, 2005 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     IBM Corporation - initial API and implementation
+ * Port to the D programming language:
+ *     Frank Benoit <benoit@tionex.de>
+ *******************************************************************************/
+module org.eclipse.draw2d.BendpointLocator;
+
+import java.lang.all;
+
+import org.eclipse.draw2d.geometry.Point;
+import org.eclipse.draw2d.ConnectionLocator;
+import org.eclipse.draw2d.Connection;
+
+/**
+ * Places a figure relative to a specified bend in a {@link Connection}. A bendpoint is
+ * one of the points returned in the connection's {@link Connection#getPoints()} method.
+ * It is not related to the bendpoint class used as routing constraints.
+ */
+public class BendpointLocator
+    : ConnectionLocator
+{
+
+private int index;
+
+/**
+ * Creates a BendpointLocator associated with passed Connection c and index i.
+ *
+ * @param c Connection associated with BendpointLocator
+ * @param i Index of bendpoint, represents the position of the bendpoint on Connection c
+ * @since 2.0
+ */
+public this(Connection c, int i) {
+    super(c);
+    index = i;
+}
+
+/**
+ * Returns the index of this BendpointLocator. This index is the position of the reference
+ * point in this BendpointLocator's {@link Connection}.
+ *
+ * @return The index
+ * @since 2.0
+ */
+protected int getIndex() {
+    return index;
+}
+
+/**
+ * Returns reference point associated with the BendpointLocator.  This Point is taken from
+ * the BendpointLocator's connection and is point number 'index'.
+ *
+ * @return The reference point
+ * @since 2.0
+ */
+protected Point getReferencePoint() {
+    Point p = getConnection().getPoints().getPoint(Point.SINGLETON, getIndex());
+    getConnection().translateToAbsolute(p);
+    return p;
+}
+
+}