com.levigo.jadice.swing.pageview
Class PanTool

java.lang.Object
  extended by com.levigo.jadice.swing.tool.Tool
      extended by com.levigo.jadice.swing.pageview.PanTool
All Implemented Interfaces:
ModifierActivated, MenuContributor

public class PanTool
extends Tool
implements ModifierActivated

A tool supporting panning (moving the visible area) using the mouse. Panning is performed upon all mouse motion events during which the modifier state matches the one set with setActivationModifiers(int) (this defaults to the left mouse button).


Nested Class Summary
 
Nested classes/interfaces inherited from class com.levigo.jadice.swing.tool.Tool
Tool.ActivationRequest
 
Field Summary
 
Fields inherited from class com.levigo.jadice.swing.tool.Tool
DEFAULT_PRIORITY, MAX_PRIORITY, MIN_PRIORITY
 
Constructor Summary
PanTool()
           
 
Method Summary
protected  Tool.ActivationRequest getActivationFeedback(MouseEditEvent e)
          Provide feedback for the user about what would happen, if the mouse were pressed at the current location.
 int getActivationModifiers()
          Get the mask of modifier keys (Shift, Control, Alt etc.) and mouse buttons (left, right etc.) to be used to activate this tool.
protected  Tool.ActivationRequest getActivationRequestForMousePressed(MouseEditEvent e)
          Return the auto-activation request for this this tool in response to the given mouse press.
protected  int getDispatchPriority()
          Return the dispatch priority for this tool.
protected  void handleEditEvent(boolean isActive, EditEvent e)
          Handle the given EditEvent.
protected  void handleMouseDragged(MouseEditEvent e, boolean isActive)
          Invoked when a mouse button is pressed on a component and then dragged.
protected  void handleMousePressed(MouseEditEvent e, boolean isActive)
          Invoked when a mouse button has been pressed on a component.
protected  void handleMouseReleased(MouseEditEvent e, boolean isActive)
          Invoked when a mouse button has been released on a component.
 boolean isUseIdlePanModeCursor()
           
 void setActivationModifiers(int activationModifiers)
          Set the mask of modifier keys (Shift, Control, Alt etc.) and mouse buttons (left, right etc.) to be used to activate this tool.
 void setUseIdlePanModeCursor(boolean useIdlePanModeCursor)
          Set whether to use the pan mode cursor (Cursor.HAND_CURSOR when idle, i.e.
 
Methods inherited from class com.levigo.jadice.swing.tool.Tool
contribute, getActivationRequest, getActivationRequestForKeyPressed, getActivationRequestForMouseDragged, getCursor, getManager, getRenderPriority, handleKeyPressed, handleKeyReleased, handleKeyTyped, handleMouseClicked, handleMouseEntered, handleMouseExited, handleMouseMoved, handleMouseWheelMoved, propagatePropertyChange, render, setActive, setCursor, setEnabled, setManager, setStatusFeedback
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PanTool

public PanTool()
Method Detail

getDispatchPriority

protected int getDispatchPriority()
Description copied from class: Tool
Return the dispatch priority for this tool. Tools with higher dispatch priorities receive events earlier than tools with lower priorities. The priority should be in the range Tool.MIN_PRIORITY...Tool.MAX_PRIORITY. The default priority is equal to Tool.MAX_PRIORITY minus the render priority.

Overrides:
getDispatchPriority in class Tool
Returns:
the dispatch priority

handleEditEvent

protected void handleEditEvent(boolean isActive,
                               EditEvent e)
Description copied from class: Tool
Handle the given EditEvent. This method dispatches the edit event to the individual handleXYZ()-Methods. However, implementors may want and are allowed to override this method in order to perform standard handling tasks common to all types of events.

Overrides:
handleEditEvent in class Tool
Parameters:
isActive - whether this tool is currently active
e - the event

handleMousePressed

protected void handleMousePressed(MouseEditEvent e,
                                  boolean isActive)
Description copied from class: Tool
Invoked when a mouse button has been pressed on a component.

Overrides:
handleMousePressed in class Tool
isActive - whether this tool is currently active

getActivationFeedback

protected Tool.ActivationRequest getActivationFeedback(MouseEditEvent e)
Description copied from class: Tool
Provide feedback for the user about what would happen, if the mouse were pressed at the current location. This method is called while handling MouseEvent.MOUSE_MOVED events. If this method returns null no feedback is provided at all. The activation request returned from this method is the same object that is used during Tool.getActivationRequestForKeyPressed(KeyEditEvent) to signal the auto-activation candidacy. This method should only return an activation request if it will actually candidate for auto-activation later on using Tool.getActivationRequestForMousePressed(MouseEditEvent) or Tool.getActivationRequestForMouseDragged(MouseEditEvent).

Overrides:
getActivationFeedback in class Tool

getActivationRequestForMousePressed

protected Tool.ActivationRequest getActivationRequestForMousePressed(MouseEditEvent e)
Description copied from class: Tool
Return the auto-activation request for this this tool in response to the given mouse press. If the tool returns an Tool.ActivationRequest, it becomes eligible for auto-activation. However, the final decision about which tool will actually be activated is up to the ToolActivationPolicy used be the tool manager.

Overrides:
getActivationRequestForMousePressed in class Tool
Parameters:
e - the KeyEditEvent
Returns:
an Tool.ActivationRequest or null if the tool does not seek to be auto-activated at this time.

handleMouseDragged

protected void handleMouseDragged(MouseEditEvent e,
                                  boolean isActive)
Description copied from class: Tool
Invoked when a mouse button is pressed on a component and then dragged. MOUSE_DRAGGED events will continue to be delivered to the component where the drag originated until the mouse button is released (regardless of whether the mouse position is within the bounds of the component).

Due to platform-dependent Drag&Drop implementations, MOUSE_DRAGGED events may not be delivered during a native Drag&Drop operation.

Overrides:
handleMouseDragged in class Tool
isActive - whether this tool is currently active

handleMouseReleased

protected void handleMouseReleased(MouseEditEvent e,
                                   boolean isActive)
Description copied from class: Tool
Invoked when a mouse button has been released on a component.

Overrides:
handleMouseReleased in class Tool
isActive - whether this tool is currently active

setActivationModifiers

public void setActivationModifiers(int activationModifiers)
Set the mask of modifier keys (Shift, Control, Alt etc.) and mouse buttons (left, right etc.) to be used to activate this tool. The modifier mask must be compatible with InputEvent.getModifiersEx(), i.e. it must use the InputEvent constants containing _DOWN_ in their name.

Default: use just the left mouse button.

Specified by:
setActivationModifiers in interface ModifierActivated
See Also:
ModifierActivated.setActivationModifiers(int)

getActivationModifiers

public int getActivationModifiers()
Get the mask of modifier keys (Shift, Control, Alt etc.) and mouse buttons (left, right etc.) to be used to activate this tool.

Specified by:
getActivationModifiers in interface ModifierActivated
Returns:
the modifier and button mask
See Also:
ModifierActivated.setActivationModifiers(int)

setUseIdlePanModeCursor

public void setUseIdlePanModeCursor(boolean useIdlePanModeCursor)
Set whether to use the pan mode cursor (Cursor.HAND_CURSOR when idle, i.e. while the button is not pressed, but a buttom press would initiate the pan mode. If true, the pan mode cursor is shown in idle mode, if false it is still shown, but only during the active panning gesture. The default is false.

Parameters:
useIdlePanModeCursor -

isUseIdlePanModeCursor

public boolean isUseIdlePanModeCursor()
Returns:
whether to use the pan mode cursor in idle mode


Copyright © 1995-2020 levigo holding gmbh. All Rights Reserved.