Ignore:
Timestamp:
2011-04-12T21:53:29+02:00 (14 years ago)
Author:
glebius
Message:

Restore methods for registering foreign listeners, nuked
in r25790. Shame on me.

Bug: #6202

File:
1 edited

Legend:

Unmodified
Added
Removed
  • applications/editors/josm/plugins/livegps/src/livegps/LiveGpsPlugin.java

    r25797 r25832  
    3535    private JCheckBoxMenuItem lgpsautocenter;
    3636    private LiveGpsDialog lgpsdialog;
     37    /* List of foreign (e.g. other plugins) subscribers */
     38    List<PropertyChangeListener> listenerQueue = new ArrayList<PropertyChangeListener>();
    3739
    3840    private GpxData data = new GpxData();
     
    170172            acquirer.addPropertyChangeListener(lgpslayer);
    171173            acquirer.addPropertyChangeListener(lgpsdialog);
     174            for (PropertyChangeListener listener : listenerQueue)
     175                acquirer.addPropertyChangeListener(listener);
    172176
    173177            acquirerThread.start();
     
    188192    }
    189193
     194    /**
     195     * Add a listener for gps events.
     196     * @param listener the listener.
     197     */
     198    public void addPropertyChangeListener(PropertyChangeListener listener) {
     199        assert(!listenerQueue.contains(listener));
     200
     201        listenerQueue.add(listener);
     202        if (acquirer != null)
     203            acquirer.addPropertyChangeListener(listener);
     204    }
     205
     206    /**
     207     * Remove a listener for gps events.
     208     * @param listener the listener.
     209     */
     210    public void removePropertyChangeListener(PropertyChangeListener listener) {
     211        assert(listenerQueue.contains(listener));
     212
     213        listenerQueue.remove(listener);
     214        if (acquirer != null)
     215            acquirer.removePropertyChangeListener(listener);
     216    }
     217
    190218    /* (non-Javadoc)
    191219     * @see org.openstreetmap.josm.plugins.Plugin#mapFrameInitialized(org.openstreetmap.josm.gui.MapFrame, org.openstreetmap.josm.gui.MapFrame)
Note: See TracChangeset for help on using the changeset viewer.