/* * Copyright (c) 2012-2016 Marsha Chechik, Alessio Di Sandro, Michalis Famelis, * Rick Salay. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Alessio Di Sandro - Implementation. */ package edu.toronto.cs.se.modelepedia.istar_mavo.diagram.edit.parts; import org.eclipse.draw2d.ColorConstants; import org.eclipse.draw2d.Connection; import org.eclipse.draw2d.PolygonDecoration; import org.eclipse.draw2d.RotatableDecoration; import org.eclipse.draw2d.geometry.Dimension; 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.editparts.ITreeBranchEditPart; import org.eclipse.gmf.runtime.diagram.ui.editpolicies.EditPolicyRoles; import org.eclipse.gmf.runtime.draw2d.ui.figures.PolylineConnectionEx; import org.eclipse.gmf.runtime.draw2d.ui.figures.WrappingLabel; import org.eclipse.gmf.runtime.notation.View; /** * @generated */ public class MeansEndEditPart extends ConnectionNodeEditPart implements ITreeBranchEditPart { /** * @generated */ public static final int VISUAL_ID = 4001; /** * @generated */ public MeansEndEditPart(View view) { super(view); } /** * @generated */ protected void createDefaultEditPolicies() { super.createDefaultEditPolicies(); installEditPolicy(EditPolicyRoles.SEMANTIC_ROLE, new edu.toronto.cs.se.modelepedia.istar_mavo.diagram.edit.policies.MeansEndItemSemanticEditPolicy()); } /** * @generated */ protected boolean addFixedChild(EditPart childEditPart) { if (childEditPart instanceof edu.toronto.cs.se.modelepedia.istar_mavo.diagram.edit.parts.WrappingLabel10EditPart) { ((edu.toronto.cs.se.modelepedia.istar_mavo.diagram.edit.parts.WrappingLabel10EditPart) childEditPart) .setLabel(getPrimaryShape().getFigureMAVOMeansEndLabelFigure()); return true; } return false; } /** * @generated */ protected void addChildVisual(EditPart childEditPart, int index) { if (addFixedChild(childEditPart)) { return; } super.addChildVisual(childEditPart, index); } /** * @generated */ protected boolean removeFixedChild(EditPart childEditPart) { if (childEditPart instanceof edu.toronto.cs.se.modelepedia.istar_mavo.diagram.edit.parts.WrappingLabel10EditPart) { return true; } return false; } /** * @generated */ protected void removeChildVisual(EditPart childEditPart) { if (removeFixedChild(childEditPart)) { return; } super.removeChildVisual(childEditPart); } /** * 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 MeansEndFigure(); } /** * @generated */ public MeansEndFigure getPrimaryShape() { return (MeansEndFigure) getFigure(); } /** * @generated */ public class MeansEndFigure extends PolylineConnectionEx { /** * @generated */ private WrappingLabel fFigureMAVOMeansEndLabelFigure; /** * @generated */ public MeansEndFigure() { createContents(); setTargetDecoration(createTargetDecoration()); } /** * @generated */ private void createContents() { fFigureMAVOMeansEndLabelFigure = new WrappingLabel(); fFigureMAVOMeansEndLabelFigure.setText(""); fFigureMAVOMeansEndLabelFigure .setMaximumSize(new Dimension(getMapMode().DPtoLP(10000), getMapMode().DPtoLP(50))); this.add(fFigureMAVOMeansEndLabelFigure); } /** * @generated */ private RotatableDecoration createTargetDecoration() { PolygonDecoration df = new PolygonDecoration(); df.setFill(true); df.setBackgroundColor(ColorConstants.white); PointList pl = new PointList(); pl.addPoint(getMapMode().DPtoLP(0), getMapMode().DPtoLP(0)); pl.addPoint(getMapMode().DPtoLP(-2), getMapMode().DPtoLP(2)); pl.addPoint(getMapMode().DPtoLP(-2), getMapMode().DPtoLP(-2)); pl.addPoint(getMapMode().DPtoLP(0), getMapMode().DPtoLP(0)); df.setTemplate(pl); df.setScale(getMapMode().DPtoLP(7), getMapMode().DPtoLP(3)); return df; } /** * @generated */ public WrappingLabel getFigureMAVOMeansEndLabelFigure() { return fFigureMAVOMeansEndLabelFigure; } } }