Ignore:
Timestamp:
2016-06-24T00:30:42+02:00 (8 years ago)
Author:
Don-vip
Message:

fix #13037 - Small fixes for unit tests (patch by michael2402) - gsoc-core

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/actions/mapmode/DeleteAction.java

    r10448 r10467  
    134134     */
    135135    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
    138142        boolean ctrl = (e.getModifiers() & ActionEvent.CTRL_MASK) != 0;
    139143        boolean alt = (e.getModifiers() & (ActionEvent.ALT_MASK | InputEvent.ALT_GRAPH_MASK)) != 0;
    140144
    141         MainLayerManager lm = Main.getLayerManager();
    142145        Command c;
    143146        if (ctrl) {
    144             c = DeleteCommand.deleteWithReferences(lm.getEditLayer(), lm.getEditDataSet().getSelected());
     147            c = DeleteCommand.deleteWithReferences(editLayer, lm.getEditDataSet().getSelected());
    145148        } 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 */);
    147150        }
    148151        // if c is null, an error occurred or the user aborted. Don't do anything in that case.
    149152        if (c != null) {
    150153            Main.main.undoRedo.add(c);
     154            //FIXME: This should not be required, DeleteCommand should update the selection, otherwise undo/redo won't work.
    151155            lm.getEditDataSet().setSelected();
    152             Main.map.repaint();
    153156        }
    154157    }
     
    213216    private void repaintIfRequired(Set<OsmPrimitive> newHighlights, WaySegment newHighlightedWaySegment) {
    214217        boolean needsRepaint = false;
    215         DataSet ds = getLayerManager().getEditDataSet();
     218        OsmDataLayer editLayer = getLayerManager().getEditLayer();
    216219
    217220        if (newHighlightedWaySegment == null && oldHighlightedWaySegment != null) {
    218             if (ds != null) {
    219                 ds.clearHighlightedWaySegments();
     221            if (editLayer != null) {
     222                editLayer.data.clearHighlightedWaySegments();
    220223                needsRepaint = true;
    221224            }
    222225            oldHighlightedWaySegment = null;
    223226        } 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));
    226229                needsRepaint = true;
    227230            }
     
    229232        }
    230233        needsRepaint |= highlightHelper.highlightOnly(newHighlights);
    231         if (needsRepaint) {
    232             Main.map.mapView.repaint();
     234        if (needsRepaint && editLayer != null) {
     235            editLayer.invalidate();
    233236        }
    234237    }
Note: See TracChangeset for help on using the changeset viewer.