Ignore:
Timestamp:
2017-06-08T01:20:59+02:00 (8 years ago)
Author:
michael2402
Message:

Add the ability to listen to NoteData changes and use it to repaint notes layer.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified trunk/src/org/openstreetmap/josm/gui/layer/NoteLayer.java

    r12206 r12343  
    3030import org.openstreetmap.josm.data.notes.NoteComment;
    3131import org.openstreetmap.josm.data.osm.NoteData;
     32import org.openstreetmap.josm.data.osm.NoteData.NoteDataUpdateListener;
    3233import org.openstreetmap.josm.data.osm.visitor.BoundingXYVisitor;
    3334import org.openstreetmap.josm.gui.MapView;
     
    4950 * @since 7522
    5051 */
    51 public class NoteLayer extends AbstractModifiableLayer implements MouseListener {
     52public class NoteLayer extends AbstractModifiableLayer implements MouseListener, NoteDataUpdateListener {
    5253
    5354    private final NoteData noteData;
     
    6162        super(name);
    6263        noteData = new NoteData(notes);
     64        noteData.addNoteDataUpdateListener(this);
    6365    }
    6466
     
    7173    public void hookUpMapView() {
    7274        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();
    7382    }
    7483
     
    260269        }
    261270        noteData.setSelectedNote(closestNote);
    262         invalidate();
    263271    }
    264272
     
    292300        // Do nothing
    293301    }
     302
     303    @Override
     304    public void noteDataUpdated(NoteData data) {
     305        invalidate();
     306    }
     307
     308    @Override
     309    public void selectedNoteChanged(NoteData noteData) {
     310        invalidate();
     311    }
    294312}
Note: See TracChangeset for help on using the changeset viewer.