Changeset 10467 in josm for trunk/src/org/openstreetmap/josm/actions/mapmode/DeleteAction.java
- Timestamp:
- 2016-06-24T00:30:42+02:00 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/actions/mapmode/DeleteAction.java
r10448 r10467 134 134 */ 135 135 public static void doActionPerformed(ActionEvent e) { 136 if (!Main.map.mapView.isActiveLayerDrawable()) 137 return; 136 MainLayerManager lm = Main.getLayerManager(); 137 OsmDataLayer editLayer = lm.getEditLayer(); 138 if (editLayer == null) { 139 return; 140 } 141 138 142 boolean ctrl = (e.getModifiers() & ActionEvent.CTRL_MASK) != 0; 139 143 boolean alt = (e.getModifiers() & (ActionEvent.ALT_MASK | InputEvent.ALT_GRAPH_MASK)) != 0; 140 144 141 MainLayerManager lm = Main.getLayerManager();142 145 Command c; 143 146 if (ctrl) { 144 c = DeleteCommand.deleteWithReferences( lm.getEditLayer(), lm.getEditDataSet().getSelected());147 c = DeleteCommand.deleteWithReferences(editLayer, lm.getEditDataSet().getSelected()); 145 148 } else { 146 c = DeleteCommand.delete( lm.getEditLayer(), lm.getEditDataSet().getSelected(), !alt /* also delete nodes in way */);149 c = DeleteCommand.delete(editLayer, lm.getEditDataSet().getSelected(), !alt /* also delete nodes in way */); 147 150 } 148 151 // if c is null, an error occurred or the user aborted. Don't do anything in that case. 149 152 if (c != null) { 150 153 Main.main.undoRedo.add(c); 154 //FIXME: This should not be required, DeleteCommand should update the selection, otherwise undo/redo won't work. 151 155 lm.getEditDataSet().setSelected(); 152 Main.map.repaint();153 156 } 154 157 } … … 213 216 private void repaintIfRequired(Set<OsmPrimitive> newHighlights, WaySegment newHighlightedWaySegment) { 214 217 boolean needsRepaint = false; 215 DataSet ds = getLayerManager().getEditDataSet();218 OsmDataLayer editLayer = getLayerManager().getEditLayer(); 216 219 217 220 if (newHighlightedWaySegment == null && oldHighlightedWaySegment != null) { 218 if ( ds!= null) {219 ds.clearHighlightedWaySegments();221 if (editLayer != null) { 222 editLayer.data.clearHighlightedWaySegments(); 220 223 needsRepaint = true; 221 224 } 222 225 oldHighlightedWaySegment = null; 223 226 } else if (newHighlightedWaySegment != null && !newHighlightedWaySegment.equals(oldHighlightedWaySegment)) { 224 if ( ds!= null) {225 ds.setHighlightedWaySegments(Collections.singleton(newHighlightedWaySegment));227 if (editLayer != null) { 228 editLayer.data.setHighlightedWaySegments(Collections.singleton(newHighlightedWaySegment)); 226 229 needsRepaint = true; 227 230 } … … 229 232 } 230 233 needsRepaint |= highlightHelper.highlightOnly(newHighlights); 231 if (needsRepaint ) {232 Main.map.mapView.repaint();234 if (needsRepaint && editLayer != null) { 235 editLayer.invalidate(); 233 236 } 234 237 }
Note:
See TracChangeset
for help on using the changeset viewer.