/******************************************************************************* * Copyright (c) 2000, 2005 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 API and implementation *******************************************************************************/ package org.eclipse.gef.handles; import org.eclipse.swt.graphics.Cursor; import org.eclipse.draw2d.Cursors; import org.eclipse.draw2d.Locator; import org.eclipse.gef.DragTracker; import org.eclipse.gef.GraphicalEditPart; import org.eclipse.gef.tools.ResizeTracker; /** * A Handle used to resize a GraphicalEditPart. */ public class ResizeHandle extends SquareHandle { private int cursorDirection = 0; /** * Creates a new ResizeHandle for the given GraphicalEditPart. * <code>direction</code> is the relative direction from the * center of the owner figure. For example, <code>SOUTH_EAST</code> * would place the handle in the lower-right corner of its * owner figure. These direction constants can be found in * {@link org.eclipse.draw2d.PositionConstants}. * @param owner owner of the ResizeHandle * @param direction relative direction from the center of the owner figure */ public ResizeHandle(GraphicalEditPart owner, int direction) { setOwner(owner); setLocator(new RelativeHandleLocator(owner.getFigure(), direction)); setCursor(Cursors.getDirectionalCursor(direction, owner.getFigure().isMirrored())); cursorDirection = direction; } /** * Creates a new ResizeHandle for the given GraphicalEditPart. * * @see SquareHandle#SquareHandle(GraphicalEditPart, Locator, Cursor) */ public ResizeHandle(GraphicalEditPart owner, Locator loc, Cursor c) { super(owner, loc, c); } /** * Returns <code>null</code> for the DragTracker. * @return returns <code>null</code> */ protected DragTracker createDragTracker() { return new ResizeTracker(getOwner(), cursorDirection); } }