diff --git a/out/production/Capteur/fxml/MainWindow.fxml b/out/production/Capteur/fxml/MainWindow.fxml index 741a83e..ff3aaab 100644 --- a/out/production/Capteur/fxml/MainWindow.fxml +++ b/out/production/Capteur/fxml/MainWindow.fxml @@ -4,7 +4,7 @@ - + @@ -24,7 +24,13 @@ + diff --git a/out/production/Capteur/view/MainWindow.class b/out/production/Capteur/view/MainWindow.class index effdd16..04249fc 100644 Binary files a/out/production/Capteur/view/MainWindow.class and b/out/production/Capteur/view/MainWindow.class differ diff --git a/resource/fxml/DetailZoneWindow.fxml b/resource/fxml/DetailZoneWindow.fxml index 1b74080..b01df41 100644 --- a/resource/fxml/DetailZoneWindow.fxml +++ b/resource/fxml/DetailZoneWindow.fxml @@ -75,5 +75,13 @@ + + diff --git a/resource/fxml/MainWindow.fxml b/resource/fxml/MainWindow.fxml index 741a83e..ff3aaab 100644 --- a/resource/fxml/MainWindow.fxml +++ b/resource/fxml/MainWindow.fxml @@ -4,7 +4,7 @@ - + @@ -24,7 +24,13 @@ + diff --git a/src/view/DetailZoneWindow.java b/src/view/DetailZoneWindow.java index 57b3af4..835d5e8 100644 --- a/src/view/DetailZoneWindow.java +++ b/src/view/DetailZoneWindow.java @@ -32,6 +32,10 @@ public class DetailZoneWindow extends Visualisateur{ @FXML private Button btnAjouter; @FXML + private Button btnVoir; + @FXML + private Button btnSupprimer; + @FXML private ListView listView; public DetailZoneWindow(CapteurZone capteurZone) throws IOException { @@ -78,16 +82,8 @@ public class DetailZoneWindow extends Visualisateur{ }); listView.getSelectionModel().selectedItemProperty().addListener((observable, oldValue, newValue) -> { - try { - if (lesCapteurs.get(listView.getSelectionModel().getSelectedIndex()).getClass().getSimpleName().equals("CapteurZone")) { - DetailZoneWindow Dzw = new DetailZoneWindow((CapteurZone) lesCapteurs.get(listView.getSelectionModel().getSelectedIndex())); - } - else{ - DetailWindow Dw = new DetailWindow((Capteur) lesCapteurs.get(listView.getSelectionModel().getSelectedIndex())); - } - } catch (IOException e) { - throw new RuntimeException(e); - } + btnVoir.setDisable(false); + btnSupprimer.setDisable(false); }); lesCapteurs.addAll(capteurZone.getLesCapteurs()); @@ -104,7 +100,52 @@ public class DetailZoneWindow extends Visualisateur{ lesCapteurs.add(c); } + @FXML + private void clickButtonSupprimer() throws Exception{ + CapteurAbstrait c = lesCapteurs.get(listView.getSelectionModel().getSelectedIndex()); + listView.getItems().remove(listView.getSelectionModel().getSelectedIndex()); + if (lesCapteurs.size() == 0) { + btnVoir.setDisable(true); + btnSupprimer.setDisable(true); + } + update(); + } + @FXML + private void clickButtonVoir() throws Exception{ + try { + if (lesCapteurs.get(listView.getSelectionModel().getSelectedIndex()).getClass().getSimpleName().equals("CapteurZone")) { + DetailZoneWindow Dzw = new DetailZoneWindow((CapteurZone) lesCapteurs.get(listView.getSelectionModel().getSelectedIndex())); + } + else{ + DetailWindow Dw = new DetailWindow((Capteur) lesCapteurs.get(listView.getSelectionModel().getSelectedIndex())); + } + } catch (IOException e) { + throw new RuntimeException(e); + } + } @Override public void update() { + lesCapteurs = listView.getItems(); + + listView.setCellFactory(new Callback, ListCell>() { + @Override + public ListCell call(ListView capteurListView) { + return new ListCell(){ + @Override + public void updateItem(CapteurAbstrait value, boolean empty) { + super.updateItem(value, empty); + if (value != null) { + textProperty().bind(new SimpleStringProperty(this, "", "") + .concat("[") + .concat(value.getId()) + .concat("] ") + .concat(value.getNom()) + .concat(" : ") + .concat(value.getTemperature().asString("%.2f°C"))); + } + } + }; + } + }); } } diff --git a/src/view/MainWindow.java b/src/view/MainWindow.java index 2b5d0d5..a798bbb 100644 --- a/src/view/MainWindow.java +++ b/src/view/MainWindow.java @@ -54,18 +54,8 @@ public class MainWindow extends Visualisateur{ }); listView.getSelectionModel().selectedItemProperty().addListener((observable, oldValue, newValue) -> { -// btnVoir.setDisable(false); -// btnSupprimer.setDisable(false); - try { - if (lesCapteurs.get(listView.getSelectionModel().getSelectedIndex()).getClass().getSimpleName().equals("CapteurZone")) { - DetailZoneWindow Dzw = new DetailZoneWindow((CapteurZone) lesCapteurs.get(listView.getSelectionModel().getSelectedIndex())); - } - else{ - DetailWindow Dw = new DetailWindow((Capteur) lesCapteurs.get(listView.getSelectionModel().getSelectedIndex())); - } - } catch (IOException e) { - throw new RuntimeException(e); - } + btnVoir.setDisable(false); + btnSupprimer.setDisable(false); }); Capteur capteur1 = new Capteur("Capteur Réaliste", new GenerateurRealiste()); @@ -91,28 +81,52 @@ public class MainWindow extends Visualisateur{ CapteurZone c = new CapteurZone("Nouveau Capteur Zone", new ArrayList()); lesCapteurs.add(c); } -// @FXML -// private void clickButtonSupprimer() throws Exception{ -// CapteurAbstrait c = lesCapteurs.get(listView.getSelectionModel().getSelectedIndex()); -// lesCapteurs.remove(c); -// listView.getItems().remove(c); -// listView.refresh(); -// } -// @FXML -// private void clickButtonVoir() throws Exception{ -// try { -// if (lesCapteurs.get(listView.getSelectionModel().getSelectedIndex()).getClass().getSimpleName().equals("CapteurZone")) { -// DetailZoneWindow Dzw = new DetailZoneWindow((CapteurZone) lesCapteurs.get(listView.getSelectionModel().getSelectedIndex())); -// } -// else{ -// DetailWindow Dw = new DetailWindow((Capteur) lesCapteurs.get(listView.getSelectionModel().getSelectedIndex())); -// } -// } catch (IOException e) { -// throw new RuntimeException(e); -// } -// } + @FXML + private void clickButtonSupprimer() throws Exception{ + CapteurAbstrait c = lesCapteurs.get(listView.getSelectionModel().getSelectedIndex()); + listView.getItems().remove(listView.getSelectionModel().getSelectedIndex()); + if (lesCapteurs.size() == 0) { + btnVoir.setDisable(true); + btnSupprimer.setDisable(true); + } + update(); + } + @FXML + private void clickButtonVoir() throws Exception{ + try { + if (lesCapteurs.get(listView.getSelectionModel().getSelectedIndex()).getClass().getSimpleName().equals("CapteurZone")) { + DetailZoneWindow Dzw = new DetailZoneWindow((CapteurZone) lesCapteurs.get(listView.getSelectionModel().getSelectedIndex())); + } + else{ + DetailWindow Dw = new DetailWindow((Capteur) lesCapteurs.get(listView.getSelectionModel().getSelectedIndex())); + } + } catch (IOException e) { + throw new RuntimeException(e); + } + } @Override public void update() { - listView.refresh(); + lesCapteurs = listView.getItems(); + + listView.setCellFactory(new Callback, ListCell>() { + @Override + public ListCell call(ListView capteurListView) { + return new ListCell(){ + @Override + public void updateItem(CapteurAbstrait value, boolean empty) { + super.updateItem(value, empty); + if (value != null) { + textProperty().bind(new SimpleStringProperty(this, "", "") + .concat("[") + .concat(value.getId()) + .concat("] ") + .concat(value.getNom()) + .concat(" : ") + .concat(value.getTemperature().asString("%.2f°C"))); + } + } + }; + } + }); } }