org.openstreetmap.josm.actions
Class PurgeAction

java.lang.Object
  extended by javax.swing.AbstractAction
      extended by org.openstreetmap.josm.actions.JosmAction
          extended by org.openstreetmap.josm.actions.PurgeAction
All Implemented Interfaces:
java.awt.event.ActionListener, java.io.Serializable, java.lang.Cloneable, java.util.EventListener, javax.swing.Action, Destroyable

public class PurgeAction
extends JosmAction

The action to purge the selected primitives, i.e. remove them from the data layer, or remove their content and make them incomplete. This means, the deleted flag is not affected and JOSM simply forgets about these primitives. This action is undo-able. In order not to break previous commands in the undo buffer, we must re-add the identical object (and not semantically equal ones).

See Also:
Serialized Form

Field Summary
(package private)  javax.swing.JCheckBox cbClearUndoRedo
           
protected  OsmDataLayer layer
           
protected  java.util.Set<OsmPrimitive> makeIncomplete
          Subset of toPurgeChecked.
protected  java.util.Set<OsmPrimitive> toPurge
           
protected  java.util.List<OsmPrimitive> toPurgeAdditionally
          Subset of toPurgeChecked.
protected  java.util.Set<OsmPrimitive> toPurgeChecked
          finally, contains all objects that are purged
 
Fields inherited from class org.openstreetmap.josm.actions.JosmAction
sc
 
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
 
Constructor Summary
PurgeAction()
           
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent e)
           
private  javax.swing.JPanel buildPanel(boolean modified)
           
private  boolean hasOnlyIncompleteMembers(Relation r, java.util.Collection<OsmPrimitive> toPurge, java.util.Collection<? extends OsmPrimitive> moreToPurge)
           
protected  void updateEnabledState()
          Override in subclasses to update the enabled state of the action when something in the JOSM state changes, i.e.
protected  void updateEnabledState(java.util.Collection<? extends OsmPrimitive> selection)
          Override in subclasses to update the enabled state of the action if the collection of selected primitives changes.
 
Methods inherited from class org.openstreetmap.josm.actions.JosmAction
destroy, getCurrentDataSet, getEditLayer, getShortcut, initEnabledState, installAdapters, setTooltip
 
Methods inherited from class javax.swing.AbstractAction
addPropertyChangeListener, clone, firePropertyChange, getKeys, getPropertyChangeListeners, getValue, isEnabled, putValue, removePropertyChangeListener, setEnabled
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

layer

protected OsmDataLayer layer

cbClearUndoRedo

javax.swing.JCheckBox cbClearUndoRedo

toPurge

protected java.util.Set<OsmPrimitive> toPurge

toPurgeChecked

protected java.util.Set<OsmPrimitive> toPurgeChecked
finally, contains all objects that are purged


makeIncomplete

protected java.util.Set<OsmPrimitive> makeIncomplete
Subset of toPurgeChecked. Marks primitives that remain in the dataset, but incomplete.


toPurgeAdditionally

protected java.util.List<OsmPrimitive> toPurgeAdditionally
Subset of toPurgeChecked. Those that have not been in the selection.

Constructor Detail

PurgeAction

public PurgeAction()
Method Detail

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent e)

buildPanel

private javax.swing.JPanel buildPanel(boolean modified)

updateEnabledState

protected void updateEnabledState()
Description copied from class: JosmAction
Override in subclasses to update the enabled state of the action when something in the JOSM state changes, i.e. when a layer is removed or added. See JosmAction.updateEnabledState(Collection) to respond to changes in the collection of selected primitives. Default behavior is empty.

Overrides:
updateEnabledState in class JosmAction
See Also:
JosmAction.updateEnabledState(Collection), JosmAction.initEnabledState()

updateEnabledState

protected void updateEnabledState(java.util.Collection<? extends OsmPrimitive> selection)
Description copied from class: JosmAction
Override in subclasses to update the enabled state of the action if the collection of selected primitives changes. This method is called with the new selection.

Overrides:
updateEnabledState in class JosmAction
Parameters:
selection - the collection of selected primitives; may be empty, but not null
See Also:
JosmAction.updateEnabledState(), JosmAction.initEnabledState()

hasOnlyIncompleteMembers

private boolean hasOnlyIncompleteMembers(Relation r,
                                         java.util.Collection<OsmPrimitive> toPurge,
                                         java.util.Collection<? extends OsmPrimitive> moreToPurge)


JOSM