public class UnGlueAction extends JosmAction
| Modifier and Type | Field and Description |
|---|---|
private Node |
selectedNode |
private java.util.Set<Node> |
selectedNodes |
private Way |
selectedWay |
sc| Constructor and Description |
|---|
UnGlueAction()
Create a new UnGlueAction.
|
| Modifier and Type | Method and Description |
|---|---|
void |
actionPerformed(java.awt.event.ActionEvent e)
Called when the action is executed.
|
protected boolean |
checkAndConfirmOutlyingUnglue() |
private boolean |
checkForUnglueNode(java.util.Collection<? extends OsmPrimitive> selection)
Checks if selection is suitable for ungluing.
|
private boolean |
checkSelection(java.util.Collection<? extends OsmPrimitive> selection)
Checks if the selection consists of something we can work with.
|
private boolean |
checkSelection2(java.util.Collection<? extends OsmPrimitive> selection)
Checks if the selection consists of something we can work with.
|
private void |
execCommands(java.util.List<Command> cmds,
java.util.List<Node> newNodes)
Add commands to undo-redo system.
|
private void |
fixRelations(Node originalNode,
java.util.List<Command> cmds,
java.util.List<Node> newNodes)
put all newNodes into the same relation(s) that originalNode is in
|
private Way |
modifyWay(Node originalNode,
Way w,
java.util.List<Command> cmds,
java.util.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(java.awt.event.ActionEvent e)
Assumes there is one tagged Node stored in selectedNode that it will try to unglue.
|
private boolean |
unglueSelfCrossingWay()
Duplicates a node used several times by the same way.
|
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.
|
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.
|
destroy, getCurrentDataSet, getEditLayer, getShortcut, initEnabledState, installAdapters, setTooltipprivate Node selectedNode
private Way selectedWay
private java.util.Set<Node> selectedNodes
public UnGlueAction()
public void actionPerformed(java.awt.event.ActionEvent e)
private void unglueNode(java.awt.event.ActionEvent e)
private boolean checkForUnglueNode(java.util.Collection<? extends OsmPrimitive> selection)
selection - The selection to check againsttrue if selection is suitableprivate boolean checkSelection(java.util.Collection<? extends OsmPrimitive> selection)
private boolean checkSelection2(java.util.Collection<? extends OsmPrimitive> selection)
private Way modifyWay(Node originalNode, Way w, java.util.List<Command> cmds, java.util.List<Node> newNodes)
private void fixRelations(Node originalNode, java.util.List<Command> cmds, java.util.List<Node> newNodes)
private void unglueWays()
private void execCommands(java.util.List<Command> cmds, java.util.List<Node> newNodes)
cmds - Commands to executenewNodes - New created nodes by this set of commandprivate boolean unglueSelfCrossingWay()
private void unglueWays2()
protected void updateEnabledState()
JosmActionJosmAction.updateEnabledState(Collection) to respond to changes in the collection
of selected primitives.
Default behavior is empty.updateEnabledState in class JosmActionJosmAction.updateEnabledState(Collection),
JosmAction.initEnabledState()protected void updateEnabledState(java.util.Collection<? extends OsmPrimitive> selection)
JosmActionupdateEnabledState in class JosmActionselection - the collection of selected primitives; may be empty, but not nullJosmAction.updateEnabledState(),
JosmAction.initEnabledState()protected boolean checkAndConfirmOutlyingUnglue()