/* * Created on Jul 13, 2004 */ package com.realpersist.gef.part; import org.eclipse.draw2d.BendpointConnectionRouter; import org.eclipse.draw2d.IFigure; import org.eclipse.draw2d.PolygonDecoration; import org.eclipse.draw2d.PolylineConnection; import org.eclipse.gef.EditPart; import org.eclipse.gef.EditPolicy; import org.eclipse.gef.editpolicies.ConnectionEndpointEditPolicy; import com.realpersist.gef.policy.RelationshipEditPolicy; /** * Represents the editable primary key/foreign key relationship * @author Phil Zoio */ public class RelationshipPart extends PropertyAwareConnectionPart { /** * @see org.eclipse.gef.EditPart#activate() */ public void activate() { super.activate(); } /** * @see org.eclipse.gef.EditPart#activate() */ public void deactivate() { super.deactivate(); } /** * @see org.eclipse.gef.editparts.AbstractEditPart#createEditPolicies() */ protected void createEditPolicies() { installEditPolicy(EditPolicy.CONNECTION_ENDPOINTS_ROLE, new ConnectionEndpointEditPolicy()); installEditPolicy(EditPolicy.COMPONENT_ROLE, new RelationshipEditPolicy()); } /** * @see org.eclipse.gef.editparts.AbstractConnectionEditPart#createFigure() */ protected IFigure createFigure() { PolylineConnection conn = (PolylineConnection) super.createFigure(); conn.setConnectionRouter(new BendpointConnectionRouter()); conn.setTargetDecoration(new PolygonDecoration()); return conn; } /** * Sets the width of the line when selected */ public void setSelected(int value) { super.setSelected(value); if (value != EditPart.SELECTED_NONE) ((PolylineConnection) getFigure()).setLineWidth(2); else ((PolylineConnection) getFigure()).setLineWidth(1); } }