Chapter 11 : Events
The API triggers events letting you know how some settings of the chart changes due to mouse and keyboard controllers, or animation taking place.
View events
View point changed
One may register a IViewPointListener to get notified by a ViewPointChangedEvent once the viewpoint changes:
chart.getView().addViewPointChangedListener(new IViewPointChangedListener() {
public void viewPointChanged(ViewPointChangedEvent e) {
System.out.println("viewpoint changed to " + e.getViewPoint());
}
});
View point reached top or bottom
To know that the user moved the chart to a top or bottom view. To get such notification:
chart.getView().addViewOnTopEventListener(new IViewIsVerticalEventListener() {
public void viewVerticalReached(ViewIsVerticalEvent e) {
System.out.println("view from top or bottom");
}
public void viewVerticalLeft(ViewIsVerticalEvent e) {
System.out.println("left top or bottom");
}
});
Controller events
A mouse controller is able to notify its listeners that it performed a view change. Indeed, adding a ControllerEventListener let you receive events with informations on the kind of changed value, and the new value:
mouse.addControllerEventListener(new ControllerEventListener() {
public void controllerEventFired(ControllerEvent e) {
System.out.println(e.getType + " " + e.getValue()); }
});
Where type is a ControllerType
that may either be ROTATE
, ZOOM
, SCALE
, or PAN
.
Drawable events
One may receive notifications concerning a drawable object property change.
scatter.addDrawableListener(new IDrawableListener(){
public void drawableChanged(DrawableChangedEvent e) {
switch(e.what()){
case DrawableChangedEvent.FIELD_COLOR: ... break;
case DrawableChangedEvent.FIELD_DATA: ... break;
case DrawableChangedEvent.FIELD_DISPLAYED: ... break;
case DrawableChangedEvent.FIELD_METADATA: ... break;
case DrawableChangedEvent.FIELD_TRANSFORM: ... break;
}
}
});