Changeset 5519 in josm for trunk/src/org/openstreetmap/josm/gui/layer/OsmDataLayer.java
- Timestamp:
- 2012-09-30T17:36:39+02:00 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/org/openstreetmap/josm/gui/layer/OsmDataLayer.java
r5459 r5519 28 28 import java.util.List; 29 29 import java.util.Map; 30 import java.util.concurrent.CopyOnWriteArrayList; 30 31 31 32 import javax.swing.AbstractAction; … … 165 166 void commandChanged(int queueSize, int redoSize); 166 167 } 168 169 /** 170 * Listener called when a state of this layer has changed. 171 */ 172 public interface LayerStateChangeListener { 173 /** 174 * Notifies that the "upload discouraged" (upload=no) state has changed. 175 * @param layer The layer that has been modified 176 * @param newValue The new value of the state 177 */ 178 void uploadDiscouragedChanged(OsmDataLayer layer, boolean newValue); 179 } 180 181 private final CopyOnWriteArrayList<LayerStateChangeListener> layerStateChangeListeners = new CopyOnWriteArrayList<LayerStateChangeListener>(); 182 183 /** 184 * Adds a layer state change listener 185 * 186 * @param listener the listener. Ignored if null or already registered. 187 * @since 5519 188 */ 189 public void addLayerStateChangeListener(LayerStateChangeListener listener) { 190 if (listener != null) { 191 layerStateChangeListeners.addIfAbsent(listener); 192 } 193 } 194 195 /** 196 * Removes a layer property change listener 197 * 198 * @param listener the listener. Ignored if null or already registered. 199 * @since 5519 200 */ 201 public void removeLayerPropertyChangeListener(LayerStateChangeListener listener) { 202 layerStateChangeListeners.remove(listener); 203 } 167 204 168 205 /** … … 742 779 743 780 public final void setUploadDiscouraged(boolean uploadDiscouraged) { 744 data.setUploadDiscouraged(uploadDiscouraged); 781 if (uploadDiscouraged ^ isUploadDiscouraged()) { 782 data.setUploadDiscouraged(uploadDiscouraged); 783 for (LayerStateChangeListener l : layerStateChangeListeners) { 784 l.uploadDiscouragedChanged(this, uploadDiscouraged); 785 } 786 } 745 787 } 746 788
Note:
See TracChangeset
for help on using the changeset viewer.