org.jhotdraw.application.action
Class AbstractSaveBeforeAction
java.lang.Object
javax.swing.AbstractAction
org.jhotdraw.application.action.AbstractApplicationAction
org.jhotdraw.application.action.AbstractDocumentViewAction
org.jhotdraw.application.action.AbstractSaveBeforeAction
- All Implemented Interfaces:
- java.awt.event.ActionListener, java.io.Serializable, java.lang.Cloneable, java.util.EventListener, javax.swing.Action
- Direct Known Subclasses:
- ClearAction, CloseAction, LoadAction, LoadRecentAction
public abstract class AbstractSaveBeforeAction
- extends AbstractDocumentViewAction
Base class for actions that can only be safely performed when the documentView
has no unsaved changes.
If the documentView 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 documentView is saved, and doIt
is only invoked after the documentView was successfully saved.
- Version:
- 2.0 2006-06-15 Reworked.
1.2 2006-05-19 Make filename acceptable by ExtensionFileFilter.
1.1 2006-05-03 Localized messages.
1.0 27. September 2005 Created.
- 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, LONG_DESCRIPTION, MNEMONIC_KEY, NAME, SHORT_DESCRIPTION, SMALL_ICON |
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 |
AbstractSaveBeforeAction
public AbstractSaveBeforeAction()
- Creates a new instance.
actionPerformed
public void actionPerformed(java.awt.event.ActionEvent evt)
saveChanges
protected void saveChanges(DocumentView p)
saveToFile
protected void saveToFile(DocumentView p,
java.io.File file)
fileSaved
protected void fileSaved(DocumentView p,
java.io.File file,
java.lang.Object value)
doIt
protected abstract void doIt(DocumentView p)