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/gui/layer/MainLayerManager.java

    r10279 r10332  
    7676        }
    7777
     78        /**
     79         * Gets the data set that was previously used.
     80         * @return The data set of {@link #getPreviousEditLayer()}.
     81         */
     82        public DataSet getPreviousEditDataSet() {
     83            if (previousEditLayer != null) {
     84                return previousEditLayer.data;
     85            } else {
     86                return null;
     87            }
     88        }
     89
    7890        @Override
    7991        public MainLayerManager getSource() {
     
    98110     *
    99111     * @param listener the listener.
    100      * @param initialFire fire a fake active-layer-changed-event right after adding
    101      * the listener. The previous layers will be null. The listener is notified in the current thread.
    102      */
     112     * @param initialFire use {@link #addAndFireActiveLayerChangeListener(ActiveLayerChangeListener)} instead.
     113     * @deprecated Do not use the second parameter. To be removed in a few weeks.
     114     */
     115    @Deprecated
    103116    public synchronized void addActiveLayerChangeListener(ActiveLayerChangeListener listener, boolean initialFire) {
     117        if (initialFire) {
     118            addAndFireActiveLayerChangeListener(listener);
     119        } else {
     120            addActiveLayerChangeListener(listener);
     121        }
     122    }
     123
     124    /**
     125     * Adds a active/edit layer change listener
     126     *
     127     * @param listener the listener.
     128     */
     129    public synchronized void addActiveLayerChangeListener(ActiveLayerChangeListener listener) {
    104130        if (activeLayerChangeListeners.contains(listener)) {
    105131            throw new IllegalArgumentException("Attempted to add listener that was already in list: " + listener);
    106132        }
    107133        activeLayerChangeListeners.add(listener);
    108         if (initialFire) {
    109             listener.activeOrEditLayerChanged(new ActiveLayerChangeEvent(this, null, null));
    110         }
     134    }
     135
     136    /**
     137     * Adds a active/edit layer change listener. Fire a fake active-layer-changed-event right after adding
     138     * the listener. The previous layers will be null. The listener is notified in the current thread.
     139     * @param listener the listener.
     140     */
     141    public synchronized void addAndFireActiveLayerChangeListener(ActiveLayerChangeListener listener) {
     142        addActiveLayerChangeListener(listener);
     143        listener.activeOrEditLayerChanged(new ActiveLayerChangeEvent(this, null, null));
    111144    }
    112145
Note: See TracChangeset for help on using the changeset viewer.