Class ActionManager

  • All Implemented Interfaces:
    javajs.api.EventManager
    Direct Known Subclasses:
    ActionManagerMT

    public class ActionManager
    extends java.lang.Object
    implements javajs.api.EventManager
    • Field Detail

      • haveMultiTouchInput

        protected boolean haveMultiTouchInput
      • isMultiTouch

        protected boolean isMultiTouch
      • jmolBinding

        private Binding jmolBinding
      • pfaatBinding

        private Binding pfaatBinding
      • dragBinding

        private Binding dragBinding
      • rasmolBinding

        private Binding rasmolBinding
      • predragBinding

        private Binding predragBinding
      • LEFT_CLICKED

        private int LEFT_CLICKED
      • LEFT_DRAGGED

        private int LEFT_DRAGGED
      • hoverWatcherThread

        protected java.lang.Thread hoverWatcherThread
      • dragGesture

        private Gesture dragGesture
      • ACTION_dragMinimizeMolecule

        public static final int ACTION_dragMinimizeMolecule
        See Also:
        Constant Field Values
      • ACTION_multiTouchSimulation

        public static final int ACTION_multiTouchSimulation
        See Also:
        Constant Field Values
      • ACTION_selectToggleExtended

        public static final int ACTION_selectToggleExtended
        See Also:
        Constant Field Values
      • ACTION_spinDrawObjectCCW

        public static final int ACTION_spinDrawObjectCCW
        See Also:
        Constant Field Values
      • ACTION_spinDrawObjectCW

        public static final int ACTION_spinDrawObjectCW
        See Also:
        Constant Field Values
      • actionInfo

        static final java.lang.String[] actionInfo
      • actionNames

        static final java.lang.String[] actionNames
      • apm

        private int apm
        picking modes set picking....
      • bondPickingMode

        private int bondPickingMode
      • PICKING_SELECT_MOLECULE

        public static final int PICKING_SELECT_MOLECULE
        See Also:
        Constant Field Values
      • PICKING_SELECT_STRUCTURE

        public static final int PICKING_SELECT_STRUCTURE
        See Also:
        Constant Field Values
      • PICKING_MEASURE_DISTANCE

        public static final int PICKING_MEASURE_DISTANCE
        See Also:
        Constant Field Values
      • PICKING_MEASURE_TORSION

        public static final int PICKING_MEASURE_TORSION
        See Also:
        Constant Field Values
      • PICKING_MEASURE_SEQUENCE

        public static final int PICKING_MEASURE_SEQUENCE
        See Also:
        Constant Field Values
      • PICKING_DRAG_MINIMIZE_MOLECULE

        public static final int PICKING_DRAG_MINIMIZE_MOLECULE
        See Also:
        Constant Field Values
      • PICKINGSTYLE_SELECT_JMOL

        public static final int PICKINGSTYLE_SELECT_JMOL
        picking styles
        See Also:
        Constant Field Values
      • PICKINGSTYLE_SELECT_CHIME

        public static final int PICKINGSTYLE_SELECT_CHIME
        See Also:
        Constant Field Values
      • PICKINGSTYLE_SELECT_RASMOL

        public static final int PICKINGSTYLE_SELECT_RASMOL
        See Also:
        Constant Field Values
      • PICKINGSTYLE_SELECT_PFAAT

        public static final int PICKINGSTYLE_SELECT_PFAAT
        See Also:
        Constant Field Values
      • PICKINGSTYLE_SELECT_DRAG

        public static final int PICKINGSTYLE_SELECT_DRAG
        See Also:
        Constant Field Values
      • PICKINGSTYLE_MEASURE_ON

        public static final int PICKINGSTYLE_MEASURE_ON
        See Also:
        Constant Field Values
      • PICKINGSTYLE_MEASURE_OFF

        public static final int PICKINGSTYLE_MEASURE_OFF
        See Also:
        Constant Field Values
      • pickingModeNames

        private static final java.lang.String[] pickingModeNames
      • pickingStyleNames

        private static final java.lang.String[] pickingStyleNames
      • pickingStyle

        private int pickingStyle
      • pickingStyleSelect

        private int pickingStyleSelect
      • pickingStyleMeasure

        private int pickingStyleMeasure
      • rootPickingStyle

        private int rootPickingStyle
      • pickAtomAssignType

        private java.lang.String pickAtomAssignType
      • pickBondAssignType

        private char pickBondAssignType
      • isPickAtomAssignCharge

        private boolean isPickAtomAssignCharge
      • MAX_DOUBLE_CLICK_MILLIS

        private static final long MAX_DOUBLE_CLICK_MILLIS
        See Also:
        Constant Field Values
      • MININUM_GESTURE_DELAY_MILLISECONDS

        protected static final long MININUM_GESTURE_DELAY_MILLISECONDS
        See Also:
        Constant Field Values
      • DEFAULT_MOUSE_DRAG_FACTOR

        public static final float DEFAULT_MOUSE_DRAG_FACTOR
        See Also:
        Constant Field Values
      • DEFAULT_MOUSE_WHEEL_FACTOR

        public static final float DEFAULT_MOUSE_WHEEL_FACTOR
        See Also:
        Constant Field Values
      • DEFAULT_GESTURE_SWIPE_FACTOR

        public static final float DEFAULT_GESTURE_SWIPE_FACTOR
        See Also:
        Constant Field Values
      • xyRange

        protected int xyRange
      • gestureSwipeFactor

        private float gestureSwipeFactor
      • mouseDragFactor

        protected float mouseDragFactor
      • mouseWheelFactor

        protected float mouseWheelFactor
      • pressedCount

        protected int pressedCount
      • clickedCount

        protected int clickedCount
      • drawMode

        private boolean drawMode
      • labelMode

        private boolean labelMode
      • dragSelectedMode

        private boolean dragSelectedMode
      • measuresEnabled

        private boolean measuresEnabled
      • haveSelection

        private boolean haveSelection
      • hoverActive

        private boolean hoverActive
      • dragAtomIndex

        private int dragAtomIndex
      • rubberbandSelectionMode

        private boolean rubberbandSelectionMode
      • rectRubber

        private final Rectangle rectRubber
      • isAltKeyReleased

        private boolean isAltKeyReleased
      • keyProcessing

        private boolean keyProcessing
      • isMultiTouchClient

        protected boolean isMultiTouchClient
      • isMultiTouchServer

        protected boolean isMultiTouchServer
      • pressAction

        private int pressAction
      • dragAction

        private int dragAction
      • clickAction

        private int clickAction
      • selectionWorking

        private boolean selectionWorking
    • Constructor Detail

      • ActionManager

        public ActionManager()
    • Method Detail

      • setViewer

        public void setViewer​(Viewer vwr,
                              java.lang.String commandOptions)
        Parameters:
        vwr -
        commandOptions -
      • checkHover

        public void checkHover()
      • processMultitouchEvent

        public void processMultitouchEvent​(int groupID,
                                           int eventType,
                                           int touchID,
                                           int iData,
                                           javajs.util.P3 pt,
                                           long time)
        Specific to ActionManagerMT -- for processing SparshUI gestures
        Parameters:
        groupID -
        eventType -
        touchID -
        iData -
        pt -
        time -
      • bind

        void bind​(java.lang.String desc,
                  java.lang.String name)
        Parameters:
        desc -
        name -
      • clearBindings

        protected void clearBindings()
      • unbindAction

        void unbindAction​(java.lang.String desc,
                          java.lang.String name)
      • newAction

        static void newAction​(int i,
                              java.lang.String name,
                              java.lang.String info)
      • createActions

        void createActions()
      • getActionName

        public static java.lang.String getActionName​(int i)
      • getActionFromName

        public static int getActionFromName​(java.lang.String name)
      • getBindingInfo

        public java.lang.String getBindingInfo​(java.lang.String qualifiers)
      • setBinding

        protected void setBinding​(Binding newBinding)
      • bnd

        boolean bnd​(int mouseAction,
                    int... jmolActions)
      • isDrawOrLabelAction

        private boolean isDrawOrLabelAction​(int a)
      • getPickingModeName

        public static final java.lang.String getPickingModeName​(int pickingMode)
      • getPickingMode

        public static final int getPickingMode​(java.lang.String str)
      • getPickingStyleName

        public static final java.lang.String getPickingStyleName​(int pickingStyle)
      • getPickingStyleIndex

        public static final int getPickingStyleIndex​(java.lang.String str)
      • getAtomPickingMode

        int getAtomPickingMode()
      • setPickingMode

        void setPickingMode​(int pickingMode)
      • setAtomPickingOption

        void setAtomPickingOption​(java.lang.String option)
      • setBondPickingOption

        void setBondPickingOption​(java.lang.String option)
      • getPickingState

        public java.lang.String getPickingState()
      • getPickingStyle

        int getPickingStyle()
      • setPickingStyle

        void setPickingStyle​(int pickingStyle)
      • setGestureSwipeFactor

        void setGestureSwipeFactor​(float factor)
      • setMouseDragFactor

        void setMouseDragFactor​(float factor)
      • setMouseWheelFactor

        void setMouseWheelFactor​(float factor)
      • setCurrent

        protected void setCurrent​(long time,
                                  int x,
                                  int y,
                                  int mods)
      • getCurrentX

        int getCurrentX()
      • getCurrentY

        int getCurrentY()
      • setMouseMode

        public void setMouseMode()
      • clearMouseInfo

        protected void clearMouseInfo()
      • setDragAtomIndex

        public void setDragAtomIndex​(int iatom)
      • isMTClient

        public boolean isMTClient()
      • isMTServer

        public boolean isMTServer()
      • dispose

        public void dispose()
      • clear

        public void clear()
      • startHoverWatcher

        public void startHoverWatcher​(boolean isStart)
      • setModeMouse

        public void setModeMouse​(int modeMouse)
        only NONE (-1) is implemented; it just stops the hoverWatcher thread so that the vwr references are all removed
        Parameters:
        modeMouse -
      • keyPressed

        public boolean keyPressed​(int key,
                                  int modifiers)
        called by MouseManager.keyPressed
        Specified by:
        keyPressed in interface javajs.api.EventManager
        Parameters:
        key -
        modifiers -
        Returns:
        true if handled
      • keyReleased

        public void keyReleased​(int key)
        Specified by:
        keyReleased in interface javajs.api.EventManager
      • mouseEnterExit

        public void mouseEnterExit​(long time,
                                   int x,
                                   int y,
                                   boolean isExit)
        Specified by:
        mouseEnterExit in interface javajs.api.EventManager
      • setMouseActions

        private void setMouseActions​(int count,
                                     int buttonMods,
                                     boolean isRelease)
      • mouseAction

        public void mouseAction​(int mode,
                                long time,
                                int x,
                                int y,
                                int count,
                                int buttonMods)
        Specified by:
        mouseAction in interface javajs.api.EventManager
        Parameters:
        mode - MOVED PRESSED DRAGGED RELEASED CLICKED WHEELED
        time -
        x -
        y -
        count -
        buttonMods - LEFT RIGHT MIDDLE WHEEL SHIFT ALT CTRL
      • checkPressedAction

        private void checkPressedAction​(int x,
                                        int y,
                                        long time)
      • checkDragWheelAction

        private void checkDragWheelAction​(int dragWheelAction,
                                          int x,
                                          int y,
                                          int deltaX,
                                          int deltaY,
                                          long time,
                                          int mode)
      • dragSelected

        private void dragSelected​(int a,
                                  int deltaX,
                                  int deltaY,
                                  boolean isPickingDrag)
        change actual coordinates of selected atoms from set dragSeleted TRUE or set PICKING DRAGSELECTED Basically, set dragSelected adds new functionality to Jmol with alt-drag and alt-shift drag, and set picking dragSelected replaces the standard mouse drag with a move action and also adds rotate and z-shift options. set dragSelected also allows other picking types, such as set picking SELECT, which uses double-click to start rotating/moving another molecule.
        Parameters:
        a -
        deltaX -
        deltaY -
        isPickingDrag -
      • checkReleaseAction

        private void checkReleaseAction​(int x,
                                        int y,
                                        long time,
                                        boolean dragRelease)
      • checkClickAction

        private void checkClickAction​(int x,
                                      int y,
                                      long time,
                                      int clickedCount)
      • checkUserAction

        private boolean checkUserAction​(int mouseAction,
                                        int x,
                                        int y,
                                        int deltaX,
                                        int deltaY,
                                        long time,
                                        int mode)
      • checkMotionRotateZoom

        private boolean checkMotionRotateZoom​(int mouseAction,
                                              int x,
                                              int deltaX,
                                              int deltaY,
                                              boolean isDrag)
        Parameters:
        mouseAction -
        x -
        deltaX -
        deltaY -
        isDrag -
        Returns:
        TRUE if motion was a zoom
      • getExitRate

        private float getExitRate()
      • isRubberBandSelect

        private boolean isRubberBandSelect​(int action)
      • calcRectRubberBand

        private void calcRectRubberBand()
      • getDegrees

        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.
        Parameters:
        delta -
        isX -
        Returns:
        desired scaled rotation, in degrees
      • isZoomArea

        private boolean isZoomArea​(int x)
      • getPoint

        private Point3fi getPoint​(java.util.Map<java.lang.String,​java.lang.Object> t)
      • findNearestAtom

        private int findNearestAtom​(int x,
                                    int y,
                                    Point3fi nearestPoint,
                                    boolean isClicked)
      • isSelectAction

        private boolean isSelectAction​(int action)
      • enterMeasurementMode

        private void enterMeasurementMode​(int iAtom)
      • addToMeasurement

        private int addToMeasurement​(int atomIndex,
                                     Point3fi nearestPoint,
                                     boolean dblClick)
      • resetMeasurement

        private void resetMeasurement()
      • exitMeasurementMode

        void exitMeasurementMode​(java.lang.String refreshWhy)
      • getSequence

        private void getSequence()
      • minimize

        private void minimize​(boolean dragDone)
      • queueAtom

        private int queueAtom​(int atomIndex,
                              Point3fi ptClicked)
      • setMotion

        protected void setMotion​(int cursor,
                                 boolean inMotion)
      • zoomByFactor

        protected void zoomByFactor​(int dz,
                                    int x,
                                    int y)
      • runScript

        private void runScript​(java.lang.String script)
      • atomOrPointPicked

        private void atomOrPointPicked​(int atomIndex,
                                       Point3fi ptClicked)
      • assignNew

        private void assignNew​(int x,
                               int y)
      • bondPicked

        private void bondPicked​(int index)
      • checkTwoAtomAction

        private void checkTwoAtomAction​(Point3fi ptClicked,
                                        int atomIndex)
      • reset

        private void reset()
      • selectAtoms

        private void selectAtoms​(java.lang.String item)
      • selectRb

        private void selectRb​(int action)
      • toggleMeasurement

        private void toggleMeasurement()
      • zoomTo

        private void zoomTo​(int atomIndex)
      • keyTyped

        public boolean keyTyped​(int keyChar,
                                int modifiers)
        Specified by:
        keyTyped in interface javajs.api.EventManager