ViewerWindowEvent
This type of event is generated when a layer is created, deleted, selected or moved.
Event registration can be done as follows, where this is the class that implements IEventSubscriber<ViewerWindowEvent>
EventBroadcaster.getInstance().subscribe(ViewerWindowEvent.class, this);
In the example below, we want to be notified if a certain layer is deleted. We do this in method onEvent which implements the IEventSubscriber<ViewerWindowEvent> interface:
private IVisual myLayer; // the layer we want to keep track of
public void onEvent(ViewerWindowEvent event) {
if (event.getEventType().equals(ViewerWindowEvent.VISUALS_REMOVED_EVENT_TYPE)) {
IVisual[] layers = event.getVisuals();
for (IVisual layer: layers) {
if (layer == myLayer) {
// do some cleanup
EventBroadcaster.getInstance().unsubscribe(ViewerWindowEvent.class, this);
myLayer = null;
....
}
}
}
}