| //------------------------------------------------------------------------------ |
| // Copyright (c) 2005, 2007 IBM Corporation and others. |
| // 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: |
| // IBM Corporation - initial implementation |
| //------------------------------------------------------------------------------ |
| package org.eclipse.epf.diagram.ad.edit.parts; |
| |
| import org.eclipse.draw2d.IFigure; |
| import org.eclipse.draw2d.geometry.Dimension; |
| import org.eclipse.draw2d.geometry.Point; |
| import org.eclipse.gef.GraphicalEditPart; |
| import org.eclipse.gmf.runtime.diagram.ui.editparts.LabelEditPart; |
| import org.eclipse.gmf.runtime.diagram.ui.figures.LabelLocator; |
| import org.eclipse.gmf.runtime.notation.NotationPackage; |
| import org.eclipse.gmf.runtime.notation.View; |
| |
| /** |
| * @generated |
| */ |
| public class UMLExtNodeLabelEditPart extends LabelEditPart { |
| |
| /** |
| * @generated |
| */ |
| public UMLExtNodeLabelEditPart(View view) { |
| super(view); |
| } |
| |
| /** |
| * @generated |
| */ |
| public void refreshBounds() { |
| IFigure refFigure = ((GraphicalEditPart) getParent()).getFigure(); |
| int dx = ((Integer) getStructuralFeatureValue(NotationPackage.eINSTANCE |
| .getLocation_X())).intValue(); |
| int dy = ((Integer) getStructuralFeatureValue(NotationPackage.eINSTANCE |
| .getLocation_Y())).intValue(); |
| Point offset = new Point(dx, dy); |
| getFigure().getParent().setConstraint(getFigure(), |
| new LabelLocator(refFigure, offset, getKeyPoint()) { |
| |
| public void relocate(IFigure target) { |
| Point location = getReferencePoint().getTranslated( |
| getOffset()); |
| location.translate(-target.getBounds().width / 2, 0); |
| target.setLocation(location); |
| target.setSize(new Dimension( |
| target.getPreferredSize().width, target |
| .getPreferredSize().height)); |
| } |
| |
| protected Point getReferencePoint() { |
| return getLabelLocation(parent); |
| } |
| }); |
| } |
| |
| /** |
| * @generated |
| */ |
| public Point getReferencePoint() { |
| return getLabelLocation(((GraphicalEditPart) getParent()).getFigure()); |
| } |
| |
| /** |
| * @generated |
| */ |
| protected Point getLabelLocation(IFigure parent) { |
| return parent.getBounds().getBottom(); |
| } |
| } |