org.jhotdraw.draw
Class BezierNodeHandle

java.lang.Object
  extended by org.jhotdraw.draw.AbstractHandle
      extended by org.jhotdraw.draw.BezierNodeHandle
All Implemented Interfaces:
java.awt.event.KeyListener, java.util.EventListener, FigureListener, Handle

public class BezierNodeHandle
extends AbstractHandle

A Handle which allows to interactively change a node of a bezier path.

Version:
$Id: BezierNodeHandle.java 564 2009-10-10 10:21:01Z rawcoder $
Author:
Werner Randelshofer

Field Summary
private  CompositeEdit edit
           
protected  int index
           
private  BezierPath.Node oldNode
           
private  Figure transformOwner
           
 
Fields inherited from class org.jhotdraw.draw.AbstractHandle
listenerList, view
 
Constructor Summary
BezierNodeHandle(BezierFigure owner, int index)
          Creates a new instance.
BezierNodeHandle(BezierFigure owner, int index, Figure transformOwner)
           
 
Method Summary
protected  java.awt.Rectangle basicGetBounds()
           
 java.util.Collection<Handle> createSecondaryHandles()
          Creates secondary handles.
 void dispose()
          Disposes the resources aquired by the handler.
 void draw(java.awt.Graphics2D g)
          Draws this handle.
private  void fireAreaInvalidated(BezierPath.Node v)
           
protected  BezierPath.Node getBezierNode()
           
protected  java.awt.Point getLocation()
           
 BezierFigure getOwner()
          Returns the owner of this handle.
 java.lang.String getToolTipText(java.awt.Point p)
          Returns a tooltip for the specified location.
protected  Figure getTransformOwner()
           
 boolean isCombinableWith(Handle h)
          Returns true, if the given handle is an instance of the same class or of a subclass of this handle,.
 void keyPressed(java.awt.event.KeyEvent evt)
           
 void trackDoubleClick(java.awt.Point p, int modifiersEx)
          Tracks a double click.
 void trackEnd(java.awt.Point anchor, java.awt.Point lead, int modifiersEx)
          Tracks the end of the interaction.
 void trackStart(java.awt.Point anchor, int modifiersEx)
          Tracks the start of the interaction.
 void trackStep(java.awt.Point anchor, java.awt.Point lead, int modifiersEx)
          Tracks a step of the interaction.
 
Methods inherited from class org.jhotdraw.draw.AbstractHandle
addHandleListener, areaInvalidated, attributeChanged, contains, drawCircle, drawDiamond, drawRectangle, figureAdded, figureChanged, figureHandlesChanged, figureRemoved, figureRequestRemove, fireAreaInvalidated, fireHandleRequestRemove, fireHandleRequestSecondaryHandles, fireUndoableEditHappened, getBounds, getCursor, getDrawingArea, getEditor, getHandlesize, getView, invalidate, keyReleased, keyTyped, removeHandleListener, setToolTipText, setView, updateBounds, viewTransformChanged
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

index

protected int index

edit

private CompositeEdit edit

oldNode

private BezierPath.Node oldNode

transformOwner

private Figure transformOwner
Constructor Detail

BezierNodeHandle

public BezierNodeHandle(BezierFigure owner,
                        int index)
Creates a new instance.


BezierNodeHandle

public BezierNodeHandle(BezierFigure owner,
                        int index,
                        Figure transformOwner)
Method Detail

dispose

public void dispose()
Description copied from interface: Handle
Disposes the resources aquired by the handler.

Specified by:
dispose in interface Handle
Overrides:
dispose in class AbstractHandle

draw

public void draw(java.awt.Graphics2D g)
Draws this handle.

Specified by:
draw in interface Handle
Overrides:
draw in class AbstractHandle

getOwner

public BezierFigure getOwner()
Description copied from interface: Handle
Returns the owner of this handle.

Specified by:
getOwner in interface Handle
Overrides:
getOwner in class AbstractHandle

getLocation

protected java.awt.Point getLocation()

getBezierNode

protected BezierPath.Node getBezierNode()

basicGetBounds

protected java.awt.Rectangle basicGetBounds()
Specified by:
basicGetBounds in class AbstractHandle

getTransformOwner

protected Figure getTransformOwner()

trackStart

public void trackStart(java.awt.Point anchor,
                       int modifiersEx)
Description copied from interface: Handle
Tracks the start of the interaction. The default implementation does nothing.

Parameters:
anchor - the position where the interaction started

trackStep

public void trackStep(java.awt.Point anchor,
                      java.awt.Point lead,
                      int modifiersEx)
Description copied from interface: Handle
Tracks a step of the interaction.

Parameters:
anchor - the position where the interaction started
lead - the current position

fireAreaInvalidated

private void fireAreaInvalidated(BezierPath.Node v)

trackEnd

public void trackEnd(java.awt.Point anchor,
                     java.awt.Point lead,
                     int modifiersEx)
Description copied from interface: Handle
Tracks the end of the interaction.

Parameters:
anchor - the position where the interaction started
lead - the current position

isCombinableWith

public boolean isCombinableWith(Handle h)
Description copied from class: AbstractHandle
Returns true, if the given handle is an instance of the same class or of a subclass of this handle,.

Specified by:
isCombinableWith in interface Handle
Overrides:
isCombinableWith in class AbstractHandle

trackDoubleClick

public void trackDoubleClick(java.awt.Point p,
                             int modifiersEx)
Description copied from class: AbstractHandle
Tracks a double click.

Specified by:
trackDoubleClick in interface Handle
Overrides:
trackDoubleClick in class AbstractHandle

createSecondaryHandles

public java.util.Collection<Handle> createSecondaryHandles()
Description copied from interface: Handle
Creates secondary handles.

Specified by:
createSecondaryHandles in interface Handle
Overrides:
createSecondaryHandles in class AbstractHandle

getToolTipText

public java.lang.String getToolTipText(java.awt.Point p)
Description copied from class: AbstractHandle
Returns a tooltip for the specified location. By default, AbstractHandle returns null.

Specified by:
getToolTipText in interface Handle
Overrides:
getToolTipText in class AbstractHandle

keyPressed

public void keyPressed(java.awt.event.KeyEvent evt)
Specified by:
keyPressed in interface java.awt.event.KeyListener
Overrides:
keyPressed in class AbstractHandle