sk.uniba.euromath.editor.textEditor.tools
Class TextTool

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.textEditor.tools.TextTool
All Implemented Interfaces:
org.eclipse.gef.RequestConstants, org.eclipse.gef.Tool

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

TextTool - Is responsible for editing of text. Switching between tools is performed by

  1. double-click in text. That switches StructureTool to TextTool(S -> T).
  2. Ctrl+T, that swithes these tools each other(T <-> S)
  3. Menu, [by icons].

More deep in TextTool

  1. Supports caret, caret is always activated. Click of mouse in text retargets caret. By clicking not directly on text, but in position where is short line of text, caret is shown at the end of line. If there is not a line, nothing happens. Caret is moved also by keyboard(arrows,HOME,END,ctrl-a, ...).
  2. Selections.
    1. Selections of text
      • by holding shift or ctrl or ... and moving caret
      • by draging of mouse [+ keys]
    2. Selections of structure - means elements, nodes
      • alt + scroll = deep by scrolling wheel is selected the bottom most element in doc containing caret or (parent or child towards caret) of selected element
      • alt + right or left click = width, selects brother of selected element
      • alt + middleButtonClick = direct select, selectes the bottom most element in doc containing cursor
  3. Undo, Redo, clipboard. Standard.
  4. Editing.
    1. Text
      • Insert - direct keypressing in editor or by InsetBox
      • delete - del, backSpace + [selection] or Menu
    2. Structure
      • Insert,Modify - through Menu
      • delete - del, backSpace + [selection] or Menu

Author:
Martin Kollar on 3.5.2005

Nested Class Summary
 
Nested classes/interfaces inherited from class org.eclipse.gef.tools.AbstractTool
org.eclipse.gef.tools.AbstractTool.Input
 
Field Summary
 
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
TextTool(org.eclipse.gef.EditPart source, int caretOffset, CaretManager cManager)
           
 
Method Summary
protected  boolean acceptableArrow(KeyEvent e)
           
static boolean acceptableText(char character)
          Check if character can be written to text
 void activate()
          Activates Tool and Caret on startCaretOffset
protected  void clearSelection()
           
 void deactivate()
          Deactivates Tool and Caret
protected  int findLine(List<ITextPieceKeeper> keepers, int nodeIndex)
           
protected  String getDebugName()
           
 org.eclipse.gef.EditPart getPartUnderCaret()
           
protected  boolean handleButtonDown(int button)
           
protected  boolean handleButtonUp(int button)
          Switchs the tool to StructureTool if the structure element was clicked or performs MouseClick
protected  boolean handleKeyDown(KeyEvent e)
           
protected  boolean handleKeyUp(KeyEvent e)
           
protected  boolean isDeletingAction(KeyEvent e)
           
static boolean isWhiteSpace(char c)
           
protected  void performArrowMove(KeyEvent e)
           
protected  void performDelete(KeyEvent e)
           
protected  void performDragingSelection()
          Puts together(makes union) globalSelction with localSelction and updates this new globalSelection to GraphicalViewer
protected  void performFinishSelection()
           
protected  void performInitSelection()
           
protected  void performTextInput(KeyEvent e)
           
 void reinit(Map<String,TextPieceContainer> map)
          Method to corect state of this tool after transformation of document.
protected  void sendRequest(org.eclipse.gef.EditPart target, org.eclipse.gef.Request request)
           
 void setPartUnderCaret(org.eclipse.gef.EditPart part)
           
 
Methods inherited from class org.eclipse.gef.tools.SelectionTool
createHoverRequest, createTargetRequest, eraseHoverFeedback, getCommandName, getDebugNameForState, getDragTracker, getTargetHoverRequest, getTargetingConditional, handleCommandStackChanged, handleFocusLost, handleHover, handleHoverStop, handleMove, handleNativeDragFinished, handleNativeDragStarted, handleViewerExited, keyDown, keyUp, mouseDoubleClick, mouseDown, mouseDrag, mouseHover, mouseMove, mouseUp, mouseWheelScrolled, 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
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
 

Constructor Detail

TextTool

public TextTool(org.eclipse.gef.EditPart source,
                int caretOffset,
                CaretManager cManager)
Parameters:
priorTool - tool used before this one
source - focused EditPart
caretOffset - caret offset from start of selectionStartPart EditPart
cManager - CaretManager
Method Detail

acceptableText

public static boolean acceptableText(char character)
Check if character can be written to text

Parameters:
character - character to check
Returns:
true if character can by written to text, else false

isWhiteSpace

public static boolean isWhiteSpace(char c)
Parameters:
c - character to check for whitespace
Returns:
true if character is whitespace

activate

public void activate()
Activates Tool and Caret on startCaretOffset

Specified by:
activate in interface org.eclipse.gef.Tool
Overrides:
activate in class org.eclipse.gef.tools.AbstractTool

deactivate

public void deactivate()
Deactivates Tool and Caret

Specified by:
deactivate in interface org.eclipse.gef.Tool
Overrides:
deactivate in class org.eclipse.gef.tools.SelectionTool

getDebugName

protected String getDebugName()
Overrides:
getDebugName in class org.eclipse.gef.tools.SelectionTool

performArrowMove

protected void performArrowMove(KeyEvent e)
Parameters:
e - Left,Right,Up,Down,Home,End KeyEvent

performTextInput

protected void performTextInput(KeyEvent e)
Parameters:
e -

performDelete

protected void performDelete(KeyEvent e)

acceptableArrow

protected boolean acceptableArrow(KeyEvent e)
Parameters:
e -
Returns:

isDeletingAction

protected boolean isDeletingAction(KeyEvent e)
Parameters:
e -
Returns:

handleKeyDown

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

handleKeyUp

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

sendRequest

protected void sendRequest(org.eclipse.gef.EditPart target,
                           org.eclipse.gef.Request request)
Parameters:
target -
request -

handleButtonDown

protected boolean handleButtonDown(int button)
Overrides:
handleButtonDown in class org.eclipse.gef.tools.SelectionTool

handleButtonUp

protected boolean handleButtonUp(int button)
Switchs the tool to StructureTool if the structure element was clicked or performs MouseClick

Overrides:
handleButtonUp in class org.eclipse.gef.tools.SelectionTool
Parameters:
button - that is released
Returns:
true if the button up was handled

performInitSelection

protected void performInitSelection()

performDragingSelection

protected void performDragingSelection()
Puts together(makes union) globalSelction with localSelction and updates this new globalSelection to GraphicalViewer


performFinishSelection

protected void performFinishSelection()

clearSelection

protected void clearSelection()

findLine

protected int findLine(List<ITextPieceKeeper> keepers,
                       int nodeIndex)
Parameters:
keepers -
nodeIndex -
Returns:

reinit

public void reinit(Map<String,TextPieceContainer> map)
Method to corect state of this tool after transformation of document. That means to set correctly caret exactly to the position in document where was before transformation and handle after caret events.

Parameters:
map -

getPartUnderCaret

public org.eclipse.gef.EditPart getPartUnderCaret()
Returns:
EditPart under Caret

setPartUnderCaret

public void setPartUnderCaret(org.eclipse.gef.EditPart part)
Parameters:
part - EditPart that is now active


Copyright © 2003-2006 null. All Rights Reserved.