org.jhotdraw.figures
Class TextTool

java.lang.Object
  extended by org.jhotdraw.standard.AbstractTool
      extended by org.jhotdraw.standard.CreationTool
          extended by org.jhotdraw.figures.TextTool
All Implemented Interfaces:
Tool
Direct Known Subclasses:
ConnectedTextTool

public class TextTool
extends CreationTool

Tool to create new or edit existing text figures. The editing behavior is implemented by overlaying the Figure providing the text with a FloatingTextField.

A tool interaction is done once a Figure that is not a TextHolder is clicked.

Version:
<$CURRENT_VERSION$>
See Also:
TextHolder, FloatingTextField

Nested Class Summary
static class TextTool.UndoActivity
           
 
Nested classes/interfaces inherited from class org.jhotdraw.standard.AbstractTool
AbstractTool.EventDispatcher
 
Constructor Summary
TextTool(DrawingEditor newDrawingEditor, Figure prototype)
           
 
Method Summary
 void activate()
          Sets the text cursor.
 void deactivate()
          Terminates the editing of a text figure.
 boolean isActive()
          Test whether the text tool is currently activated and is displaying a overlay TextFigure for accepting input.
 void mouseDown(java.awt.event.MouseEvent e, int x, int y)
          If the pressed figure is a TextHolder it can be edited otherwise a new text figure is created.
 void mouseDrag(java.awt.event.MouseEvent e, int x, int y)
          Adjusts the extent of the created figure
 void mouseUp(java.awt.event.MouseEvent e, int x, int y)
          Checks if the created figure is empty.
 
Methods inherited from class org.jhotdraw.standard.AbstractTool
addToolListener, drawing, editor, getActiveDrawing, getActiveView, getUndoActivity, isEnabled, isUsable, keyDown, mouseMove, removeToolListener, setEnabled, setUndoActivity, setUsable, view
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TextTool

public TextTool(DrawingEditor newDrawingEditor,
                Figure prototype)
Method Detail

mouseDown

public void mouseDown(java.awt.event.MouseEvent e,
                      int x,
                      int y)
If the pressed figure is a TextHolder it can be edited otherwise a new text figure is created.

Specified by:
mouseDown in interface Tool
Overrides:
mouseDown in class CreationTool

mouseDrag

public void mouseDrag(java.awt.event.MouseEvent e,
                      int x,
                      int y)
Description copied from class: CreationTool
Adjusts the extent of the created figure

Specified by:
mouseDrag in interface Tool
Overrides:
mouseDrag in class CreationTool

mouseUp

public void mouseUp(java.awt.event.MouseEvent e,
                    int x,
                    int y)
Description copied from class: CreationTool
Checks if the created figure is empty. If it is, the figure is removed from the drawing.

Specified by:
mouseUp in interface Tool
Overrides:
mouseUp in class CreationTool
See Also:
Figure.isEmpty()

deactivate

public void deactivate()
Terminates the editing of a text figure.

Specified by:
deactivate in interface Tool
Overrides:
deactivate in class CreationTool
See Also:
Tool.deactivate()

activate

public void activate()
Sets the text cursor.

Specified by:
activate in interface Tool
Overrides:
activate in class CreationTool

isActive

public boolean isActive()
Test whether the text tool is currently activated and is displaying a overlay TextFigure for accepting input.

Specified by:
isActive in interface Tool
Overrides:
isActive in class AbstractTool
Returns:
true, if the text tool has a accepting target TextFigure for its input, false otherwise
See Also:
Tool.isEnabled(), Tool.isUsable()