### Eclipse Workspace Patch 1.0 #P org.eclipse.gmf.runtime.draw2d.ui Index: src/org/eclipse/gmf/runtime/draw2d/ui/figures/PolylineConnectionEx.java =================================================================== RCS file: /cvsroot/technology/org.eclipse.gmf/plugins/org.eclipse.gmf.runtime.draw2d.ui/src/org/eclipse/gmf/runtime/draw2d/ui/figures/PolylineConnectionEx.java,v retrieving revision 1.11 diff -u -r1.11 PolylineConnectionEx.java --- src/org/eclipse/gmf/runtime/draw2d/ui/figures/PolylineConnectionEx.java 21 Apr 2006 21:14:49 -0000 1.11 +++ src/org/eclipse/gmf/runtime/draw2d/ui/figures/PolylineConnectionEx.java 3 Aug 2006 14:56:40 -0000 @@ -40,6 +40,8 @@ import org.eclipse.gmf.runtime.draw2d.ui.mapmode.MapModeUtil; import org.eclipse.swt.SWT; import org.eclipse.swt.graphics.Color; +import org.eclipse.swt.graphics.Cursor; +import org.eclipse.swt.widgets.Display; /** @@ -1237,5 +1239,23 @@ super.paintFigure(graphics); graphics.popState(); } + + /** + * Currently we cannot create bendpoints with avoid obstructions + * routing style turned on. Hence we need to define a special cursor + * to give user feedback about the disabled bendpoint editing + */ + static private final Cursor NO_COMMAND_SPECIAL_CURSOR = + new Cursor(Display.getDefault(), SWT.CURSOR_ARROW); + + /** + * Overriden to display special cursor when needed. Fix for bug #145467 + */ + public Cursor getCursor() { + if (isAvoidObstacleRouting()) + return NO_COMMAND_SPECIAL_CURSOR; + return super.getCursor(); + } + } #P org.eclipse.gmf.runtime.diagram.ui Index: src/org/eclipse/gmf/runtime/diagram/ui/editparts/ConnectionEditPart.java =================================================================== RCS file: /cvsroot/technology/org.eclipse.gmf/plugins/org.eclipse.gmf.runtime.diagram.ui/src/org/eclipse/gmf/runtime/diagram/ui/editparts/ConnectionEditPart.java,v retrieving revision 1.35.2.7 diff -u -r1.35.2.7 ConnectionEditPart.java --- src/org/eclipse/gmf/runtime/diagram/ui/editparts/ConnectionEditPart.java 2 Aug 2006 19:31:24 -0000 1.35.2.7 +++ src/org/eclipse/gmf/runtime/diagram/ui/editparts/ConnectionEditPart.java 3 Aug 2006 14:56:41 -0000 @@ -1173,6 +1173,13 @@ boolean avoidObstruction = style.isAvoidObstructions(); poly.setRoutingStyles(closestDistance, avoidObstruction); + + if (avoidObstruction) + installEditPolicy(EditPolicy.CONNECTION_BENDPOINTS_ROLE,null); + else + installEditPolicy(EditPolicy.CONNECTION_BENDPOINTS_ROLE, + new ConnectionBendpointEditPolicy()); + } }