diva.canvas.interactor
Class BoundsManipulator

java.lang.Object
  extended by diva.canvas.AbstractFigure
      extended by diva.canvas.AbstractFigureContainer
          extended by diva.canvas.FigureDecorator
              extended by diva.canvas.interactor.Manipulator
                  extended by diva.canvas.interactor.BoundsManipulator
All Implemented Interfaces:
CanvasComponent, Figure, FigureContainer, FigureSet, VisibleComponent, UserObjectContainer
Direct Known Subclasses:
RangeManipulator

public class BoundsManipulator
extends Manipulator

A manipulator which attaches grab handles to the bounds of the child figure. It renders the grab handles and gives them a chance to intercept picks.

Version:
$Revision: 1.17 $
Author:
John Reekie (johnr@eecs.berkeley.edu), Michael Shilman (michaels@eecs.berkeley.edu)

Field Summary
protected  Interactor _dragInteractor
          The interactor that is attached to a move handle.
protected  BoundsGeometry _geometry
          The geometry "helper"
 
Constructor Summary
BoundsManipulator()
          Construct a new manipulator that uses rectangular grab-handles.
BoundsManipulator(GrabHandleFactory f)
          Construct a new manipulator using the given grab-handle factory.
 
Method Summary
protected  BoundsGeometry getGeometry()
          Return the geometry of this manipulator PWD: change protection to protected from private(!).
 FigureDecorator newInstance(Figure f)
          Create a new instance of this manipulator.
 void refresh()
          Refresh the geometry.
 void setChild(Figure child)
          Set the child figure.
 void setDragInteractor(Interactor dragger)
          Set the drag interactor for figures wrapped by this manipulator.
 
Methods inherited from class diva.canvas.interactor.Manipulator
addGrabHandle, clearGrabHandles, getBounds, getGrabHandleFactory, getHandleInteractor, isRepainting, paint, pick, relocateGrabHandles, removeGrabHandle, repaint, repaint, repaintAlready, setGrabHandleFactory, setHandleFilter, setHandleInteractor, setRepainting
 
Methods inherited from class diva.canvas.FigureDecorator
add, contains, figures, figuresFromBack, figuresFromFront, getChild, getContainer, getDecoratedFigure, getFigureCount, getShape, hit, remove, replaceChild, transform
 
Methods inherited from class diva.canvas.AbstractFigureContainer
decorate, pick, translate, undecorate
 
Methods inherited from class diva.canvas.AbstractFigure
contains, getInteractor, getLayer, getOrigin, getParent, getToolTipText, getTransformContext, getUserObject, intersects, isVisible, paint, setInteractor, setParent, setToolTipText, setUserObject, setVisible
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface diva.canvas.VisibleComponent
isVisible, paint, setVisible
 
Methods inherited from interface diva.canvas.CanvasComponent
getParent, getTransformContext
 

Field Detail

_geometry

protected BoundsGeometry _geometry
The geometry "helper"


_dragInteractor

protected Interactor _dragInteractor
The interactor that is attached to a move handle.

Constructor Detail

BoundsManipulator

public BoundsManipulator()
Construct a new manipulator that uses rectangular grab-handles.


BoundsManipulator

public BoundsManipulator(GrabHandleFactory f)
Construct a new manipulator using the given grab-handle factory.

Method Detail

getGeometry

protected BoundsGeometry getGeometry()
Return the geometry of this manipulator PWD: change protection to protected from private(!).


newInstance

public FigureDecorator newInstance(Figure f)
Create a new instance of this manipulator. The new instance will have the same grab handle, and interactor for grab-handles, as this one.

Specified by:
newInstance in class FigureDecorator

refresh

public void refresh()
Refresh the geometry. This adjusts the bounds of the geometry to match the bounds of the child figure.

Specified by:
refresh in class Manipulator

setChild

public void setChild(Figure child)
Set the child figure. If we have any grab-handles, lose them. Then get a rectangle geometry object and create grab-handles on its sites.

Overrides:
setChild in class FigureDecorator

setDragInteractor

public void setDragInteractor(Interactor dragger)
Set the drag interactor for figures wrapped by this manipulator. If set, the manipulator displays an additional handle that can be used to drag the figure. This is useful for certain types of figure that are outlines only.



Copyright © 2015 Central Laboratory of the Research Councils. All Rights Reserved.