});
} else {
//TODO: have the filter return an appropriate node, rather than use instanceof
if (item instanceof TypeFilter) {
TypeFilter filter = (TypeFilter) item;
Rectangle rect = new Rectangle(20, 20);
rect.setArcHeight(5);
rect.setArcWidth(5);
rect.setStrokeWidth(3);
setLegendColor(filter, rect, this.filteredEvents.getEventTypeZoom());
this.filteredEvents.eventTypeZoom().addListener((
ObservableValue<? extends EventTypeZoomLevel> observable,
EventTypeZoomLevel oldValue,
EventTypeZoomLevel newValue) -> {
setLegendColor(filter, rect, newValue);
});
HBox hBox = new HBox(new Rectangle(filter.getEventType().getZoomLevel().ordinal() * 10, 5, CLEAR),
new ImageView(((TypeFilter) item).getFXImage()), rect
);
hBox.setAlignment(Pos.CENTER);
Platform.runLater(() -> {
setGraphic(hBox);