org.jhotdraw.app.action
Class SaveBeforeAction
java.lang.Object
javax.swing.AbstractAction
org.jhotdraw.app.action.AbstractProjectAction
org.jhotdraw.app.action.SaveBeforeAction
- 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 SaveBeforeAction
- extends AbstractProjectAction
Base class for actions that can only be safely performed when the project
has no unsaved changes.
If the project 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 project is saved, and doIt
is only invoked after the project was successfully saved.
- 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 |
SaveBeforeAction
public SaveBeforeAction(Application app)
- Creates a new instance.
actionPerformed
public void actionPerformed(java.awt.event.ActionEvent evt)
saveChanges
protected void saveChanges(Project p)
saveToFile
protected void saveToFile(Project p,
java.io.File file)
fileSaved
protected void fileSaved(Project p,
java.io.File file,
java.lang.Object value)
doIt
protected abstract void doIt(Project p)