lPopup.hide();
getSkinnable().appointments().remove(abstractAppointmentPane.appointment);
// refresh is done via the collection events
}
});
Tooltip.install(lImageView, new Tooltip("Delete")); // TODO: internationalize
lHBox.getChildren().add(lImageView);
}
// construct a area of appointment groups
lMenuVBox.getChildren().add(new Text("Group:"));
GridPane lAppointmentGroupGridPane = new GridPane();
lMenuVBox.getChildren().add(lAppointmentGroupGridPane);
lAppointmentGroupGridPane.getStyleClass().add("AppointmentGroups");
lAppointmentGroupGridPane.setHgap(2);
lAppointmentGroupGridPane.setVgap(2);
int lCnt = 0;
for (Agenda.AppointmentGroup lAppointmentGroup : getSkinnable().appointmentGroups())
{
// create the appointment group
final Pane lPane = new Pane();
lPane.setPrefSize(15, 15);
lPane.getStyleClass().addAll("AppointmentGroup", lAppointmentGroup.getStyleClass());
lAppointmentGroupGridPane.add(lPane, lCnt % 10, lCnt / 10 );
lCnt++;
// tooltip
if (lAppointmentGroup.getDescription() != null) {
Tooltip.install(lPane, new Tooltip(lAppointmentGroup.getDescription()));
}
// mouse reactions
lPane.setOnMouseEntered((mouseEvent) -> {
if (!mouseEvent.isPrimaryButtonDown())