JHotDraw 7.4.1

org.jhotdraw.draw
Class DefaultDrawingEditor

java.lang.Object
  extended by org.jhotdraw.beans.AbstractBean
      extended by org.jhotdraw.draw.DefaultDrawingEditor
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable, DrawingEditor

public class DefaultDrawingEditor
extends AbstractBean
implements DrawingEditor

A default implementation of DrawingEditor. XXX - DefaultDrawingEditor should not publicly implement ToolListener.

Version:
$Id: DefaultDrawingEditor.java 604 2010-01-09 12:00:29Z rawcoder $
Author:
Werner Randelshofer
See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.jhotdraw.beans.AbstractBean
propertySupport
 
Fields inherited from interface org.jhotdraw.draw.DrawingEditor
ACTION_MAP_PROPERTY, ACTIVE_VIEW_PROPERTY, INPUT_MAP_PROPERTY, TOOL_PROPERTY
 
Constructor Summary
DefaultDrawingEditor()
          Creates a new instance.
 
Method Summary
 void add(DrawingView view)
          Adds a drawing view to the editor.
 void applyDefaultAttributesTo(Figure f)
          Applies the default attributes to the specified figure.
protected  javax.swing.ActionMap createActionMap()
          Override this method to create a tool-specific action map, which overrides the action map of the drawing edtior.
protected  javax.swing.InputMap createInputMap()
          Override this method to create a tool-specific input map, which overrides the input map of the drawing edtior.
 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.
<T> T
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.
<T> T
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 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.
 void setDefaultAttribute(AttributeKey key, java.lang.Object newValue)
          Sets a default attribute of the editor.
 void setEnabled(boolean newValue)
          Sets the enabled state of the drawing editor.
 void setHandleAttribute(AttributeKey key, java.lang.Object 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 newValue)
          Calls deactivate on the previously active tool of this drawing editor.
 
Methods inherited from class org.jhotdraw.beans.AbstractBean
addPropertyChangeListener, addPropertyChangeListener, clone, firePropertyChange, firePropertyChange, firePropertyChange, getPropertyChangeListeners, removePropertyChangeListener, removePropertyChangeListener
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.jhotdraw.draw.DrawingEditor
addPropertyChangeListener, removePropertyChangeListener
 

Constructor Detail

DefaultDrawingEditor

public DefaultDrawingEditor()
Creates a new instance.

Method Detail

setTool

public void setTool(Tool newValue)
Description copied from interface: DrawingEditor
Calls deactivate on the previously active tool of this drawing editor. Calls activate on the provided tool. Forwards all mouse, mouse moation and keyboard events that occur on the DrawingView to the provided tool.

This is a bound property.

Specified by:
setTool in interface DrawingEditor

setActiveView

public void setActiveView(DrawingView newValue)
Description copied from interface: DrawingEditor
Sets the editor's active drawing view. This can be set to null, if the editor has no views.

Specified by:
setActiveView in interface DrawingEditor

getTool

public Tool getTool()
Description copied from interface: DrawingEditor
Gets the current tool.

This is a bound property.

Specified by:
getTool in interface DrawingEditor

getActiveView

public DrawingView getActiveView()
Description copied from interface: DrawingEditor
Gets the editor's active drawing view. This can be null, if the editor has no views.

Specified by:
getActiveView in interface DrawingEditor

applyDefaultAttributesTo

public void applyDefaultAttributesTo(Figure f)
Description copied from interface: DrawingEditor
Applies the default attributes to the specified figure.

Specified by:
applyDefaultAttributesTo in interface DrawingEditor

getDefaultAttribute

public <T> T getDefaultAttribute(AttributeKey<T> key)
Description copied from interface: DrawingEditor
Gets a default attribute from the editor. The default attribute will be used by creation tools, to create a new figure.

Specified by:
getDefaultAttribute in interface DrawingEditor

setDefaultAttribute

public void setDefaultAttribute(AttributeKey key,
                                java.lang.Object newValue)
Description copied from interface: DrawingEditor
Sets a default attribute of the editor. The default attribute will be used by creation tools, to create a new figure.

Specified by:
setDefaultAttribute in interface DrawingEditor

remove

public void remove(DrawingView view)
Description copied from interface: DrawingEditor
Removes a drawing view from the editor. The editor invokes removeNotify on the view, and it unregisters its tool on the view.

Specified by:
remove in interface DrawingEditor

add

public void add(DrawingView view)
Description copied from interface: DrawingEditor
Adds a drawing view to the editor. The editor invokes addNotify on the view, and it registers its tool as an event listener on the view.

Specified by:
add in interface DrawingEditor

setCursor

public void setCursor(java.awt.Cursor c)
Description copied from interface: DrawingEditor
Sets the cursor on the view(s) of the drawing editor.

Specified by:
setCursor in interface DrawingEditor

getDrawingViews

public java.util.Collection<DrawingView> getDrawingViews()
Description copied from interface: DrawingEditor
Gets all drawing views associated with this editor.

Specified by:
getDrawingViews in interface DrawingEditor

findView

public DrawingView findView(java.awt.Container c)
Description copied from interface: DrawingEditor
Finds a drawing view. This is used by Tool to identify the view of which it has received an event.

Specified by:
findView in interface DrawingEditor

setEnabled

public void setEnabled(boolean newValue)
Description copied from interface: DrawingEditor
Sets the enabled state of the drawing editor. This is a bound property.

Specified by:
setEnabled in interface DrawingEditor

isEnabled

public boolean isEnabled()
Description copied from interface: DrawingEditor
Gets the enabled state of the drawing editor.

Specified by:
isEnabled in interface DrawingEditor

getDefaultAttributes

public java.util.Map<AttributeKey,java.lang.Object> getDefaultAttributes()
Description copied from interface: DrawingEditor
Returns an immutable Map with the default attributes of this editor.

Specified by:
getDefaultAttributes in interface DrawingEditor

setHandleAttribute

public void setHandleAttribute(AttributeKey key,
                               java.lang.Object value)
Description copied from interface: DrawingEditor
Sets a handle attribute of the editor. The default attribute will be used by creation tools, to create a new figure.

Specified by:
setHandleAttribute in interface DrawingEditor
Parameters:
key - AttributeKey.
value - Attribute value.

getHandleAttribute

public <T> T getHandleAttribute(AttributeKey<T> key)
Description copied from interface: DrawingEditor
Gets a handle attribute from the editor. The default attribute will be used by creation tools, to create a new figure.

Specified by:
getHandleAttribute in interface DrawingEditor
Parameters:
key - AttributeKey.
Returns:
If the handle attribute has been set, returns the previously set value. If the handle attribute has not been set, returns key.getDefaultValue().

setInputMap

public void setInputMap(javax.swing.InputMap newValue)
Description copied from interface: DrawingEditor
Sets the input map used by the tool of this drawing editor as a fall back for handling keyboard events.

This is a bound property.

Specified by:
setInputMap in interface DrawingEditor

getInputMap

public javax.swing.InputMap getInputMap()
Description copied from interface: DrawingEditor
Sets the input map used by the tool of this drawing editor as a fall back for handling keyboard events.

Tools 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.

Specified by:
getInputMap in interface DrawingEditor

setActionMap

public void setActionMap(javax.swing.ActionMap newValue)
Description copied from interface: DrawingEditor
Sets the action map used by the tool of this drawing editor as a fall back for performing actions.

This is a bound property.

Specified by:
setActionMap in interface DrawingEditor

getActionMap

public javax.swing.ActionMap getActionMap()
Description copied from interface: DrawingEditor
Gets the action map used by the tool of this drawing editor as a fall back for performing actions.

Tools 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.

Specified by:
getActionMap in interface DrawingEditor

createInputMap

protected javax.swing.InputMap createInputMap()
Override this method to create a tool-specific input map, which overrides the input map of the drawing edtior.

The implementation of this class creates an input map for the following action ID's:


createActionMap

protected javax.swing.ActionMap createActionMap()
Override this method to create a tool-specific action map, which overrides the action map of the drawing edtior.

The implementation of this class creates an action map which maps the following action ID's to the classes which define them:


Copyright 1996-2010 (c) by the authors and contributors of the JHotDraw project.
Some rights reserved.