gridLabelTypes.renderAll();
final Rows rows = gridLabelTypes.getRows();
for (Iterator i = rows.getChildren().iterator(); i.hasNext();) {
final Row row = (Row) i.next();
final LabelType labelType = (LabelType) row.getValue();
Hbox hbox = (Hbox) row.getChildren().get(2);
Button btnDelete = (Button) hbox.getChildren().get(1);
if (!canRemoveLabelType(labelType)) {
btnDelete.setDisabled(true);
btnDelete.setImage("/common/img/ico_borrar_out.png");
btnDelete
.setHoverImage("/common/img/ico_borrar_out.png");
btnDelete.setTooltiptext("");
}
}
}
private boolean canRemoveLabelType(LabelType labelType) {
boolean canRemove = true;
if (labelType.isNewObject()) {
return canRemove;
}
// If at least one of its labels is being used by and
// orderelement, cannot remove labelType
for (Label each: labelType.getLabels()) {
if (!each.getOrderElements().isEmpty()) {
canRemove = false;
break;
}
}