Ignore:
Timestamp:
2016-06-07T08:22:39+02:00 (8 years ago)
Author:
stoecker
Message:

Do not use deprecated EditLayerChangedListener - patch my Michael Zangl - gsoc-core - fix #12924

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/data/osm/event/DatasetEventManager.java

    r10308 r10332  
    1212import javax.swing.SwingUtilities;
    1313
     14import org.openstreetmap.josm.Main;
    1415import org.openstreetmap.josm.data.osm.DataSet;
    1516import org.openstreetmap.josm.data.osm.event.DataSetListenerAdapter.Listener;
    16 import org.openstreetmap.josm.gui.MapView;
    17 import org.openstreetmap.josm.gui.layer.OsmDataLayer;
     17import org.openstreetmap.josm.gui.layer.MainLayerManager.ActiveLayerChangeEvent;
     18import org.openstreetmap.josm.gui.layer.MainLayerManager.ActiveLayerChangeListener;
    1819
    1920/**
     
    2627 *
    2728 */
    28 public class DatasetEventManager implements MapView.EditLayerChangeListener, Listener {
     29public class DatasetEventManager implements ActiveLayerChangeListener, Listener {
    2930
    3031    private static final DatasetEventManager instance = new DatasetEventManager();
     
    146147     */
    147148    public DatasetEventManager() {
    148         MapView.addEditLayerChangeListener(this);
     149        Main.getLayerManager().addActiveLayerChangeListener(this);
    149150    }
    150151
     
    171172
    172173    @Override
    173     public void editLayerChanged(OsmDataLayer oldLayer, OsmDataLayer newLayer) {
    174         if (oldLayer != null) {
    175             oldLayer.data.removeDataSetListener(myListener);
    176         }
    177 
    178         if (newLayer != null) {
    179             newLayer.data.addDataSetListener(myListener);
    180             processDatasetEvent(new DataChangedEvent(newLayer.data));
    181         } else {
    182             processDatasetEvent(new DataChangedEvent(null));
    183         }
     174    public void activeOrEditLayerChanged(ActiveLayerChangeEvent e) {
     175        DataSet oldData = e.getPreviousEditDataSet();
     176        if (oldData != null) {
     177            oldData.removeDataSetListener(myListener);
     178        }
     179
     180        DataSet newData = e.getSource().getEditDataSet();
     181        if (newData != null) {
     182            newData.addDataSetListener(myListener);
     183        }
     184        processDatasetEvent(new DataChangedEvent(newData));
    184185    }
    185186
Note: See TracChangeset for help on using the changeset viewer.