|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface Tool
A tool defines a mode of the drawing view. All input events targeted to the drawing view are forwarded to its current tool.
Tools inform their editor when they are done with an interaction by calling the editor's toolDone() method. The Tools are created once and reused. They are initialized/deinitialized with activate()/deactivate().
State
Tool plays the role of the State. In encapsulates all state
specific behavior. DrawingView plays the role of the StateContext.
A tool can be in the following states:
disabled<->enabled[unusable<->usable[active<->inactive]]
<->always_usable[active<->inactive]<->disabled
where each square bracket indicates a state nesting level
and arrows possible state transitions.
Unusable tools are always inactive as well and disabled tools
are always unusable as well.
State changes are propagated to registered ToolListeners.
DrawingView
Method Summary | |
---|---|
void |
activate()
Activates the tool for the given view. |
void |
addToolListener(ToolListener newToolListener)
|
void |
deactivate()
Deactivates the tool. |
DrawingEditor |
editor()
|
Undoable |
getUndoActivity()
|
boolean |
isActive()
An active tool is the currently selected tool in the DrawingView. |
boolean |
isEnabled()
A tool must be enabled in order to use it and to activate/deactivate it. |
boolean |
isUsable()
A usable tool is a enabled and either active or inactive. |
void |
keyDown(java.awt.event.KeyEvent evt,
int key)
Handles key down events in the drawing view. |
void |
mouseDown(java.awt.event.MouseEvent e,
int x,
int y)
Handles mouse down events in the drawing view. |
void |
mouseDrag(java.awt.event.MouseEvent e,
int x,
int y)
Handles mouse drag events in the drawing view. |
void |
mouseMove(java.awt.event.MouseEvent evt,
int x,
int y)
Handles mouse moves (if the mouse button is up). |
void |
mouseUp(java.awt.event.MouseEvent e,
int x,
int y)
Handles mouse up in the drawing view. |
void |
removeToolListener(ToolListener oldToolListener)
|
void |
setEnabled(boolean enableUsableCheck)
|
void |
setUndoActivity(Undoable newUndoableActivity)
|
void |
setUsable(boolean newIsUsable)
|
Method Detail |
---|
boolean isActive()
isEnabled()
,
isUsable()
void activate()
void deactivate()
void mouseDown(java.awt.event.MouseEvent e, int x, int y)
void mouseDrag(java.awt.event.MouseEvent e, int x, int y)
void mouseUp(java.awt.event.MouseEvent e, int x, int y)
void mouseMove(java.awt.event.MouseEvent evt, int x, int y)
void keyDown(java.awt.event.KeyEvent evt, int key)
boolean isEnabled()
isUsable()
,
isActive()
void setEnabled(boolean enableUsableCheck)
boolean isUsable()
isEnabled()
,
isUsable()
void setUsable(boolean newIsUsable)
DrawingEditor editor()
Undoable getUndoActivity()
void setUndoActivity(Undoable newUndoableActivity)
void addToolListener(ToolListener newToolListener)
void removeToolListener(ToolListener oldToolListener)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |