/*
* 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);
}
}