JHotDraw 7.0.6

org.jhotdraw.app.action
Class AbstractProjectAction

java.lang.Object
  extended by javax.swing.AbstractAction
      extended by org.jhotdraw.app.action.AbstractProjectAction
All Implemented Interfaces:
java.awt.event.ActionListener, java.io.Serializable, java.lang.Cloneable, java.util.EventListener, javax.swing.Action
Direct Known Subclasses:
ExportAction, MaximizeAction, MinimizeAction, ProjectPropertyAction, RedoAction, SaveAction, SaveBeforeAction, ToggleProjectPropertyAction, UndoAction

public abstract class AbstractProjectAction
extends javax.swing.AbstractAction

An Action that acts on on the current Project of an Application. If the current Project object is disabled or is null, the AbstractProjectAction is disabled as well.

See Also:
Project, Application, Serialized Form

Field Summary
 
Fields inherited from class javax.swing.AbstractAction
changeSupport, enabled
 
Fields inherited from interface javax.swing.Action
ACCELERATOR_KEY, ACTION_COMMAND_KEY, DEFAULT, LONG_DESCRIPTION, MNEMONIC_KEY, NAME, SHORT_DESCRIPTION, SMALL_ICON
 
Constructor Summary
AbstractProjectAction(Application app)
          Creates a new instance.
 
Method Summary
 Application getApplication()
           
 Project getCurrentProject()
           
protected  void installProjectListeners(Project p)
          Installs listeners on the project object.
 boolean isEnabled()
          Returns true if the action is enabled.
 void setEnabled(boolean newValue)
          Enables or disables the action.
protected  void uninstallProjectListeners(Project p)
          Installs listeners on the project object.
protected  void updateEnabled(boolean oldValue, boolean newValue)
          Updates the enabled state of this action depending on the new enabled state of the project.
protected  void updateProject(Project oldValue, Project newValue)
          Updates the project of this action depending on the current project of the application.
 
Methods inherited from class javax.swing.AbstractAction
addPropertyChangeListener, clone, firePropertyChange, getKeys, getPropertyChangeListeners, getValue, putValue, removePropertyChangeListener
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface java.awt.event.ActionListener
actionPerformed
 

Constructor Detail

AbstractProjectAction

public AbstractProjectAction(Application app)
Creates a new instance.

Method Detail

updateProject

protected void updateProject(Project oldValue,
                             Project newValue)
Updates the project of this action depending on the current project of the application.


installProjectListeners

protected void installProjectListeners(Project p)
Installs listeners on the project object.


uninstallProjectListeners

protected void uninstallProjectListeners(Project p)
Installs listeners on the project object.


updateEnabled

protected void updateEnabled(boolean oldValue,
                             boolean newValue)
Updates the enabled state of this action depending on the new enabled state of the project.


getApplication

public Application getApplication()

getCurrentProject

public Project getCurrentProject()

isEnabled

public boolean isEnabled()
Returns true if the action is enabled. The enabled state of the action depends on the state that has been set using setEnabled() and on the enabled state of the application.

Specified by:
isEnabled in interface javax.swing.Action
Overrides:
isEnabled in class javax.swing.AbstractAction
Returns:
true if the action is enabled, false otherwise
See Also:
Action.isEnabled()

setEnabled

public void setEnabled(boolean newValue)
Enables or disables the action. The enabled state of the action depends on the value that is set here and on the enabled state of the application.

Specified by:
setEnabled in interface javax.swing.Action
Overrides:
setEnabled in class javax.swing.AbstractAction
Parameters:
newValue - true to enable the action, false to disable it
See Also:
Action.setEnabled(boolean)

Copyright 1996-2006 © JHotDraw.org