diff --git a/src/main/java/fr/inra/po2vocabmanager/view/dataView/ObservationOverviewController.java b/src/main/java/fr/inra/po2vocabmanager/view/dataView/ObservationOverviewController.java index 0055df95eaf8d611530b5198e58537ce040a615a..99565ee9c13a54e2bc2f9dd04bfd40a27ea2527c 100644 --- a/src/main/java/fr/inra/po2vocabmanager/view/dataView/ObservationOverviewController.java +++ b/src/main/java/fr/inra/po2vocabmanager/view/dataView/ObservationOverviewController.java @@ -131,10 +131,7 @@ public class ObservationOverviewController { public void showNodeDetails(DataNode node) { ToggleGroup groupFOI = new ToggleGroup(); - groupFOI.selectedToggleProperty().addListener(observable -> { - RadioButton r = (RadioButton) groupFOI.getSelectedToggle(); - file.setFoi(r.getUserData().toString()); - }); + file = (ObservationFile) node.getFile(); file.checkValue(); @@ -148,44 +145,20 @@ public class ObservationOverviewController { UITools.simpleBindValue(file.getCScale(), observationScale); - + listItem = FXCollections.observableArrayList(); if(file.getStepFile() != null) { // sinon c'est une observation d'itinéraire. listObjectObserved.setDisable(false); listObjectObserved.setVisible(true); - listItem = FXCollections.observableArrayList(); - - // il n'est plus possible de selectionné itinéraire -// listItem.add(new MutablePair<>("Itinerary", new MutablePair<>("itinerary", new SimpleBooleanProperty(false)))); + groupFOI.selectedToggleProperty().addListener(observable -> { + RadioButton r = (RadioButton) groupFOI.getSelectedToggle(); + file.setFoi(r.getUserData().toString()); + }); listItem.add(new MutablePair<>("Step - " + file.getStepFile().getNameProperty().get(), new MutablePair<>("step", new SimpleBooleanProperty(false)))); for (CompositionFile comp : file.getStepFile().getCompositionFile().keySet()) { String inout = file.getStepFile().getCompositionFile().get(comp) ? "Input" : "Output"; listItem.add(new MutablePair<>(inout+" composition - " + comp.getHeaderPart().getCompoType().getValue().get() + " (" + comp.getHeaderPart().getCompositionID() + ")", new MutablePair<>(comp.getFileName(), new SimpleBooleanProperty(false)))); } - listObjectObserved.setCellFactory(mutablePairListView -> { - ListCell<MutablePair<String, MutablePair<String, SimpleBooleanProperty>>> cell = new ListCell<MutablePair<String, MutablePair<String, SimpleBooleanProperty>>>() { - - @Override - public void updateItem(MutablePair<String, MutablePair<String, SimpleBooleanProperty>> stringMutablePairMutablePair, boolean b) { - super.updateItem(stringMutablePairMutablePair, b); - if (stringMutablePairMutablePair != null && !b) { - RadioButton r = new RadioButton(stringMutablePairMutablePair.getLeft()); - r.setUserData(stringMutablePairMutablePair.getRight().getLeft()); - r.setSelected(stringMutablePairMutablePair.getRight().getRight().get()); - r.setToggleGroup(groupFOI); - setGraphic(r); - setText(null); - setStyle(" -fx-text-fill: black; -fx-opacity: 1;"); - - } else { - setText(null); - setGraphic(null); - } - } - }; - cell.disableProperty().bind(mainApp.getEditProperty().not()); - return cell; - }); listObjectObserved.setItems(listItem); bindFoi(file.getCFoi(), listObjectObserved, file.getStepFile()); @@ -197,12 +170,34 @@ public class ObservationOverviewController { }); } } else { - listObjectObserved.setDisable(true); // observation d'itinéraire. on désactive les objects observed - listObjectObserved.setVisible(false); + listObjectObserved.setDisable(false); // observation d'itinéraire. on active les objects observed avec 1 seul et on ne laisse pas le choix. + listObjectObserved.setVisible(true); + listItem.add(new MutablePair<>("Itinerary " + file.getItineraryFile().getItineraryName(), new MutablePair<>("Itinerary " + file.getItineraryFile().getItineraryName(), new SimpleBooleanProperty(true)))); + listObjectObserved.setItems(listItem); } - - - + listObjectObserved.setCellFactory(mutablePairListView -> { + ListCell<MutablePair<String, MutablePair<String, SimpleBooleanProperty>>> cell = new ListCell<MutablePair<String, MutablePair<String, SimpleBooleanProperty>>>() { + @Override + public void updateItem(MutablePair<String, MutablePair<String, SimpleBooleanProperty>> stringMutablePairMutablePair, boolean b) { + super.updateItem(stringMutablePairMutablePair, b); + if (stringMutablePairMutablePair != null && !b) { + RadioButton r = new RadioButton(stringMutablePairMutablePair.getLeft()); + r.setUserData(stringMutablePairMutablePair.getRight().getLeft()); + r.setSelected(stringMutablePairMutablePair.getRight().getRight().get()); + r.setToggleGroup(groupFOI); + setGraphic(r); + setText(null); + setStyle(" -fx-text-fill: black; -fx-opacity: 1;"); + + } else { + setText(null); + setGraphic(null); + } + } + }; + cell.disableProperty().bind(mainApp.getEditProperty().not()); + return cell; + }); Label titlePane = new Label("Observation"); titlePane.setAlignment(Pos.CENTER_LEFT);