public class UnGlueAction extends JosmAction
Modifier and Type | Field and Description |
---|---|
private Node |
selectedNode |
private Set<Node> |
selectedNodes |
private Way |
selectedWay |
sc
changeSupport, enabled
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 and Description |
---|
UnGlueAction()
Create a new UnGlueAction.
|
Modifier and Type | Method and Description |
---|---|
void |
actionPerformed(ActionEvent e)
Called when the action is executed.
|
protected boolean |
checkAndConfirmOutlyingUnglue() |
private boolean |
checkForUnglueNode(Collection<? extends OsmPrimitive> selection)
Checks if selection is suitable for ungluing.
|
private boolean |
checkSelection(Collection<? extends OsmPrimitive> selection)
Checks if the selection consists of something we can work with.
|
private boolean |
checkSelection2(Collection<? extends OsmPrimitive> selection)
Checks if the selection consists of something we can work with.
|
private void |
fixRelations(Node originalNode,
List<Command> cmds,
List<Node> newNodes)
put all newNodes into the same relation(s) that originalNode is in
|
private Way |
modifyWay(Node originalNode,
Way w,
List<Command> cmds,
List<Node> newNodes)
dupe the given node of the given way
assume that OrginalNode is in the way
-> the new node will be put into the parameter newNodes.
-> the add-node command will be put into the parameter cmds.
-> the changed way will be returned and must be put into cmds by the caller!
|
private void |
unglueNode(ActionEvent e)
Assumes there is one tagged Node stored in selectedNode that it will try to unglue.
|
private void |
unglueWays()
dupe a single node into as many nodes as there are ways using it, OR
dupe a single node once, and put the copy on the selected way
|
private void |
unglueWays2()
dupe all nodes that are selected, and put the copies on the selected way
|
protected void |
updateEnabledState()
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.
|
protected void |
updateEnabledState(Collection<? extends OsmPrimitive> selection)
Override in subclasses to update the enabled state of the action if the
collection of selected primitives changes.
|
destroy, getCurrentDataSet, getEditLayer, getShortcut, initEnabledState, installAdapters, setTooltip
addPropertyChangeListener, clone, firePropertyChange, getKeys, getPropertyChangeListeners, getValue, isEnabled, putValue, removePropertyChangeListener, setEnabled
private Node selectedNode
private Way selectedWay
private Set<Node> selectedNodes
public UnGlueAction()
public void actionPerformed(ActionEvent e)
private void unglueNode(ActionEvent e)
private boolean checkForUnglueNode(Collection<? extends OsmPrimitive> selection)
selection
- The selection to check againsttrue
if selection is suitableprivate boolean checkSelection(Collection<? extends OsmPrimitive> selection)
private boolean checkSelection2(Collection<? extends OsmPrimitive> selection)
private Way modifyWay(Node originalNode, Way w, List<Command> cmds, List<Node> newNodes)
private void fixRelations(Node originalNode, List<Command> cmds, List<Node> newNodes)
private void unglueWays()
private void unglueWays2()
protected void updateEnabledState()
JosmAction
JosmAction.updateEnabledState(Collection)
to respond to changes in the collection
of selected primitives.
Default behavior is empty.updateEnabledState
in class JosmAction
JosmAction.updateEnabledState(Collection)
,
JosmAction.initEnabledState()
protected void updateEnabledState(Collection<? extends OsmPrimitive> selection)
JosmAction
updateEnabledState
in class JosmAction
selection
- the collection of selected primitives; may be empty, but not nullJosmAction.updateEnabledState()
,
JosmAction.initEnabledState()
protected boolean checkAndConfirmOutlyingUnglue()