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/ImageryMenu.java

    r10173 r10345  
    3333import org.openstreetmap.josm.data.imagery.ImageryLayerInfo;
    3434import org.openstreetmap.josm.data.imagery.Shape;
    35 import org.openstreetmap.josm.gui.MapView.LayerChangeListener;
    3635import org.openstreetmap.josm.gui.layer.ImageryLayer;
    37 import org.openstreetmap.josm.gui.layer.Layer;
     36import org.openstreetmap.josm.gui.layer.LayerManager.LayerAddEvent;
     37import org.openstreetmap.josm.gui.layer.LayerManager.LayerChangeListener;
     38import org.openstreetmap.josm.gui.layer.LayerManager.LayerOrderChangeEvent;
     39import org.openstreetmap.josm.gui.layer.LayerManager.LayerRemoveEvent;
    3840import org.openstreetmap.josm.gui.preferences.imagery.ImageryPreference;
    3941import org.openstreetmap.josm.tools.ImageProvider;
     
    111113        super(trc("menu", "Imagery"));
    112114        setupMenuScroller();
    113         MapView.addLayerChangeListener(this);
     115        Main.getLayerManager().addLayerChangeListener(this);
    114116        // build dynamically
    115117        addMenuListener(new MenuListener() {
     
    210212
    211213    private JMenuItem getNewOffsetMenu() {
    212         if (!Main.isDisplayingMapView()) {
    213             offsetAction.setEnabled(false);
    214             return singleOffset;
    215         }
    216         Collection<ImageryLayer> layers = Main.map.mapView.getLayersOfType(ImageryLayer.class);
     214        Collection<ImageryLayer> layers = Main.getLayerManager().getLayersOfType(ImageryLayer.class);
    217215        if (layers.isEmpty()) {
    218216            offsetAction.setEnabled(false);
     
    239237
    240238    @Override
    241     public void activeLayerChange(Layer oldLayer, Layer newLayer) {
    242         // Do nothing
     239    public void layerAdded(LayerAddEvent e) {
     240        if (e.getAddedLayer() instanceof ImageryLayer) {
     241            refreshOffsetMenu();
     242        }
    243243    }
    244244
    245245    @Override
    246     public void layerAdded(Layer newLayer) {
    247         if (newLayer instanceof ImageryLayer) {
     246    public void layerRemoving(LayerRemoveEvent e) {
     247        if (e.getRemovedLayer() instanceof ImageryLayer) {
    248248            refreshOffsetMenu();
    249249        }
     
    251251
    252252    @Override
    253     public void layerRemoved(Layer oldLayer) {
    254         if (oldLayer instanceof ImageryLayer) {
    255             refreshOffsetMenu();
    256         }
     253    public void layerOrderChanged(LayerOrderChangeEvent e) {
     254        refreshOffsetMenu();
    257255    }
    258256
Note: See TracChangeset for help on using the changeset viewer.