Package org.openstreetmap.josm.actions
Class UnJoinNodeWayAction
- java.lang.Object
-
- javax.swing.AbstractAction
-
- org.openstreetmap.josm.actions.JosmAction
-
- org.openstreetmap.josm.actions.UnJoinNodeWayAction
-
- All Implemented Interfaces:
java.awt.event.ActionListener
,java.io.Serializable
,java.lang.Cloneable
,java.util.EventListener
,javax.swing.Action
,Destroyable
public class UnJoinNodeWayAction extends JosmAction
Disconnect nodes from a way they currently belong to.- Since:
- 6253
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.openstreetmap.josm.actions.JosmAction
JosmAction.ActiveLayerChangeAdapter, JosmAction.LayerChangeAdapter, JosmAction.SelectionChangeAdapter
-
-
Field Summary
-
Fields inherited from class org.openstreetmap.josm.actions.JosmAction
sc
-
-
Constructor Summary
Constructors Constructor Description UnJoinNodeWayAction()
Constructs a newUnJoinNodeWayAction
.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
actionPerformed(java.awt.event.ActionEvent e)
Called when the action is executed.private java.util.List<Node>
cleanSelectedNodes(java.util.List<Way> selectedWays, java.util.List<Node> selectedNodes)
Removes irrelevant nodes from user selection.(package private) static java.util.List<Way>
getApplicableWays(java.util.List<Way> selectedWays, java.util.List<Node> selectedNodes)
Find ways to which the disconnect can be applied.void
notify(java.lang.String msg, int messageType)
Send a notification message.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
buildActiveLayerChangeAdapter, buildLayerChangeAdapter, checkAndConfirmOutlyingOperation, destroy, getLayerManager, getShortcut, initEnabledState, installAdapters, listenToLayerChange, listenToSelectionChange, setHelpId, setToolbarId, setTooltip, updateEnabledStateOnCurrentSelection, updateEnabledStateOnCurrentSelection, updateEnabledStateOnModifiableSelection, waitFuture
-
Methods inherited from class javax.swing.AbstractAction
addPropertyChangeListener, clone, firePropertyChange, getKeys, getPropertyChangeListeners, getValue, isEnabled, putValue, removePropertyChangeListener, setEnabled
-
-
-
-
Constructor Detail
-
UnJoinNodeWayAction
public UnJoinNodeWayAction()
Constructs a newUnJoinNodeWayAction
.
-
-
Method Detail
-
actionPerformed
public void actionPerformed(java.awt.event.ActionEvent e)
Called when the action is executed.
-
notify
public void notify(java.lang.String msg, int messageType)
Send a notification message.- Parameters:
msg
- Message to be sent.messageType
- Nature of the message.
-
cleanSelectedNodes
private java.util.List<Node> cleanSelectedNodes(java.util.List<Way> selectedWays, java.util.List<Node> selectedNodes)
Removes irrelevant nodes from user selection. The action can be performed reliably even if we remove : * Nodes not referenced by any ways * When only one way is selected, nodes not part of this way (#10396).- Parameters:
selectedWays
- List of user selected way.selectedNodes
- List of user selected nodes.- Returns:
- New list of nodes cleaned of irrelevant nodes.
-
getApplicableWays
static java.util.List<Way> getApplicableWays(java.util.List<Way> selectedWays, java.util.List<Node> selectedNodes)
Find ways to which the disconnect can be applied. This is the list of ways with more than two nodes which pass through all the given nodes, intersected with the selected ways (if any)- Parameters:
selectedWays
- List of user selected ways.selectedNodes
- List of user selected nodes.- Returns:
- List of relevant ways
-
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. SeeJosmAction.updateEnabledState(Collection)
to respond to changes in the collection of selected primitives. Default behavior is empty.- Overrides:
updateEnabledState
in classJosmAction
- See Also:
JosmAction.updateEnabledState(Collection)
,JosmAction.initEnabledState()
,JosmAction.listenToLayerChange()
-
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 classJosmAction
- Parameters:
selection
- the collection of selected primitives; may be empty, but not null- See Also:
JosmAction.updateEnabledState()
,JosmAction.initEnabledState()
,JosmAction.listenToSelectionChange()
-
-