Changeset 12763 in josm
- Timestamp:
- 2017-09-06T22:44:38+02:00 (7 years ago)
- Location:
- trunk/src/org/openstreetmap/josm
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/actions/DeleteAction.java
r12761 r12763 19 19 import org.openstreetmap.josm.data.osm.OsmPrimitive; 20 20 import org.openstreetmap.josm.data.osm.Relation; 21 import org.openstreetmap.josm.data.osm.RelationToChildReference; 21 22 import org.openstreetmap.josm.gui.ConditionalOptionPaneUtil; 22 23 import org.openstreetmap.josm.gui.MainApplication; 23 24 import org.openstreetmap.josm.gui.MapFrame; 25 import org.openstreetmap.josm.gui.dialogs.DeleteFromRelationConfirmationDialog; 24 26 import org.openstreetmap.josm.gui.widgets.JMultilineLabel; 25 27 import org.openstreetmap.josm.tools.Shortcut; … … 45 47 public boolean confirmRelationDeletion(Collection<Relation> relations) { 46 48 return DeleteAction.confirmRelationDeletion(relations); 49 } 50 51 @Override 52 public boolean confirmDeletionFromRelation(Collection<RelationToChildReference> references) { 53 DeleteFromRelationConfirmationDialog dialog = DeleteFromRelationConfirmationDialog.getInstance(); 54 dialog.getModel().populate(references); 55 dialog.setVisible(true); 56 return !dialog.isCanceled(); 47 57 } 48 58 }; -
trunk/src/org/openstreetmap/josm/command/DeleteCommand.java
r12760 r12763 34 34 import org.openstreetmap.josm.data.osm.Way; 35 35 import org.openstreetmap.josm.data.osm.WaySegment; 36 import org.openstreetmap.josm.gui.dialogs.DeleteFromRelationConfirmationDialog;37 36 import org.openstreetmap.josm.gui.layer.OsmDataLayer; 38 37 import org.openstreetmap.josm.tools.CheckParameterUtil; … … 42 41 /** 43 42 * A command to delete a number of primitives from the dataset. 43 * To be used correctly, this class requires an initial call to {@link #setDeletionCallback(DeletionCallback)} to 44 * allow interactive confirmation actions. 44 45 * @since 23 45 46 */ … … 94 95 */ 95 96 boolean confirmRelationDeletion(Collection<Relation> relations); 97 98 /** 99 * Confirm before removing a collection of primitives from their parent relations. 100 * @param references the list of relation-to-child references 101 * @return {@code true} if user confirms the deletion 102 * @since 12763 103 */ 104 boolean confirmDeletionFromRelation(Collection<RelationToChildReference> references); 96 105 } 97 106 … … 577 586 Set<RelationToChildReference> references = RelationToChildReference.getRelationToChildReferences(primitivesToDelete); 578 587 references.removeIf(ref -> ref.getParent().isDeleted()); 579 if (!references.isEmpty()) { 580 DeleteFromRelationConfirmationDialog dialog = DeleteFromRelationConfirmationDialog.getInstance(); 581 dialog.getModel().populate(references); 582 dialog.setVisible(true); 583 if (dialog.isCanceled()) 584 return null; 588 if (!references.isEmpty() && !callback.confirmDeletionFromRelation(references)) { 589 return null; 585 590 } 586 591 }
Note:
See TracChangeset
for help on using the changeset viewer.