public class CreateMultipolygonAction extends JosmAction
| Modifier and Type | Class and Description |
|---|---|
private static class |
CreateMultipolygonAction.CreateUpdateMultipolygonTask |
JosmAction.ActiveLayerChangeAdapter, JosmAction.LayerChangeAdapter, JosmAction.SelectionChangeAdapter| Modifier and Type | Field and Description |
|---|---|
private static java.util.List<java.lang.String> |
DEFAULT_LINEAR_TAGS |
private boolean |
update |
sc| Constructor and Description |
|---|
CreateMultipolygonAction(boolean update)
Constructs a new
CreateMultipolygonAction. |
| Modifier and Type | Method and Description |
|---|---|
void |
actionPerformed(java.awt.event.ActionEvent e) |
static Pair<SequenceCommand,Relation> |
createMultipolygonCommand(java.util.Collection<Way> selectedWays,
Relation selectedMultipolygonRelation)
|
static Pair<Relation,Relation> |
createMultipolygonRelation(java.util.Collection<Way> selectedWays,
boolean showNotif)
|
private static java.lang.String |
getName(boolean update) |
private static Relation |
getSelectedMultipolygonRelation(java.util.Collection<Way> selectedWays,
java.util.Collection<Relation> selectedRelations) |
private static Pair<Relation,Relation> |
mergeRelationsMembers(Relation old,
Relation calculated)
Merge members of multipolygon relation.
|
static java.util.List<Command> |
removeTagsFromWaysIfNeeded(Relation relation)
This method removes tags/value pairs from inner and outer ways and put them on relation if necessary
Function was extended in reltoolbox plugin by Zverikk and copied back to the core
|
private static void |
showErrors(java.util.List<TestError> errors) |
protected void |
updateEnabledState()
Enable this action only if something is selected
|
protected void |
updateEnabledState(java.util.Collection<? extends OsmPrimitive> selection)
Enable this action only if something is selected
|
static Pair<Relation,Relation> |
updateMultipolygonRelation(java.util.Collection<Way> selectedWays,
Relation selectedMultipolygonRelation)
|
checkAndConfirmOutlyingOperation, destroy, getLayerManager, getShortcut, initEnabledState, installAdapters, listenToLayerChange, listenToSelectionChange, setHelpId, setTooltip, updateEnabledStateOnCurrentSelection, updateEnabledStateOnCurrentSelection, updateEnabledStateOnModifiableSelection, waitFutureprivate final boolean update
private static final java.util.List<java.lang.String> DEFAULT_LINEAR_TAGS
public CreateMultipolygonAction(boolean update)
CreateMultipolygonAction.update - true if the multipolygon must be updated, false if it must be createdprivate static java.lang.String getName(boolean update)
public void actionPerformed(java.awt.event.ActionEvent e)
private static Relation getSelectedMultipolygonRelation(java.util.Collection<Way> selectedWays, java.util.Collection<Relation> selectedRelations)
public static Pair<Relation,Relation> updateMultipolygonRelation(java.util.Collection<Way> selectedWays, Relation selectedMultipolygonRelation)
Pair of the old multipolygon Relation (or null) and the newly created/modified multipolygon Relation.selectedWays - selected waysselectedMultipolygonRelation - selected multipolygon relationprivate static Pair<Relation,Relation> mergeRelationsMembers(Relation old, Relation calculated)
calculated.old - old multipolygon relationcalculated - calculated multipolygon relationpublic static Pair<Relation,Relation> createMultipolygonRelation(java.util.Collection<Way> selectedWays, boolean showNotif)
selectedWays - selected waysshowNotif - if true, shows a notification if an error occursprivate static void showErrors(java.util.List<TestError> errors)
public static Pair<SequenceCommand,Relation> createMultipolygonCommand(java.util.Collection<Way> selectedWays, Relation selectedMultipolygonRelation)
selectedWays - selected waysselectedMultipolygonRelation - selected multipolygon relationprotected void updateEnabledState()
updateEnabledState in class JosmActionJosmAction.updateEnabledState(Collection),
JosmAction.initEnabledState(),
JosmAction.listenToLayerChange()protected void updateEnabledState(java.util.Collection<? extends OsmPrimitive> selection)
updateEnabledState in class JosmActionselection - the current selection, gets tested for emptinessJosmAction.updateEnabledState(),
JosmAction.initEnabledState(),
JosmAction.listenToSelectionChange()public static java.util.List<Command> removeTagsFromWaysIfNeeded(Relation relation)
relation - the multipolygon style relation to process