Skip to content
Snippets Groups Projects

Resolve "supprimer un des emplacements parents"

Merged Stephane Dervaux requested to merge 8-supprimer-un-des-emplacements-parents into develop
1 file
+ 35
0
Compare changes
  • Side-by-side
  • Inline
@@ -256,6 +256,41 @@ public class VocabTreeCell extends TextFieldTreeCell<VocabConcept> {
deprecatedNode.disableProperty().bind(Bindings.not(mainApp.getEditProperty()));
menu.getItems().add(deprecatedNode);
if(item.getFathers().size() > 1) {
MenuItem removeNodeFromOneParent = new MenuItem("Remove " + item.getName() + " from one parent");
removeNodeFromOneParent.setOnAction(event -> {
Dialog selectParent = new Dialog();
selectParent.setTitle(item.getName() + " have multiple parents");
DialogPane dp = selectParent.getDialogPane();
VBox box = new VBox();
Label l = new Label("This concept have " + item.getFathers().size() + " parents.\nPlease select from which parents you want to remove this concept.\n\n");
box.getChildren().add(l);
VocabConcept parentToRemoveFrom = null;
ToggleGroup group = new ToggleGroup();
for (VocabConcept p : item.getFathers()) {
RadioButton b = new RadioButton(p.getName());
b.setUserData(p);
b.setToggleGroup(group);
box.getChildren().add(b);
}
dp.setContent(box);
dp.getButtonTypes().addAll(ButtonType.CANCEL, ButtonType.OK);
selectParent.initOwner(MainApp.primaryStage);
Optional<ButtonType> click = selectParent.showAndWait();
if (click.isPresent() && click.get().getButtonData().equals(ButtonBar.ButtonData.OK_DONE)) {
if(group.getSelectedToggle() != null) {
VocabConcept p = (VocabConcept) group.getSelectedToggle().getUserData();
p.getSubNode().removeAll(item);
item.getFathers().remove(p);
MainApp.getOntologyControler().modified(true);
}
}
});
removeNodeFromOneParent.disableProperty().bind(Bindings.not(mainApp.getEditProperty()));
menu.getItems().add(removeNodeFromOneParent);
}
} else {
if (item.isDeletable() && item.getDeprecated()) {
MenuItem deleteNode = new MenuItem("Delete " + item.getName());
Loading