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  void addKey(Integer code)
           
protected  boolean canScroll()
           
protected  org.eclipse.gef.GraphicalEditPart getFocusEditPart()
           
protected  List<Integer> getKeysDown()
           
protected  XMLAccess getXMLAcces()
           
protected  IXMLGraphicalViewer getXMLGraphicalViewer()
           
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 removeKey(Integer code)
           
protected  void ScrollDown(org.eclipse.gef.EditPartViewer viewer)
          Selects first child of selected node(TODO LOW PRIORITY 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).
 
Methods inherited from class org.eclipse.gef.tools.SelectionTool
createHoverRequest, createTargetRequest, deactivate, eraseHoverFeedback, getCommandName, getDebugName, getDebugNameForState, getDragTracker, getTargetHoverRequest, getTargetingConditional, handleButtonDown, 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, updateTargetUnderMouse
 
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, selects nothing.


ScrollDown

protected void ScrollDown(org.eclipse.gef.EditPartViewer viewer)
Selects first child of selected node(TODO LOW PRIORITY 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)

getKeysDown

protected List<Integer> getKeysDown()

addKey

protected void addKey(Integer code)
Parameters:
code - KeyCode of pressed key

removeKey

protected void removeKey(Integer code)

canScroll

protected boolean canScroll()

getXMLGraphicalViewer

protected IXMLGraphicalViewer getXMLGraphicalViewer()

getXMLAcces

protected XMLAccess getXMLAcces()


Copyright © 2003-2006 null. All Rights Reserved.