Ignore:
Timestamp:
2016-06-08T23:17:19+02:00 (8 years ago)
Author:
Don-vip
Message:

fix #12937 - Use the new LayerChangeListener (patch by michael2402) - gsoc-core

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/gui/dialogs/layer/ActivateLayerAction.java

    r10144 r10345  
    1010import javax.swing.AbstractAction;
    1111
    12 import org.openstreetmap.josm.Main;
    13 import org.openstreetmap.josm.gui.MapView;
    1412import org.openstreetmap.josm.gui.dialogs.LayerListDialog;
    1513import org.openstreetmap.josm.gui.dialogs.LayerListDialog.LayerListModel;
    1614import org.openstreetmap.josm.gui.help.HelpUtil;
    1715import org.openstreetmap.josm.gui.layer.Layer;
     16import org.openstreetmap.josm.gui.layer.MainLayerManager.ActiveLayerChangeEvent;
     17import org.openstreetmap.josm.gui.layer.MainLayerManager.ActiveLayerChangeListener;
    1818import org.openstreetmap.josm.gui.util.GuiHelper;
    1919import org.openstreetmap.josm.tools.CheckParameterUtil;
     
    2626 */
    2727public final class ActivateLayerAction extends AbstractAction
    28 implements IEnabledStateUpdating, MapView.LayerChangeListener, MultikeyShortcutAction {
     28implements IEnabledStateUpdating, ActiveLayerChangeListener, MultikeyShortcutAction {
    2929    private transient Layer layer;
    3030    private transient Shortcut multikeyShortcut;
     
    7777    private void execute(Layer layer) {
    7878        // model is going to be updated via LayerChangeListener and PropertyChangeEvents
    79         Main.map.mapView.setActiveLayer(layer);
     79        model.getLayerManager().setActiveLayer(layer);
    8080        layer.setVisible(true);
    8181    }
    8282
    83     protected boolean isActiveLayer(Layer layer) {
    84         if (!Main.isDisplayingMapView())
    85             return false;
    86         return Main.map.mapView.getActiveLayer() == layer;
     83    boolean isActiveLayer(Layer layer) {
     84        return model.getLayerManager().getActiveLayer() == layer;
    8785    }
    8886
     
    106104
    107105    @Override
    108     public void activeLayerChange(Layer oldLayer, Layer newLayer) {
    109         updateEnabledState();
    110     }
    111 
    112     @Override
    113     public void layerAdded(Layer newLayer) {
    114         updateEnabledState();
    115     }
    116 
    117     @Override
    118     public void layerRemoved(Layer oldLayer) {
     106    public void activeOrEditLayerChanged(ActiveLayerChangeEvent e) {
    119107        updateEnabledState();
    120108    }
     
    137125        return null; // Repeating action doesn't make much sense for activating
    138126    }
     127
    139128}
Note: See TracChangeset for help on using the changeset viewer.