|
JHotDraw 7.5.1 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
@NotNull public interface DrawingEditor
A drawing editor coordinates drawing tools and drawing views.
Usage of drawing editor in conjunction with the JHotDraw application framework:
Application
s which provide a single document
interface (SDI) there is typically one drawing editor instance per
View
. So that each view can have its own toolbars
and drawing palettes.Framework
The following interfaces define the contracts of a framework for structured
drawing editors:
Contract: Drawing
, Figure
, DrawingView
,
DrawingEditor
, Handle
and
Tool
.
Mediator
DrawingEditor
acts as a mediator for coordinating drawing tools
and drawing views:
Mediator: DrawingEditor
; Colleagues: DrawingView
,
Tool
.
Mediator
DrawingEditor
acts as a mediator for coordinating keyboard input from
Tool
s and Swing action objects:
Mediator: DrawingEditor
; Colleagues:
Tool
, javax.swing.Action.
Model-View-Controller
The following classes implement together the Model-View-Controller design
pattern:
Model: Drawing
; View: DrawingView
; Controller:
DrawingEditor
.
Observer
State changes of tools can be observed by other objects. Specifically
DrawingEditor
observes area invalidations of tools and repaints
its active drawing view accordingly.
Subject: Tool
;
Observer: ToolListener
; Event:
ToolEvent
; Concrete Observer: DrawingEditor
.
Proxy
To remove the need for null-handling, AbstractTool
makes use of
a proxy for DrawingEditor
.
Subject: DrawingEditor
; Proxy: DrawingEditorProxy
;
Client: AbstractTool
.
Field Summary | |
---|---|
static java.lang.String |
ACTION_MAP_PROPERTY
The property name for the action map property. |
static java.lang.String |
ACTIVE_VIEW_PROPERTY
The property name for the active view property. |
static java.lang.String |
DEFAULT_ATTRIBUTE_PROPERTY_PREFIX
The prefix for default attribute property changes. |
static java.lang.String |
INPUT_MAP_PROPERTY
The property name for the input map property. |
static java.lang.String |
TOOL_PROPERTY
The property name for the active tool property. |
Method Summary | ||
---|---|---|
void |
add(DrawingView view)
Adds a drawing view to the editor. |
|
void |
addPropertyChangeListener(java.beans.PropertyChangeListener listener)
Adds a PropertyChangeListener . |
|
void |
applyDefaultAttributesTo(Figure f)
Applies the default attributes to the specified figure. |
|
DrawingView |
findView(java.awt.Container c)
Finds a drawing view. |
|
javax.swing.ActionMap |
getActionMap()
Gets the action map used by the tool of this drawing editor as a fall back for performing actions. |
|
DrawingView |
getActiveView()
Gets the editor's active drawing view. |
|
|
getDefaultAttribute(AttributeKey<T> key)
Gets a default attribute from the editor. |
|
java.util.Map<AttributeKey,java.lang.Object> |
getDefaultAttributes()
Returns an immutable Map with the default attributes of this editor. |
|
java.util.Collection<DrawingView> |
getDrawingViews()
Gets all drawing views associated with this editor. |
|
|
getHandleAttribute(AttributeKey<T> key)
Gets a handle attribute from the editor. |
|
javax.swing.InputMap |
getInputMap()
Sets the input map used by the tool of this drawing editor as a fall back for handling keyboard events. |
|
Tool |
getTool()
Gets the current tool. |
|
boolean |
isEnabled()
Gets the enabled state of the drawing editor. |
|
void |
remove(DrawingView view)
Removes a drawing view from the editor. |
|
void |
removePropertyChangeListener(java.beans.PropertyChangeListener listener)
Removes a PropertyChangeListener . |
|
void |
setActionMap(javax.swing.ActionMap newValue)
Sets the action map used by the tool of this drawing editor as a fall back for performing actions. |
|
void |
setActiveView(DrawingView newValue)
Sets the editor's active drawing view. |
|
void |
setCursor(java.awt.Cursor c)
Sets the cursor on the view(s) of the drawing editor. |
|
|
setDefaultAttribute(AttributeKey<T> key,
T value)
Sets a default attribute of the editor. |
|
void |
setEnabled(boolean newValue)
Sets the enabled state of the drawing editor. |
|
|
setHandleAttribute(AttributeKey<T> key,
T value)
Sets a handle attribute of the editor. |
|
void |
setInputMap(javax.swing.InputMap newValue)
Sets the input map used by the tool of this drawing editor as a fall back for handling keyboard events. |
|
void |
setTool(Tool t)
Calls deactivate on the previously active tool of this drawing editor. |
Field Detail |
---|
static final java.lang.String ACTIVE_VIEW_PROPERTY
static final java.lang.String TOOL_PROPERTY
static final java.lang.String INPUT_MAP_PROPERTY
static final java.lang.String ACTION_MAP_PROPERTY
static final java.lang.String DEFAULT_ATTRIBUTE_PROPERTY_PREFIX
Method Detail |
---|
void add(DrawingView view)
void remove(DrawingView view)
java.util.Collection<DrawingView> getDrawingViews()
@Nullable DrawingView getActiveView()
void setActiveView(@Nullable DrawingView newValue)
void setTool(Tool t)
This is a bound property.
Tool getTool()
This is a bound property.
void setCursor(java.awt.Cursor c)
DrawingView findView(java.awt.Container c)
<T> void setDefaultAttribute(AttributeKey<T> key, T value)
Fires a property change event with the name of the attribute key,
and the prefix "defaultAttribute."
.
<T> T getDefaultAttribute(AttributeKey<T> key)
void applyDefaultAttributesTo(Figure f)
java.util.Map<AttributeKey,java.lang.Object> getDefaultAttributes()
<T> void setHandleAttribute(AttributeKey<T> key, T value)
key
- AttributeKey.value
- Attribute value.<T> T getHandleAttribute(AttributeKey<T> key)
key
- AttributeKey.
void setInputMap(javax.swing.InputMap newValue)
This is a bound property.
javax.swing.InputMap getInputMap()
Tool
s use the input map of the drawing editor to determine what
to do when a key was pressed that the tool can not handle.
This is a bound property.
void setActionMap(javax.swing.ActionMap newValue)
This is a bound property.
javax.swing.ActionMap getActionMap()
Tool
s use the action map of the drawing editor to determine what
to do when an action needs to be invoked from the InputMap of the
drawing editor.
This is a bound property.
void setEnabled(boolean newValue)
boolean isEnabled()
void addPropertyChangeListener(java.beans.PropertyChangeListener listener)
PropertyChangeListener
.
listener
- void removePropertyChangeListener(java.beans.PropertyChangeListener listener)
PropertyChangeListener
.
listener
-
|
Copyright 1996-2010 (c) by the authors and contributors of the JHotDraw project. Some rights reserved. |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |