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

edu.berkeley.guir.lib.satin.interpreter
Class GestureCommandInterpreterImpl

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

public abstract class GestureCommandInterpreterImpl
extends InterpreterImpl

An interpreter that does commands.

This software is distributed under the Berkeley Software License.

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

Since:
JDK 1.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
 
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
GestureCommandInterpreterImpl()
          Empty constructor.
 
Method Summary
protected  GestureCommandInterpreterImpl clone(GestureCommandInterpreterImpl intrp)
           
protected  void fireGestureCommandCallback(String strGestureName, TimedStroke stk, GraphicalObjectCollection gobcol)
          Activate the corresponding gesture callback.
protected  GestureCommandCallback getGestureCommandCallback(String strGestureName)
          Get the callback that should be used for this gesture category.
 void registerCallback(String strGestureName, GestureCommandCallback handle)
          Register a callback to be executed when a gesture is classified.
 void registerDefaultCallback(GestureCommandCallback handle)
          Register the default callback.
 void registerGroupCallback(String strGestureName, GestureCommandCallback handle)
          Register a group callback to be executed when a gesture is classified.
 GraphicalObject setAttachedGraphicalObject(GraphicalObject gob)
          Set the GraphicalObject this Interpreter is attached to.
 void unregisterCallback(String strGestureName)
          Remove a registered callback.
 void unregisterDefaultCallback()
          Remove the default callback.
 void unregisterGroupCallback(String strGestureName)
          Remove a registered group callback.
 
Methods inherited from class edu.berkeley.guir.lib.satin.interpreter.InterpreterImpl
clone, clone, getAttachedGraphicalObject, getName, handleNewStroke, handleSingleStroke, 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
 

Constructor Detail

GestureCommandInterpreterImpl

public GestureCommandInterpreterImpl()
Empty constructor.
Method Detail

getGestureCommandCallback

protected GestureCommandCallback getGestureCommandCallback(String strGestureName)
Get the callback that should be used for this gesture category.
Returns:
the corresponding callback, or null if there is none.

fireGestureCommandCallback

protected void fireGestureCommandCallback(String strGestureName,
                                          TimedStroke stk,
                                          GraphicalObjectCollection gobcol)
Activate the corresponding gesture callback.

registerCallback

public void registerCallback(String strGestureName,
                             GestureCommandCallback handle)
Register a callback to be executed when a gesture is classified.

Here is how the callbacks work. There are three different kinds of callbacks, singles, groups, and default. Suppose we have a classified gesture with the name "panleft" (case sensitive). In order, we:

The group callback is useful for groups of gestures, such as "panleft", "panright", and so on. To handle these, you can just add "pan" as a group callback.


unregisterCallback

public void unregisterCallback(String strGestureName)
Remove a registered callback.
See Also:
for how these callbacks work and in what order they are called

registerGroupCallback

public void registerGroupCallback(String strGestureName,
                                  GestureCommandCallback handle)
Register a group callback to be executed when a gesture is classified.
See Also:
for how these callbacks work and in what order they are called

unregisterGroupCallback

public void unregisterGroupCallback(String strGestureName)
Remove a registered group callback.
See Also:
for how these callbacks work and in what order they are called

registerDefaultCallback

public void registerDefaultCallback(GestureCommandCallback handle)
Register the default callback.
See Also:
for how these callbacks work and in what order they are called

unregisterDefaultCallback

public void unregisterDefaultCallback()
Remove the default callback.
See Also:
for how these callbacks work and in what order they are called

setAttachedGraphicalObject

public GraphicalObject setAttachedGraphicalObject(GraphicalObject gob)
Description copied from class: InterpreterImpl
Set the GraphicalObject this Interpreter is attached to.
Overrides:
setAttachedGraphicalObject in class InterpreterImpl
Following copied from class: edu.berkeley.guir.lib.satin.interpreter.InterpreterImpl
Parameters:
gob - is the GraphicalObject this Interpreter is to be attached to. Okay if null temporarily.

clone

protected GestureCommandInterpreterImpl clone(GestureCommandInterpreterImpl intrp)

Copyright Information