Changeset 12343 in josm
- Timestamp:
- 2017-06-08T01:20:59+02:00 (8 years ago)
- Location:
- trunk/src/org/openstreetmap/josm
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified trunk/src/org/openstreetmap/josm/data/osm/NoteData.java ¶
r11821 r12343 16 16 import org.openstreetmap.josm.data.notes.NoteComment; 17 17 import org.openstreetmap.josm.gui.JosmUserIdentityManager; 18 import org.openstreetmap.josm.tools.ListenerList; 18 19 19 20 /** … … 22 23 public class NoteData { 23 24 25 /** 26 * A listener that can be informed on note data changes. 27 * @author Michael Zangl 28 * @since 12343 29 */ 30 public interface NoteDataUpdateListener { 31 /** 32 * Called when the note data is updated 33 * @param data The data that was changed 34 */ 35 void noteDataUpdated(NoteData data); 36 37 /** 38 * The selected node was changed 39 * @param noteData The data of which the selected node was changed 40 */ 41 void selectedNoteChanged(NoteData noteData); 42 } 43 24 44 private long newNoteId = -1; 25 45 … … 27 47 private Note selectedNote; 28 48 private Comparator<Note> comparator = Note.DEFAULT_COMPARATOR; 49 50 private final ListenerList<NoteDataUpdateListener> listeners = ListenerList.create(); 29 51 30 52 /** … … 77 99 if (Main.map != null) { 78 100 Main.map.noteDialog.selectionChanged(); 79 Main.map.mapView.repaint();80 }101 } 102 listeners.fireEvent(l -> l.selectedNoteChanged(this)); 81 103 } 82 104 … … 213 235 if (Main.isDisplayingMapView()) { 214 236 Main.map.noteDialog.setNotes(getSortedNotes()); 215 Main.map.mapView.repaint();216 }237 } 238 listeners.fireEvent(l -> l.noteDataUpdated(this)); 217 239 } 218 240 … … 256 278 dataUpdated(); 257 279 } 280 281 /** 282 * Adds a listener that listens to node data changes 283 * @param listener The listener 284 */ 285 public void addNoteDataUpdateListener(NoteDataUpdateListener listener) { 286 listeners.addListener(listener); 287 } 288 289 /** 290 * Removes a listener that listens to node data changes 291 * @param listener The listener 292 */ 293 public void removeNoteDataUpdateListener(NoteDataUpdateListener listener) { 294 listeners.removeListener(listener); 295 } 258 296 } -
TabularUnified trunk/src/org/openstreetmap/josm/gui/layer/NoteLayer.java ¶
r12206 r12343 30 30 import org.openstreetmap.josm.data.notes.NoteComment; 31 31 import org.openstreetmap.josm.data.osm.NoteData; 32 import org.openstreetmap.josm.data.osm.NoteData.NoteDataUpdateListener; 32 33 import org.openstreetmap.josm.data.osm.visitor.BoundingXYVisitor; 33 34 import org.openstreetmap.josm.gui.MapView; … … 49 50 * @since 7522 50 51 */ 51 public class NoteLayer extends AbstractModifiableLayer implements MouseListener { 52 public class NoteLayer extends AbstractModifiableLayer implements MouseListener, NoteDataUpdateListener { 52 53 53 54 private final NoteData noteData; … … 61 62 super(name); 62 63 noteData = new NoteData(notes); 64 noteData.addNoteDataUpdateListener(this); 63 65 } 64 66 … … 71 73 public void hookUpMapView() { 72 74 Main.map.mapView.addMouseListener(this); 75 } 76 77 @Override 78 public synchronized void destroy() { 79 Main.map.mapView.removeMouseListener(this); 80 noteData.removeNoteDataUpdateListener(this); 81 super.destroy(); 73 82 } 74 83 … … 260 269 } 261 270 noteData.setSelectedNote(closestNote); 262 invalidate();263 271 } 264 272 … … 292 300 // Do nothing 293 301 } 302 303 @Override 304 public void noteDataUpdated(NoteData data) { 305 invalidate(); 306 } 307 308 @Override 309 public void selectedNoteChanged(NoteData noteData) { 310 invalidate(); 311 } 294 312 }
Note:
See TracChangeset
for help on using the changeset viewer.