org.jhotdraw.app.action
Class AbstractSaveUnsavedChangesAction
java.lang.Object
javax.swing.AbstractAction
org.jhotdraw.app.action.AbstractViewAction
org.jhotdraw.app.action.AbstractSaveUnsavedChangesAction
- All Implemented Interfaces:
- java.awt.event.ActionListener, java.io.Serializable, java.lang.Cloneable, java.util.EventListener, javax.swing.Action
- Direct Known Subclasses:
- ClearFileAction, CloseFileAction, LoadFileAction, LoadRecentFileAction
public abstract class AbstractSaveUnsavedChangesAction
- extends AbstractViewAction
This abstract class can be extended to implement an Action
that asks
to save unsaved changes of a View
before the
the action is performed.
If the view has no unsaved changes, method doIt is invoked immediately.
If unsaved changes are present, a dialog is shown asking whether the user
wants to discard the changes, cancel or save the changes before doing it.
If the user chooses to discard the chanegs, toIt is invoked immediately.
If the user chooses to cancel, the action is aborted.
If the user chooses to save the changes, the view is saved, and doIt
is only invoked after the view was successfully saved.
- Version:
- $Id: AbstractSaveUnsavedChangesAction.java 647 2010-01-24 22:52:59Z rawcoder $
- Author:
- Werner Randelshofer
- See Also:
- Serialized Form
Fields inherited from class javax.swing.AbstractAction |
changeSupport, enabled |
Fields inherited from interface javax.swing.Action |
ACCELERATOR_KEY, ACTION_COMMAND_KEY, DEFAULT, DISPLAYED_MNEMONIC_INDEX_KEY, LARGE_ICON_KEY, LONG_DESCRIPTION, MNEMONIC_KEY, NAME, SELECTED_KEY, SHORT_DESCRIPTION, SMALL_ICON |
Methods inherited from class org.jhotdraw.app.action.AbstractViewAction |
getActiveView, getApplication, getPropertyName, installViewListeners, isEnabled, setEnabled, setPropertyName, uninstallViewListeners, updateEnabled, updateView, updateView |
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 |
AbstractSaveUnsavedChangesAction
public AbstractSaveUnsavedChangesAction(Application app,
View view)
- Creates a new instance.
actionPerformed
public void actionPerformed(java.awt.event.ActionEvent evt)
getChooser
protected URIChooser getChooser(View view)
saveView
protected void saveView(View p)
saveViewToURI
protected void saveViewToURI(View p,
java.net.URI uri,
URIChooser chooser)
doIt
protected abstract void doIt(View p)