sk.uniba.euromath.editor.xmlEditor.tools
Class XMLStructureTool

java.lang.Object
  extended by org.eclipse.gef.util.FlagSupport
      extended by org.eclipse.gef.tools.AbstractTool
          extended by org.eclipse.gef.tools.TargetingTool
              extended by org.eclipse.gef.tools.SelectionTool
                  extended by sk.uniba.euromath.editor.xmlEditor.tools.XMLStructureTool
All Implemented Interfaces:
org.eclipse.gef.RequestConstants, org.eclipse.gef.Tool
Direct Known Subclasses:
TextStructureTool

public class XMLStructureTool
extends org.eclipse.gef.tools.SelectionTool

XMLStructureTool - tool to make whole nodes selection
Structure is defined by tree of nodes, so this tool can select nodes of xml document.

  1. Supports structure selection - selection is composed of nodes.
  2. Selections are performed by mouse and keyboard.
  3. Editing is performed through menu and keyboard.
  4. Suports clipboard, undo, redo
Key and mouse functionality control:

Author:
Martin Kollar Created on 6.6.2005

Nested Class Summary
 
Nested classes/interfaces inherited from class org.eclipse.gef.tools.AbstractTool
org.eclipse.gef.tools.AbstractTool.Input
 
Field Summary
static int NEXT_SIBLING
           
static int PREV_SIBLING
           
 
Fields inherited from class org.eclipse.gef.tools.SelectionTool
MAX_FLAG, MAX_STATE, STATE_TRAVERSE_HANDLE
 
Fields inherited from class org.eclipse.gef.tools.AbstractTool
MOUSE_BUTTON_ANY, MOUSE_BUTTON1, MOUSE_BUTTON2, MOUSE_BUTTON3, PROPERTY_UNLOAD_WHEN_FINISHED, STATE_ACCESSIBLE_DRAG, STATE_ACCESSIBLE_DRAG_IN_PROGRESS, STATE_DRAG, STATE_DRAG_IN_PROGRESS, STATE_INITIAL, STATE_INVALID, STATE_TERMINAL
 
Fields inherited from interface org.eclipse.gef.RequestConstants
REQ_ADD, REQ_ALIGN, REQ_ALIGN_CHILDREN, REQ_CLONE, REQ_CONNECTION_END, REQ_CONNECTION_START, REQ_CREATE, REQ_CREATE_BENDPOINT, REQ_DELETE, REQ_DELETE_DEPENDANT, REQ_DIRECT_EDIT, REQ_MOVE, REQ_MOVE_BENDPOINT, REQ_MOVE_CHILDREN, REQ_OPEN, REQ_ORPHAN, REQ_ORPHAN_CHILDREN, REQ_RECONNECT_SOURCE, REQ_RECONNECT_TARGET, REQ_RESIZE, REQ_RESIZE_CHILDREN, REQ_SELECTION, REQ_SELECTION_HOVER
 
Constructor Summary
XMLStructureTool()
          Constructor.
 
Method Summary
protected  boolean canScroll()
           
protected  org.eclipse.gef.GraphicalEditPart getFocusEditPart()
           
protected  XMLAccess getXMLAcces()
           
protected  IXMLGraphicalViewer getXMLGraphicalViewer()
           
protected  boolean handleButtonDown(int button)
          Process only left mouse clicks (as selection or anything).
protected  boolean handleKeyDown(KeyEvent event)
           
protected  boolean handleKeyUp(KeyEvent e)
           
 void mouseWheelScrolled(Event event, org.eclipse.gef.EditPartViewer viewer)
          Delegates the scrolling to the DragTracker (if there is one).
protected  void ScrollDown(org.eclipse.gef.EditPartViewer viewer)
          Selects first child of selected node(TODO Studva some alg to select not first child).
protected  void ScrollUp(org.eclipse.gef.EditPartViewer viewer)
          Selects parent of selected node.
protected  void selectSiblingNode(int direction)
          Selects previous or next sibling of selected node(if not exists such sibling, does nothing).
protected  boolean updateTargetUnderMouse()
          Simpler implementation than super, as target is directly taken editpart at mouse cursor location.
 
Methods inherited from class org.eclipse.gef.tools.SelectionTool
createHoverRequest, createTargetRequest, deactivate, eraseHoverFeedback, getCommandName, getDebugName, getDebugNameForState, getDragTracker, getTargetHoverRequest, getTargetingConditional, handleButtonUp, handleCommandStackChanged, handleFocusLost, handleHover, handleHoverStop, handleMove, handleNativeDragFinished, handleNativeDragStarted, handleViewerExited, keyDown, keyUp, mouseDoubleClick, mouseDown, mouseDrag, mouseHover, mouseMove, mouseUp, refreshCursor, setDragTracker, showHoverFeedback, updateHoverRequest, updateTargetRequest
 
Methods inherited from class org.eclipse.gef.tools.TargetingTool
doAutoexpose, eraseTargetFeedback, getCommand, getExclusionSet, getTargetEditPart, getTargetRequest, handleAutoexpose, handleEnteredEditPart, handleExitingEditPart, handleInvalidInput, handleLeavingEditPart, isShowingTargetFeedback, isTargetLocked, lockTargetEditPart, resetFlags, setAutoexposeHelper, setTargetEditPart, setTargetRequest, showTargetFeedback, unlockTargetEditPart, updateAutoexposeHelper
 
Methods inherited from class org.eclipse.gef.tools.AbstractTool
activate, addFeedback, applyProperty, calculateCursor, commitDrag, createOperationSet, debug, executeCommand, executeCurrentCommand, focusGained, focusLost, getCurrentCommand, getCurrentInput, getCurrentViewer, getDefaultCursor, getDisabledCursor, getDomain, getDragMoveDelta, getLocation, getOperationSet, getStartLocation, getState, handleDoubleClick, handleDrag, handleDragInProgress, handleDragStarted, handleFinished, handleFocusGained, handleKeyTraversed, handleViewerEntered, isActive, isHoverActive, isInState, isViewerImportant, keyTraversed, movedPastThreshold, nativeDragFinished, nativeDragStarted, performViewerMouseWheel, reactivate, releaseToolCapture, removeFeedback, setCurrentCommand, setCursor, setDefaultCursor, setDisabledCursor, setEditDomain, setHoverActive, setProperties, setStartLocation, setState, setToolCapture, setUnloadWhenFinished, setViewer, stateTransition, unloadWhenFinished, viewerEntered, viewerExited
 
Methods inherited from class org.eclipse.gef.util.FlagSupport
getFlag, setFlag
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PREV_SIBLING

public static final int PREV_SIBLING
See Also:
Constant Field Values

NEXT_SIBLING

public static final int NEXT_SIBLING
See Also:
Constant Field Values
Constructor Detail

XMLStructureTool

public XMLStructureTool()
Constructor.

Method Detail

getFocusEditPart

protected org.eclipse.gef.GraphicalEditPart getFocusEditPart()
Returns:
the EditPart that has focus

handleKeyDown

protected boolean handleKeyDown(KeyEvent event)
Overrides:
handleKeyDown in class org.eclipse.gef.tools.SelectionTool

selectSiblingNode

protected void selectSiblingNode(int direction)
Selects previous or next sibling of selected node(if not exists such sibling, does nothing). If more nodes are selected, selects nothing.


handleKeyUp

protected boolean handleKeyUp(KeyEvent e)
Overrides:
handleKeyUp in class org.eclipse.gef.tools.SelectionTool

ScrollUp

protected void ScrollUp(org.eclipse.gef.EditPartViewer viewer)
Selects parent of selected node. If more nodes are selected, does * nothing.


ScrollDown

protected void ScrollDown(org.eclipse.gef.EditPartViewer viewer)
Selects first child of selected node(TODO Studva some alg to select not first child). If more nodes are selected, selects nothing.


mouseWheelScrolled

public void mouseWheelScrolled(Event event,
                               org.eclipse.gef.EditPartViewer viewer)
Delegates the scrolling to the DragTracker (if there is one). If not, invokes the super method.

Specified by:
mouseWheelScrolled in interface org.eclipse.gef.Tool
Overrides:
mouseWheelScrolled in class org.eclipse.gef.tools.SelectionTool
See Also:
Tool.mouseWheelScrolled(org.eclipse.swt.widgets.Event, org.eclipse.gef.EditPartViewer)

canScroll

protected boolean canScroll()

getXMLGraphicalViewer

protected IXMLGraphicalViewer getXMLGraphicalViewer()

getXMLAcces

protected XMLAccess getXMLAcces()

updateTargetUnderMouse

protected boolean updateTargetUnderMouse()
Simpler implementation than super, as target is directly taken editpart at mouse cursor location.

Overrides:
updateTargetUnderMouse in class org.eclipse.gef.tools.TargetingTool

handleButtonDown

protected boolean handleButtonDown(int button)
Process only left mouse clicks (as selection or anything).

Overrides:
handleButtonDown in class org.eclipse.gef.tools.SelectionTool


Copyright © 2003-2006 null. All Rights Reserved.