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 |
execCommands(List<Command> cmds,
List<Node> newNodes)
Add commands to undo-redo system.
|
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 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(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 execCommands(List<Command> cmds, List<Node> newNodes)
cmds
- Commands to executenewNodes
- New created nodes by this set of commandprivate boolean unglueSelfCrossingWay()
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()