blob: 852692dd8013246d3c0938981ea27b5789e3d20e [file] [log] [blame]
package org.eclipse.gmf.tooling.runtime.linklf.router.provider;
import org.eclipse.draw2d.ConnectionRouter;
import org.eclipse.gef.EditPartViewer;
import org.eclipse.gmf.runtime.draw2d.ui.internal.figures.ConnectionLayerEx;
import org.eclipse.gmf.runtime.draw2d.ui.internal.routers.RectilinearRouter;
import org.eclipse.gmf.tooling.runtime.linklf.router.SnapToGridRectilinearRouter;
/**
* [GMFRT] request extraction of protected createXXXRouter() instead
*/
public class CustomRoutersConnectionLayer extends ConnectionLayerEx {
private RectilinearRouter myCustomRectilinearRouter;
private EditPartViewer myViewer;
protected EditPartViewer getViewer() {
return myViewer;
}
public void setEditPartViewer(EditPartViewer viewer) {
myViewer = viewer;
if (myCustomRectilinearRouter instanceof SnapToGridRectilinearRouter) {
((SnapToGridRectilinearRouter) myCustomRectilinearRouter).setEditPartViewer(viewer);
}
}
@Override
public ConnectionRouter getRectilinearRouter() {
if (myCustomRectilinearRouter == null) {
myCustomRectilinearRouter = createRectilinearRouter();
}
return myCustomRectilinearRouter;
}
protected RectilinearRouter createRectilinearRouter() {
//return new RectilinearRouter();
SnapToGridRectilinearRouter result = new SnapToGridRectilinearRouter();
result.setEditPartViewer(getViewer());
return result;
}
}