ActionManagerMT
Date: 2019-10-22

org.jmol.multitouch

## Class ActionManagerMT

- java.lang.Object
- - org.jmol.viewer.ActionManager
  - - org.jmol.multitouch.ActionManagerMT

- All Implemented Interfaces:
    EventManager, JmolMultiTouchClient

      public class ActionManagerMT
      extends ActionManager
      implements JmolMultiTouchClient

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private JmolMultiTouchAdapter` | `adapter`
    `static int` | `BIRTH`
    `static int` | `CLICK`
    `static int` | `CLICK_EVENT`
    `static int` | `DBLCLK_EVENT`
    `static int` | `DBLCLK_GESTURE`
    `static int` | `DEATH`
    `private boolean` | `doneHere`
    `static int` | `DRAG_EVENT`
    `static int` | `DRAG_GESTURE`
    `static int` | `DRIVER_NONE`
    `private static java.lang.String[]` | `eventNames`
    `static int` | `FLICK_EVENT`
    `static int` | `FLICK_GESTURE`
    `private int` | `groupID`
    `static int` | `INVALID_GESTURE`
    `private long` | `lastLogTime`
    `(package private) boolean` | `mouseDown`
    `static int` | `MOVE`
    `static int` | `MULTI_POINT_DRAG_GESTURE`
    `static int` | `RELATIVE_DRAG_EVENT`
    `static int` | `RELATIVE_DRAG_GESTURE`
    `private boolean` | `resetNeeded`
    `static int` | `ROTATE_EVENT`
    `static int` | `ROTATE_GESTURE`
    `static int` | `SERVICE_LOST`
    `private int` | `simulationPhase`
    `private JmolTouchSimulatorInterface` | `simulator`
    `private static com.sparshui.GestureType` | `SINGLE_POINT_GESTURE`
    `static int` | `SPIN_EVENT`
    `static int` | `SPIN_GESTURE`
    `static int` | `TOUCH_EVENT`
    `static int` | `TOUCH_GESTURE`
    `private static com.sparshui.GestureType` | `TWO_POINT_GESTURE`
    `static int` | `ZOOM_EVENT`
    `static int` | `ZOOM_GESTURE`

    - ### Fields inherited from class org.jmol.viewer.ActionManager

      `ACTION_assignNew, ACTION_center, ACTION_clickFrank, ACTION_connectAtoms, ACTION_count, ACTION_deleteAtom, ACTION_deleteBond, ACTION_depth, ACTION_dragAtom, ACTION_dragDrawObject, ACTION_dragDrawPoint, ACTION_dragLabel, ACTION_dragMinimize, ACTION_dragMinimizeMolecule, ACTION_dragSelected, ACTION_dragZ, ACTION_multiTouchSimulation, ACTION_navTranslate, ACTION_pickAtom, ACTION_pickIsosurface, ACTION_pickLabel, ACTION_pickMeasure, ACTION_pickNavigate, ACTION_pickPoint, ACTION_popupMenu, ACTION_reset, ACTION_rotate, ACTION_rotateBranch, ACTION_rotateSelected, ACTION_rotateZ, ACTION_rotateZorZoom, ACTION_select, ACTION_selectAndDrag, ACTION_selectAndNot, ACTION_selectNone, ACTION_selectOr, ACTION_selectToggle, ACTION_selectToggleExtended, ACTION_setMeasure, ACTION_slab, ACTION_slabAndDepth, ACTION_slideZoom, ACTION_spinDrawObjectCCW, ACTION_spinDrawObjectCW, ACTION_stopMotion, ACTION_swipe, ACTION_translate, ACTION_wheelZoom, b, clickedCount, current, DEFAULT_GESTURE_SWIPE_FACTOR, DEFAULT_MOUSE_DRAG_FACTOR, DEFAULT_MOUSE_WHEEL_FACTOR, haveMultiTouchInput, hoverWatcherThread, isMultiTouch, isMultiTouchClient, isMultiTouchServer, MININUM_GESTURE_DELAY_MILLISECONDS, mouseDragFactor, mouseWheelFactor, moved, PICKING_ASSIGN_ATOM, PICKING_ASSIGN_BOND, PICKING_CENTER, PICKING_CONNECT, PICKING_DELETE_ATOM, PICKING_DELETE_BOND, PICKING_DRAG_ATOM, PICKING_DRAG_LIGAND, PICKING_DRAG_MINIMIZE, PICKING_DRAG_MINIMIZE_MOLECULE, PICKING_DRAG_MOLECULE, PICKING_DRAG_SELECTED, PICKING_DRAW, PICKING_IDENTIFY, PICKING_IDENTIFY_BOND, PICKING_INVERT_STEREO, PICKING_LABEL, PICKING_MEASURE, PICKING_MEASURE_ANGLE, PICKING_MEASURE_DISTANCE, PICKING_MEASURE_SEQUENCE, PICKING_MEASURE_TORSION, PICKING_MK_RESET, PICKING_NAVIGATE, PICKING_OFF, PICKING_ROTATE_BOND, PICKING_SELECT_ATOM, PICKING_SELECT_CHAIN, PICKING_SELECT_ELEMENT, PICKING_SELECT_GROUP, PICKING_SELECT_MODEL, PICKING_SELECT_MOLECULE, PICKING_SELECT_POLYMER, PICKING_SELECT_SITE, PICKING_SELECT_STRUCTURE, PICKING_SPIN, PICKING_STRUTS, PICKING_SYMMETRY, PICKINGSTYLE_MEASURE_OFF, PICKINGSTYLE_MEASURE_ON, PICKINGSTYLE_SELECT_CHIME, PICKINGSTYLE_SELECT_DRAG, PICKINGSTYLE_SELECT_JMOL, PICKINGSTYLE_SELECT_PFAAT, PICKINGSTYLE_SELECT_RASMOL, pressedCount, vwr, XY_RANGE, zoomTrigger`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ActionManagerMT()`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `clear()`
    `void` | `dispose()`
    `javajs.util.Lst<com.sparshui.GestureType>` | `getAllowedGestures(int groupID)`
    `protected float` | `getDegrees(float delta, boolean isX)` Transform a screen pixel change to an angular change such that a full sweep of the dimension (up to 500 pixels) corresponds to 180 degrees of rotation.
    `private static java.lang.String` | `getEventName(int i)`
    `int` | `getGroupID(int x, int y)`
    `private void` | `logEvent(java.lang.String type, javajs.util.P3 pt)`
    `void` | `mouseAction(int mode, long time, int x, int y, int count, int modifiers)`
    `void` | `processMultitouchEvent(int groupID, int eventType, int touchID, int iData, javajs.util.P3 pt, long time)` Specific to ActionManagerMT -- for processing SparshUI gestures
    `protected void` | `setBinding(Binding newBinding)`
    `void` | `setViewer(Viewer vwr, java.lang.String commandOptions)`
    `private void` | `startSparshUIService(boolean isSimulated)`

    - ### Methods inherited from class org.jmol.viewer.ActionManager

      `checkHover, clearBindings, clearMouseInfo, getActionFromName, getActionName, getBindingInfo, getBondPickingMode, getPickingMode, getPickingModeName, getPickingState, getPickingStyleIndex, getPickingStyleName, isMTClient, isMTServer, keyPressed, keyReleased, keyTyped, mouseEnterExit, setCurrent, setDragAtomIndex, setModeMouse, setMotion, setMouseMode, startHoverWatcher, userAction, userActionEnabled, zoomByFactor`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### adapter

          private JmolMultiTouchAdapter adapter

    - #### simulator

          private JmolTouchSimulatorInterface simulator

    - #### groupID

          private int groupID

    - #### simulationPhase

          private int simulationPhase

    - #### resetNeeded

          private boolean resetNeeded

    - #### lastLogTime

          private long lastLogTime

    - #### doneHere

          private boolean doneHere

    - #### DRAG_GESTURE

          public static final int DRAG_GESTURE

      See Also:
        Constant Field Values

    - #### MULTI_POINT_DRAG_GESTURE

          public static final int MULTI_POINT_DRAG_GESTURE

      See Also:
        Constant Field Values

    - #### ROTATE_GESTURE

          public static final int ROTATE_GESTURE

      See Also:
        Constant Field Values

    - #### SPIN_GESTURE

          public static final int SPIN_GESTURE

      See Also:
        Constant Field Values

    - #### TOUCH_GESTURE

          public static final int TOUCH_GESTURE

      See Also:
        Constant Field Values

    - #### ZOOM_GESTURE

          public static final int ZOOM_GESTURE

      See Also:
        Constant Field Values

    - #### DBLCLK_GESTURE

          public static final int DBLCLK_GESTURE

      See Also:
        Constant Field Values

    - #### FLICK_GESTURE

          public static final int FLICK_GESTURE

      See Also:
        Constant Field Values

    - #### RELATIVE_DRAG_GESTURE

          public static final int RELATIVE_DRAG_GESTURE

      See Also:
        Constant Field Values

    - #### INVALID_GESTURE

          public static final int INVALID_GESTURE

      See Also:
        Constant Field Values

    - #### TWO_POINT_GESTURE

          private static final com.sparshui.GestureType TWO_POINT_GESTURE

    - #### SINGLE_POINT_GESTURE

          private static final com.sparshui.GestureType SINGLE_POINT_GESTURE

    - #### DRIVER_NONE

          public static final int DRIVER_NONE

      See Also:
        Constant Field Values

    - #### SERVICE_LOST

          public static final int SERVICE_LOST

      See Also:
        Constant Field Values

    - #### DRAG_EVENT

          public static final int DRAG_EVENT

      See Also:
        Constant Field Values

    - #### ROTATE_EVENT

          public static final int ROTATE_EVENT

      See Also:
        Constant Field Values

    - #### SPIN_EVENT

          public static final int SPIN_EVENT

      See Also:
        Constant Field Values

    - #### TOUCH_EVENT

          public static final int TOUCH_EVENT

      See Also:
        Constant Field Values

    - #### ZOOM_EVENT

          public static final int ZOOM_EVENT

      See Also:
        Constant Field Values

    - #### DBLCLK_EVENT

          public static final int DBLCLK_EVENT

      See Also:
        Constant Field Values

    - #### FLICK_EVENT

          public static final int FLICK_EVENT

      See Also:
        Constant Field Values

    - #### RELATIVE_DRAG_EVENT

          public static final int RELATIVE_DRAG_EVENT

      See Also:
        Constant Field Values

    - #### CLICK_EVENT

          public static final int CLICK_EVENT

      See Also:
        Constant Field Values

    - #### eventNames

          private static final java.lang.String[] eventNames

    - #### BIRTH

          public static final int BIRTH

      See Also:
        Constant Field Values

    - #### DEATH

          public static final int DEATH

      See Also:
        Constant Field Values

    - #### MOVE

          public static final int MOVE

      See Also:
        Constant Field Values

    - #### CLICK

          public static final int CLICK

      See Also:
        Constant Field Values

    - #### mouseDown

          boolean mouseDown

  - ### Constructor Detail

    - #### ActionManagerMT

          public ActionManagerMT()

  - ### Method Detail

    - #### setViewer

          public void setViewer(Viewer vwr,
                                java.lang.String commandOptions)

      Overrides:
        `setViewer` in class `ActionManager`

    - #### startSparshUIService

          private void startSparshUIService(boolean isSimulated)

    - #### setBinding

          protected void setBinding(Binding newBinding)

      Overrides:
        `setBinding` in class `ActionManager`

    - #### clear

          public void clear()

      Overrides:
        `clear` in class `ActionManager`

    - #### dispose

          public void dispose()

      Overrides:
        `dispose` in class `ActionManager`

    - #### getEventName

          private static java.lang.String getEventName(int i)

    - #### getAllowedGestures

          public javajs.util.Lst<com.sparshui.GestureType> getAllowedGestures(int groupID)

      Specified by:
        `getAllowedGestures` in interface `JmolMultiTouchClient`

    - #### getGroupID

          public int getGroupID(int x,
                                int y)

      Specified by:
        `getGroupID` in interface `JmolMultiTouchClient`

    - #### processMultitouchEvent

          public void processMultitouchEvent(int groupID,
                                             int eventType,
                                             int touchID,
                                             int iData,
                                             javajs.util.P3 pt,
                                             long time)

      Description copied from class: `ActionManager`
      Specific to ActionManagerMT -- for processing SparshUI gestures
      Specified by:
        `processMultitouchEvent` in interface `JmolMultiTouchClient`
      Overrides:
        `processMultitouchEvent` in class `ActionManager`

    - #### logEvent

          private void logEvent(java.lang.String type,
                                javajs.util.P3 pt)

    - #### mouseAction

          public void mouseAction(int mode,
                                  long time,
                                  int x,
                                  int y,
                                  int count,
                                  int modifiers)

      Specified by:
        `mouseAction` in interface `EventManager`
      Overrides:
        `mouseAction` in class `ActionManager`
      Parameters:
        `mode` - MOVED PRESSED DRAGGED RELEASED CLICKED WHEELED
        `modifiers` - LEFT RIGHT MIDDLE WHEEL SHIFT ALT CTRL

    - #### getDegrees

          protected float getDegrees(float delta,
                                     boolean isX)

      Description copied from class: `ActionManager`
      Transform a screen pixel change to an angular change such that a full sweep of the dimension (up to 500 pixels) corresponds to 180 degrees of rotation.
      Overrides:
        `getDegrees` in class `ActionManager`
      Returns:
        desired scaled rotation, in degrees