UC Berkeley Group for User Interface Research
Updated November 17, 2000

edu.berkeley.guir.lib.satin.interpreter.commands
Class StandardGestureInterpreter

java.lang.Object
  |
  +--edu.berkeley.guir.lib.satin.interpreter.InterpreterImpl
        |
        +--edu.berkeley.guir.lib.satin.interpreter.GestureCommandInterpreterImpl
              |
              +--edu.berkeley.guir.lib.satin.interpreter.commands.StandardGestureInterpreter
All Implemented Interfaces:
Cloneable, EventFilter, EventListener, Interpreter, SatinConstants, SatinEventFilter, Serializable, StrokeEventFilter, StrokeListener

public class StandardGestureInterpreter
extends GestureCommandInterpreterImpl

Standard gestures, like cut, copy, paste, delete, and pan.

This software is distributed under the Berkeley Software License.

 Revisions:  - SATIN-v1.0-1.0.0, Aug 02 1999, JH
               Created class
             - SATIN-v2.1-1.0.0, Aug 11 2000, JH
               Touched for SATIN release
 

Since:
JDK 1.2.2
Version:
SATIN-v2.1-1.0.0, Aug 11 2000
Author:
Jason Hong ( jasonh@cs.berkeley.edu )
See Also:
Serialized Form

Inner classes inherited from class edu.berkeley.guir.lib.satin.SatinConstants
SatinConstants.ObjectPoolAffineTransform, SatinConstants.ObjectPoolPoint2D, SatinConstants.ObjectPoolPolygon2D, SatinConstants.ObjectPoolRectangle2D, SatinConstants.ObjectPoolStringBuffer, SatinConstants.UniqueAffineTransform, SatinConstants.UniquePoint2D, SatinConstants.UniquePolygon2D, SatinConstants.UniqueRectangle2D
 
Field Summary
protected  boolean flagShallow
           
protected  RubineInterpreter intrp
           
 
Fields inherited from interface edu.berkeley.guir.lib.satin.SatinConstants
ABOVE, ALL, BAR, BELOW, clipboard, clprops, cmdqueue, cmdsubsys, CONTAINEDBY, CONTAINS, COORD_ABS, COORD_LOCAL, COORD_REL, DAMAGE_LATER, DAMAGE_NOW, DEBUG_GRAPHICS_OFFSET, DEBUG_STYLE_FILE, DEBUG_STYLE_GPROPERTY, DEEP, DEFAULT_POINT2D_POOL_SIZE, DEFAULT_POLYGON2D_POOL_SIZE, DEFAULT_RECTANGLE_POOL_SIZE, DEFAULT_REPAINT_THRESHOLD, DEFAULT_SELECT_THRESHOLD, DEFAULT_STRINGBUFFER_POOL_SIZE, DEFAULT_TRANSFORM_POOL_SIZE, DIR_CENTER, DIR_DOWN, DIR_DOWN_LEFT, DIR_DOWN_RIGHT, DIR_LEFT, DIR_RIGHT, DIR_UP, DIR_UP_LEFT, DIR_UP_RIGHT, FILTER_THRESHOLD, FIRST, FLOATING_PT_TOLERANCE, glprops, INTERSECTS, KEY_STYLE_DASHARRAY, KEY_STYLE_DASHPHASE, KEY_STYLE_DRAWCOLOR, KEY_STYLE_DRAWFONT, KEY_STYLE_DRAWTRANSPARENCY, KEY_STYLE_ENDCAP, KEY_STYLE_FILLCOLOR, KEY_STYLE_FILLTRANSPARENCY, KEY_STYLE_LINEJOIN, KEY_STYLE_LINEWIDTH, KEY_STYLE_MITERLIMIT, NEAR, NOTIFY_BOUNDS, NOTIFY_LAYER, NOTIFY_LOCATION, NOTIFY_STYLE, NOTIFY_TRANSFORM, poolPoints, poolPolys, poolRects, poolStrbuf, poolTx, rand, SATIN_DATA_DIRECTORY_DEFAULT, SATIN_DATA_DIRECTORY_GPROPERTY, SATIN_PROPERTIES_FILENAME, SHALLOW
 
Constructor Summary
StandardGestureInterpreter()
           
 
Method Summary
 Object clone()
          Since not overriding clone() can cause many errors with copying-and-pasting, I'm forcing you to do it.
protected  GraphicalObject getGraphicalObjectCenteredAt(TimedStroke stk)
          Get the GraphicalObject near the center of this TimedStroke.
protected  GraphicalObject getGraphicalObjectCenteredAt(TimedStroke stk, double thresh)
          Get the GraphicalObject near the center of this TimedStroke, with the specified threshold.
protected  GraphicalObjectCollection getGraphicalObjectsTouching(TimedStroke stk, double thresh)
          Get things that intersect the stroke.
protected  void handleCenter(TimedStroke stk)
          Center the screen to be at the mark.
protected  void handleCopy(TimedStroke stk)
          Copy whatever is in the center of the stroke.
protected  void handleCut(TimedStroke stk)
          Cut whatever intersects the stroke.
protected  void handleDelete(TimedStroke stk)
          Delete whatever is in the center of the stroke (except ourself of course).
protected  void handlePaste(TimedStroke stk)
          Paste to the bottom-center of the stroke.
protected  void handleRedo()
          Handle a redo.
 void handleSingleStroke(SingleStrokeEvent evt)
          By default, does nothing.
protected  void handleUndo()
          Handle an undo.
protected  void handleViewPort(String str, TimedStroke stk)
          Handle a move view port command.
 void setDeep()
          Set the GraphicalObject retrieval to be deep (in terms of the data structure, ie one level).
 void setShallow()
          Set the GraphicalObject retrieval to be shallow (in terms of the data structure, ie one level).
 
Methods inherited from class edu.berkeley.guir.lib.satin.interpreter.GestureCommandInterpreterImpl
clone, fireGestureCommandCallback, getGestureCommandCallback, registerCallback, registerDefaultCallback, registerGroupCallback, setAttachedGraphicalObject, unregisterCallback, unregisterDefaultCallback, unregisterGroupCallback
 
Methods inherited from class edu.berkeley.guir.lib.satin.interpreter.InterpreterImpl
clone, getAttachedGraphicalObject, getName, handleNewStroke, handleUpdateStroke, isConsumedAccepted, isEnabled, isEventAccepted, isEventAccepted, isLeftButtonAccepted, isMiddleButtonAccepted, isRightButtonAccepted, setAcceptConsumed, setAcceptLeftButton, setAcceptMiddleButton, setAcceptRightButton, setEnabled, setName, toString
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

flagShallow

protected boolean flagShallow

intrp

protected RubineInterpreter intrp
Constructor Detail

StandardGestureInterpreter

public StandardGestureInterpreter()
Method Detail

setShallow

public void setShallow()
Set the GraphicalObject retrieval to be shallow (in terms of the data structure, ie one level). This affects how cut, copy, paste, and delete work.

setDeep

public void setDeep()
Set the GraphicalObject retrieval to be deep (in terms of the data structure, ie one level). This affects how cut, copy, paste, and delete work.

handleSingleStroke

public void handleSingleStroke(SingleStrokeEvent evt)
Description copied from class: InterpreterImpl
By default, does nothing.
Overrides:
handleSingleStroke in class InterpreterImpl
Following copied from interface: edu.berkeley.guir.lib.satin.event.StrokeListener
See Also:
StrokeListener.handleNewStroke(NewStrokeEvent).

handleUndo

protected void handleUndo()
Handle an undo. Override this method if you want.

handleRedo

protected void handleRedo()
Handle a redo. Override this method if you want.

handleCut

protected void handleCut(TimedStroke stk)
Cut whatever intersects the stroke. Override this method if you want.

handleCopy

protected void handleCopy(TimedStroke stk)
Copy whatever is in the center of the stroke. Override this method if you want.

handlePaste

protected void handlePaste(TimedStroke stk)
Paste to the bottom-center of the stroke. Override this method if you want.

handleDelete

protected void handleDelete(TimedStroke stk)
Delete whatever is in the center of the stroke (except ourself of course). Override this method if you want.

handleCenter

protected void handleCenter(TimedStroke stk)
Center the screen to be at the mark. Override this method if you want.

handleViewPort

protected void handleViewPort(String str,
                              TimedStroke stk)
Handle a move view port command. Override this method if you want.

getGraphicalObjectsTouching

protected GraphicalObjectCollection getGraphicalObjectsTouching(TimedStroke stk,
                                                                double thresh)
Get things that intersect the stroke. Override this method to change the behavior of how objects intersecting a stroke are selected. For example, in DENIM, this method is modified such that DenimPanel objects can be deleted when zoomed out (ie shallow), and strokes and phrases can be deleted when zoomed in (ie deep).

getGraphicalObjectCenteredAt

protected GraphicalObject getGraphicalObjectCenteredAt(TimedStroke stk)
Get the GraphicalObject near the center of this TimedStroke.

getGraphicalObjectCenteredAt

protected GraphicalObject getGraphicalObjectCenteredAt(TimedStroke stk,
                                                       double thresh)
Get the GraphicalObject near the center of this TimedStroke, with the specified threshold.

clone

public Object clone()
Description copied from class: InterpreterImpl
Since not overriding clone() can cause many errors with copying-and-pasting, I'm forcing you to do it. So there.
Overrides:
clone in class InterpreterImpl

Copyright Information