public class ActionManager
extends java.lang.Object
implements javajs.api.EventManager
Constructor and Description |
---|
ActionManager() |
Modifier and Type | Method and Description |
---|---|
private int |
addToMeasurement(int atomIndex,
Point3fi nearestPoint,
boolean dblClick) |
private void |
assignNew(int x,
int y) |
private void |
atomOrPointPicked(int atomIndex,
Point3fi ptClicked) |
(package private) void |
bind(java.lang.String desc,
java.lang.String name) |
(package private) boolean |
bnd(int mouseAction,
int jmolAction) |
private void |
bondPicked(int index) |
private void |
calcRectRubberBand() |
private void |
checkClickAction(int x,
int y,
long time,
int clickedCount) |
private void |
checkDragWheelAction(int dragWheelAction,
int x,
int y,
int deltaX,
int deltaY,
long time,
int mode) |
void |
checkHover() |
private boolean |
checkMotionRotateZoom(int mouseAction,
int x,
int deltaX,
int deltaY,
boolean isDrag) |
private void |
checkPressedAction(int x,
int y,
long time) |
private void |
checkReleaseAction(int x,
int y,
long time,
boolean dragRelease) |
private boolean |
checkSlideZoom(int action) |
private void |
checkTwoAtomAction(Point3fi ptClicked,
int atomIndex) |
private boolean |
checkUserAction(int mouseAction,
int x,
int y,
int deltaX,
int deltaY,
long time,
int mode) |
void |
clear() |
protected void |
clearBindings() |
protected void |
clearMouseInfo() |
void |
dispose() |
private void |
enterMeasurementMode(int iAtom) |
private void |
exitMeasurementMode(java.lang.String refreshWhy) |
private int |
findNearestAtom(int x,
int y,
Point3fi nearestPoint,
boolean isClicked) |
static int |
getActionFromName(java.lang.String name) |
static java.lang.String |
getActionName(int i) |
(package private) int |
getAtomPickingMode() |
java.lang.String |
getBindingInfo(java.lang.String qualifiers) |
(package private) int |
getCurrentX() |
(package private) int |
getCurrentY() |
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 float |
getExitRate() |
private MeasurementPending |
getMP() |
static int |
getPickingMode(java.lang.String str) |
static java.lang.String |
getPickingModeName(int pickingMode) |
java.lang.String |
getPickingState() |
(package private) int |
getPickingStyle() |
static int |
getPickingStyleIndex(java.lang.String str) |
static java.lang.String |
getPickingStyleName(int pickingStyle) |
private Point3fi |
getPoint(java.util.Map<java.lang.String,java.lang.Object> t) |
(package private) Rectangle |
getRubberBand() |
private void |
getSequence() |
boolean |
isMTClient() |
boolean |
isMTServer() |
private boolean |
isRubberBandSelect(int action) |
private boolean |
isSelectAction(int action) |
private boolean |
isZoomArea(int x) |
boolean |
keyPressed(int key,
int modifiers)
called by MouseManager.keyPressed
|
void |
keyReleased(int key) |
boolean |
keyTyped(int keyChar,
int modifiers) |
private void |
minimize(boolean dragDone) |
void |
mouseAction(int mode,
long time,
int x,
int y,
int count,
int buttonMods) |
void |
mouseEnterExit(long time,
int x,
int y,
boolean isExit) |
(package private) static void |
newAction(int i,
java.lang.String name,
java.lang.String info) |
void |
processMultitouchEvent(int groupID,
int eventType,
int touchID,
int iData,
javajs.util.P3 pt,
long time)
Specific to ActionManagerMT -- for processing SparshUI gestures
|
private int |
queueAtom(int atomIndex,
Point3fi ptClicked) |
private void |
reset() |
private void |
resetMeasurement() |
private void |
runScript(java.lang.String script) |
private void |
selectAtoms(java.lang.String item) |
private void |
selectRb(int action) |
(package private) void |
setAtomPickingOption(java.lang.String option) |
protected void |
setBinding(Binding newBinding) |
(package private) void |
setBondPickingOption(java.lang.String option) |
protected void |
setCurrent(long time,
int x,
int y,
int mods) |
(package private) void |
setGestureSwipeFactor(float factor) |
void |
setModeMouse(int modeMouse)
only NONE (-1) is implemented; it just stops the hoverWatcher thread so
that the vwr references are all removed
|
protected void |
setMotion(int cursor,
boolean inMotion) |
private void |
setMouseActions(int count,
int buttonMods,
boolean isRelease) |
(package private) void |
setMouseDragFactor(float factor) |
void |
setMouseMode() |
(package private) void |
setMouseWheelFactor(float factor) |
(package private) void |
setPickingMode(int pickingMode) |
(package private) void |
setPickingStyle(int pickingStyle) |
void |
setViewer(Viewer vwr,
java.lang.String commandOptions) |
void |
startHoverWatcher(boolean isStart) |
private void |
toggleMeasurement() |
(package private) void |
unbindAction(java.lang.String desc,
java.lang.String name) |
protected void |
zoomByFactor(int dz,
int x,
int y) |
private void |
zoomTo(int atomIndex) |
protected Viewer vwr
protected boolean haveMultiTouchInput
protected boolean isMultiTouch
public Binding b
private Binding jmolBinding
private Binding pfaatBinding
private Binding dragBinding
private Binding rasmolBinding
private Binding predragBinding
private int LEFT_CLICKED
private int LEFT_DRAGGED
protected java.lang.Thread hoverWatcherThread
private Gesture dragGesture
public static final int ACTION_assignNew
public static final int ACTION_center
public static final int ACTION_clickFrank
public static final int ACTION_connectAtoms
public static final int ACTION_deleteAtom
public static final int ACTION_deleteBond
public static final int ACTION_depth
public static final int ACTION_dragAtom
public static final int ACTION_dragDrawObject
public static final int ACTION_dragDrawPoint
public static final int ACTION_dragLabel
public static final int ACTION_dragMinimize
public static final int ACTION_dragMinimizeMolecule
public static final int ACTION_dragSelected
public static final int ACTION_dragZ
public static final int ACTION_multiTouchSimulation
public static final int ACTION_navTranslate
public static final int ACTION_pickAtom
public static final int ACTION_pickIsosurface
public static final int ACTION_pickLabel
public static final int ACTION_pickMeasure
public static final int ACTION_pickNavigate
public static final int ACTION_pickPoint
public static final int ACTION_popupMenu
public static final int ACTION_reset
public static final int ACTION_rotate
public static final int ACTION_rotateBranch
public static final int ACTION_rotateSelected
public static final int ACTION_rotateZ
public static final int ACTION_rotateZorZoom
public static final int ACTION_select
public static final int ACTION_selectAndDrag
public static final int ACTION_selectAndNot
public static final int ACTION_selectNone
public static final int ACTION_selectOr
public static final int ACTION_selectToggle
public static final int ACTION_selectToggleExtended
public static final int ACTION_setMeasure
public static final int ACTION_slab
public static final int ACTION_slabAndDepth
public static final int ACTION_slideZoom
public static final int ACTION_spinDrawObjectCCW
public static final int ACTION_spinDrawObjectCW
public static final int ACTION_stopMotion
public static final int ACTION_swipe
public static final int ACTION_translate
public static final int ACTION_wheelZoom
public static final int ACTION_count
static final java.lang.String[] actionInfo
static final java.lang.String[] actionNames
private int apm
private int bondPickingMode
public static final int PICKING_OFF
public static final int PICKING_IDENTIFY
public static final int PICKING_LABEL
public static final int PICKING_CENTER
public static final int PICKING_DRAW
public static final int PICKING_SPIN
public static final int PICKING_SYMMETRY
public static final int PICKING_DELETE_ATOM
public static final int PICKING_DELETE_BOND
public static final int PICKING_SELECT_ATOM
public static final int PICKING_SELECT_GROUP
public static final int PICKING_SELECT_CHAIN
public static final int PICKING_SELECT_MOLECULE
public static final int PICKING_SELECT_POLYMER
public static final int PICKING_SELECT_STRUCTURE
public static final int PICKING_SELECT_SITE
public static final int PICKING_SELECT_MODEL
public static final int PICKING_SELECT_ELEMENT
public static final int PICKING_MEASURE
public static final int PICKING_MEASURE_DISTANCE
public static final int PICKING_MEASURE_ANGLE
public static final int PICKING_MEASURE_TORSION
public static final int PICKING_MEASURE_SEQUENCE
public static final int PICKING_NAVIGATE
public static final int PICKING_CONNECT
public static final int PICKING_STRUTS
public static final int PICKING_DRAG_SELECTED
public static final int PICKING_DRAG_MOLECULE
public static final int PICKING_DRAG_ATOM
public static final int PICKING_DRAG_MINIMIZE
public static final int PICKING_DRAG_MINIMIZE_MOLECULE
public static final int PICKING_INVERT_STEREO
public static final int PICKING_ASSIGN_ATOM
public static final int PICKING_ASSIGN_BOND
public static final int PICKING_ROTATE_BOND
public static final int PICKING_IDENTIFY_BOND
public static final int PICKING_DRAG_LIGAND
public static final int PICKINGSTYLE_SELECT_JMOL
public static final int PICKINGSTYLE_SELECT_CHIME
public static final int PICKINGSTYLE_SELECT_RASMOL
public static final int PICKINGSTYLE_SELECT_PFAAT
public static final int PICKINGSTYLE_SELECT_DRAG
public static final int PICKINGSTYLE_MEASURE_ON
public static final int PICKINGSTYLE_MEASURE_OFF
private static final java.lang.String[] pickingModeNames
private static final java.lang.String[] pickingStyleNames
private int pickingStyle
private int pickingStyleSelect
private int pickingStyleMeasure
private int rootPickingStyle
private java.lang.String pickAtomAssignType
private char pickBondAssignType
private boolean isPickAtomAssignCharge
private static final long MAX_DOUBLE_CLICK_MILLIS
protected static final long MININUM_GESTURE_DELAY_MILLISECONDS
private static final int SLIDE_ZOOM_X_PERCENT
public static final float DEFAULT_MOUSE_DRAG_FACTOR
public static final float DEFAULT_MOUSE_WHEEL_FACTOR
public static final float DEFAULT_GESTURE_SWIPE_FACTOR
protected int xyRange
private float gestureSwipeFactor
protected float mouseDragFactor
protected float mouseWheelFactor
protected final MouseState current
protected final MouseState moved
private final MouseState clicked
private final MouseState pressed
private final MouseState dragged
protected int pressedCount
protected int clickedCount
private boolean drawMode
private boolean labelMode
private boolean dragSelectedMode
private boolean measuresEnabled
private boolean haveSelection
private boolean hoverActive
private MeasurementPending mp
private int dragAtomIndex
private boolean rubberbandSelectionMode
private final Rectangle rectRubber
private boolean isAltKeyReleased
private boolean keyProcessing
protected boolean isMultiTouchClient
protected boolean isMultiTouchServer
private int pressAction
private int dragAction
private int clickAction
private MeasurementPending measurementQueued
private boolean selectionWorking
public void setViewer(Viewer vwr, java.lang.String commandOptions)
vwr
- commandOptions
- public void checkHover()
public void processMultitouchEvent(int groupID, int eventType, int touchID, int iData, javajs.util.P3 pt, long time)
groupID
- eventType
- touchID
- iData
- pt
- time
- boolean bnd(int mouseAction, int jmolAction)
void bind(java.lang.String desc, java.lang.String name)
desc
- name
- protected void clearBindings()
void unbindAction(java.lang.String desc, java.lang.String name)
static void newAction(int i, java.lang.String name, java.lang.String info)
public static java.lang.String getActionName(int i)
public static int getActionFromName(java.lang.String name)
public java.lang.String getBindingInfo(java.lang.String qualifiers)
protected void setBinding(Binding newBinding)
public static final java.lang.String getPickingModeName(int pickingMode)
public static final int getPickingMode(java.lang.String str)
public static final java.lang.String getPickingStyleName(int pickingStyle)
public static final int getPickingStyleIndex(java.lang.String str)
int getAtomPickingMode()
void setPickingMode(int pickingMode)
void setAtomPickingOption(java.lang.String option)
void setBondPickingOption(java.lang.String option)
public java.lang.String getPickingState()
int getPickingStyle()
void setPickingStyle(int pickingStyle)
void setGestureSwipeFactor(float factor)
void setMouseDragFactor(float factor)
void setMouseWheelFactor(float factor)
protected void setCurrent(long time, int x, int y, int mods)
int getCurrentX()
int getCurrentY()
public void setMouseMode()
protected void clearMouseInfo()
public boolean isMTClient()
public boolean isMTServer()
public void dispose()
public void clear()
public void startHoverWatcher(boolean isStart)
public void setModeMouse(int modeMouse)
modeMouse
- public boolean keyPressed(int key, int modifiers)
keyPressed
in interface javajs.api.EventManager
key
- modifiers
- public void keyReleased(int key)
keyReleased
in interface javajs.api.EventManager
public void mouseEnterExit(long time, int x, int y, boolean isExit)
mouseEnterExit
in interface javajs.api.EventManager
private void setMouseActions(int count, int buttonMods, boolean isRelease)
public void mouseAction(int mode, long time, int x, int y, int count, int buttonMods)
mouseAction
in interface javajs.api.EventManager
mode
- MOVED PRESSED DRAGGED RELEASED CLICKED WHEELEDtime
- x
- y
- count
- buttonMods
- LEFT RIGHT MIDDLE WHEEL SHIFT ALT CTRLprivate void checkPressedAction(int x, int y, long time)
private void checkDragWheelAction(int dragWheelAction, int x, int y, int deltaX, int deltaY, long time, int mode)
private void checkReleaseAction(int x, int y, long time, boolean dragRelease)
private void checkClickAction(int x, int y, long time, int clickedCount)
private boolean checkUserAction(int mouseAction, int x, int y, int deltaX, int deltaY, long time, int mode)
private boolean checkMotionRotateZoom(int mouseAction, int x, int deltaX, int deltaY, boolean isDrag)
mouseAction
- x
- deltaX
- deltaY
- isDrag
- private float getExitRate()
private boolean isRubberBandSelect(int action)
Rectangle getRubberBand()
private void calcRectRubberBand()
protected float getDegrees(float delta, boolean isX)
delta
- isX
- private boolean checkSlideZoom(int action)
private boolean isZoomArea(int x)
private Point3fi getPoint(java.util.Map<java.lang.String,java.lang.Object> t)
private int findNearestAtom(int x, int y, Point3fi nearestPoint, boolean isClicked)
private boolean isSelectAction(int action)
private void enterMeasurementMode(int iAtom)
private MeasurementPending getMP()
private int addToMeasurement(int atomIndex, Point3fi nearestPoint, boolean dblClick)
private void resetMeasurement()
private void exitMeasurementMode(java.lang.String refreshWhy)
private void getSequence()
private void minimize(boolean dragDone)
private int queueAtom(int atomIndex, Point3fi ptClicked)
protected void setMotion(int cursor, boolean inMotion)
protected void zoomByFactor(int dz, int x, int y)
private void runScript(java.lang.String script)
private void atomOrPointPicked(int atomIndex, Point3fi ptClicked)
private void assignNew(int x, int y)
private void bondPicked(int index)
private void checkTwoAtomAction(Point3fi ptClicked, int atomIndex)
private void reset()
private void selectAtoms(java.lang.String item)
private void selectRb(int action)
private void toggleMeasurement()
private void zoomTo(int atomIndex)
public boolean keyTyped(int keyChar, int modifiers)
keyTyped
in interface javajs.api.EventManager