blob: ae64a3adbb1ff14d305dad6d8aaf705cc3ebe979 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2000, 2010 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 java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import org.eclipse.gef.DragTracker;
/**
* A handle for bendpoints on a connection.
*/
public class BendpointHandle extends ConnectionHandle implements
PropertyChangeListener {
/*
* @TODO:Pratik No need to implement PropertyChangeListener or override
* propertyChange()
*/
private int index;
/**
* By default, <code>null</code> is returned for the DragTracker.
*
* @return returns null by default
*/
protected DragTracker createDragTracker() {
return null;
}
/**
* Returns the index. This could mean different things for different
* subclasses. It could be the index of the point the handle belongs to. Or
* it could be the index of the handle itself. For
* {@link BendpointCreationHandle}s and {@link BendpointMoveHandle}s, this
* is the index of the handle itself, where these two types of handles are
* indexed separately. For example, if you have one bendpoint, you will have
* 2 creation handles, indexed as 0 and 1, and 1 move handle, indexed as 0.
*
* @return the index
*/
public int getIndex() {
return index;
}
/**
* Revalidates this handle when the connection's points change.
*
* @param event
* the event that caused the points change
*/
public void propertyChange(PropertyChangeEvent event) {
revalidate();
}
/**
* Sets the index.
*
* @param i
* the new index
* @see #getIndex()
*/
protected void setIndex(int i) {
index = i;
}
}