JHotDraw 7.0.9

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:
AbstractSaveBeforeAction, ExportAction, FindAction, MaximizeAction, MinimizeAction, PrintAction, ProjectPropertyAction, RedoAction, SaveAction, ToggleLineNumbersAction, ToggleLineWrapAction, ToggleProjectPropertyAction, TogglePropertiesPanelAction, ToggleStatusBarAction, UndoAction, ViewSourceAction

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.

A property name can be specified. When the specified property changes or when the current project changes, method updateProperty is invoked.

Version:
1.0 October 9, 2005 Created.
Author:
Werner Randelshofer
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  java.lang.String getPropertyName()
          Gets the property name.
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 setPropertyName(java.lang.String name)
          Sets the property name.
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 listeners of this action depending on the current project of the application.
protected  void updateProperty()
          This method is invoked, when the property changed and when the project changed.
 
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 listeners of this action depending on the current project of the application.


setPropertyName

protected void setPropertyName(java.lang.String name)
Sets the property name.


getPropertyName

protected java.lang.String getPropertyName()
Gets the property name.


updateProperty

protected void updateProperty()
This method is invoked, when the property changed and when the project changed.


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-2007 (c) JHotDraw.org.
Some rights reserved.