| package org.eclipse.uml2.diagram.clazz.edit.parts; |
| |
| import org.eclipse.draw2d.ColorConstants; |
| import org.eclipse.draw2d.Connection; |
| import org.eclipse.draw2d.Graphics; |
| import org.eclipse.draw2d.PolylineDecoration; |
| import org.eclipse.draw2d.RotatableDecoration; |
| import org.eclipse.draw2d.geometry.PointList; |
| import org.eclipse.gef.EditPart; |
| import org.eclipse.gmf.runtime.diagram.ui.editparts.ConnectionNodeEditPart; |
| import org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRoles; |
| import org.eclipse.gmf.runtime.draw2d.ui.figures.PolylineConnectionEx; |
| import org.eclipse.gmf.runtime.notation.View; |
| import org.eclipse.uml2.diagram.clazz.edit.policies.TemplateBindingItemSemanticEditPolicy; |
| |
| /** |
| * @generated |
| */ |
| public class TemplateBindingEditPart extends ConnectionNodeEditPart { |
| |
| /** |
| * @generated |
| */ |
| public static final int VISUAL_ID = 4016; |
| |
| /** |
| * @generated |
| */ |
| public TemplateBindingEditPart(View view) { |
| super(view); |
| } |
| |
| /** |
| * @generated |
| */ |
| protected void createDefaultEditPolicies() { |
| super.createDefaultEditPolicies(); |
| installEditPolicy(EditPolicyRoles.SEMANTIC_ROLE, new TemplateBindingItemSemanticEditPolicy()); |
| } |
| |
| /** |
| * @generated |
| */ |
| protected boolean addFixedChild(EditPart childEditPart) { |
| return false; |
| } |
| |
| /** |
| * @generated |
| */ |
| protected void addChildVisual(EditPart childEditPart, int index) { |
| if (addFixedChild(childEditPart)) { |
| return; |
| } |
| super.addChildVisual(childEditPart, -1); |
| } |
| |
| /** |
| * Creates figure for this edit part. |
| * |
| * Body of this method does not depend on settings in generation model |
| * so you may safely remove <i>generated</i> tag and modify it. |
| * |
| * @generated |
| */ |
| |
| protected Connection createConnectionFigure() { |
| return new TemplateBinding_Polyline(); |
| } |
| |
| /** |
| * @generated |
| */ |
| public TemplateBinding_Polyline getPrimaryShape() { |
| return (TemplateBinding_Polyline) getFigure(); |
| } |
| |
| /** |
| * @generated |
| */ |
| public class TemplateBinding_Polyline extends PolylineConnectionEx { |
| |
| /** |
| * @generated |
| */ |
| public TemplateBinding_Polyline() { |
| this.setLineStyle(Graphics.LINE_DASH); |
| this.setForegroundColor(ColorConstants.lightGray); |
| |
| setTargetDecoration(createTargetDecoration()); |
| } |
| |
| /** |
| * @generated |
| */ |
| private RotatableDecoration createTargetDecoration() { |
| PolylineDecoration df = new PolylineDecoration(); |
| PointList pl = new PointList(); |
| pl.addPoint(getMapMode().DPtoLP(-1), getMapMode().DPtoLP(1)); |
| pl.addPoint(getMapMode().DPtoLP(0), getMapMode().DPtoLP(0)); |
| pl.addPoint(getMapMode().DPtoLP(-1), getMapMode().DPtoLP(-1)); |
| pl.addPoint(getMapMode().DPtoLP(-1), getMapMode().DPtoLP(1)); |
| df.setTemplate(pl); |
| df.setScale(getMapMode().DPtoLP(7), getMapMode().DPtoLP(3)); |
| return df; |
| } |
| |
| } |
| |
| } |