package net.ms.designer.editors.component.editparts; import net.ms.designer.editors.component.figures.NodeFigure; import org.eclipse.draw2d.geometry.Rectangle; import org.eclipse.gef.tools.CellEditorLocator; import org.eclipse.jface.viewers.CellEditor; import org.eclipse.swt.SWT; import org.eclipse.swt.graphics.Point; import org.eclipse.swt.widgets.Text; /** * CellEditorLocator for Activities. * @author Daniel Lee */ public class NodeCellEditorLocator implements CellEditorLocator { private NodeFigure nodeFigure; /** * Creates a new ActivityCellEditorLocator for the given Label * @param nodeFigure the Label */ public NodeCellEditorLocator(NodeFigure nodeFigure) { this.nodeFigure = nodeFigure; } /** * @see CellEditorLocator#relocate(org.eclipse.jface.viewers.CellEditor) */ public void relocate(CellEditor celleditor) { Text text = (Text) celleditor.getControl(); Point pref = text.computeSize(SWT.DEFAULT, SWT.DEFAULT); Rectangle rect = this.nodeFigure.getTextBounds(); text.setBounds(rect.x - 1, rect.y - 1, pref.x + 1, pref.y + 1); } }