public class CreateMultipolygonAction extends JosmAction
| Modifier and Type | Class and Description |
|---|---|
private static class |
CreateMultipolygonAction.CreateUpdateMultipolygonTask |
JosmAction.LayerChangeAdapter, JosmAction.SelectionChangeAdapter| Modifier and Type | Field and Description |
|---|---|
private static List<String> |
DEFAULT_LINEAR_TAGS |
private boolean |
update |
scchangeSupport, enabledACCELERATOR_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 |
|---|
CreateMultipolygonAction(boolean update)
Constructs a new
CreateMultipolygonAction. |
| Modifier and Type | Method and Description |
|---|---|
void |
actionPerformed(ActionEvent e) |
private static void |
addMembers(MultipolygonBuilder.JoinedPolygon polygon,
Relation rel,
String role) |
private static MultipolygonBuilder |
analyzeWays(Collection<Way> selectedWays,
boolean showNotif)
This method analyzes ways and creates multipolygon.
|
static Pair<SequenceCommand,Relation> |
createMultipolygonCommand(Collection<Way> selectedWays,
Relation selectedMultipolygonRelation)
|
static Pair<Relation,Relation> |
createMultipolygonRelation(Collection<Way> selectedWays,
boolean showNotif)
|
private static Relation |
createRelation(MultipolygonBuilder pol,
Relation clone)
Builds a relation from polygon ways.
|
private static String |
getName(boolean update) |
private static Relation |
getSelectedMultipolygonRelation() |
private static Relation |
getSelectedMultipolygonRelation(Collection<Way> selectedWays,
Collection<Relation> selectedRelations) |
static 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
|
protected void |
updateEnabledState()
Enable this action only if something is selected
|
protected void |
updateEnabledState(Collection<? extends OsmPrimitive> selection)
Enable this action only if something is selected
|
static Pair<Relation,Relation> |
updateMultipolygonRelation(Collection<Way> selectedWays,
Relation selectedMultipolygonRelation)
|
destroy, getCurrentDataSet, getEditLayer, getShortcut, initEnabledState, installAdapters, setTooltipaddPropertyChangeListener, clone, firePropertyChange, getKeys, getPropertyChangeListeners, getValue, isEnabled, putValue, removePropertyChangeListener, setEnabledprivate final boolean update
private static final List<String> DEFAULT_LINEAR_TAGS
public CreateMultipolygonAction(boolean update)
CreateMultipolygonAction.update - true if the multipolygon must be updated, false if it must be createdpublic void actionPerformed(ActionEvent e)
private static Relation getSelectedMultipolygonRelation()
private static Relation getSelectedMultipolygonRelation(Collection<Way> selectedWays, Collection<Relation> selectedRelations)
public static Pair<Relation,Relation> updateMultipolygonRelation(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 relationpublic static Pair<Relation,Relation> createMultipolygonRelation(Collection<Way> selectedWays, boolean showNotif)
selectedWays - selected waysshowNotif - if true, shows a notification if an error occurspublic static Pair<SequenceCommand,Relation> createMultipolygonCommand(Collection<Way> selectedWays, Relation selectedMultipolygonRelation)
selectedWays - selected waysselectedMultipolygonRelation - selected multipolygon relationprotected void updateEnabledState()
updateEnabledState in class JosmActionJosmAction.updateEnabledState(Collection),
JosmAction.initEnabledState()protected void updateEnabledState(Collection<? extends OsmPrimitive> selection)
updateEnabledState in class JosmActionselection - the current selection, gets tested for emptynessJosmAction.updateEnabledState(),
JosmAction.initEnabledState()private static MultipolygonBuilder analyzeWays(Collection<Way> selectedWays, boolean showNotif)
selectedWays - list of selected waysshowNotif - if true, shows a notification if an error occursnull, if there was a problem with the ways.private static Relation createRelation(MultipolygonBuilder pol, Relation clone)
pol - data storage class containing polygon informationclone - relation to clone, can be nullprivate static void addMembers(MultipolygonBuilder.JoinedPolygon polygon, Relation rel, String role)
public static List<Command> removeTagsFromWaysIfNeeded(Relation relation)
relation - the multipolygon style relation to process