From 42b600fcf90cd5f8f23da5036f24b198f2356b7b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?No=C3=A9=20Garnier?= Date: Sun, 22 Jan 2023 23:05:16 +0100 Subject: [PATCH] Ajout de la suppressions de capteur --- out/production/Capteur/fxml/MainWindow.fxml | 12 ++- out/production/Capteur/view/MainWindow.class | Bin 4763 -> 5313 bytes resource/fxml/DetailZoneWindow.fxml | 8 ++ resource/fxml/MainWindow.fxml | 12 ++- src/view/DetailZoneWindow.java | 61 +++++++++++--- src/view/MainWindow.java | 80 +++++++++++-------- 6 files changed, 124 insertions(+), 49 deletions(-) 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 effdd16174094acbe2114e27caeebc13d3784eac..04249fc2a2f8ed23952a10331100524ef7adfb33 100644 GIT binary patch delta 1930 zcmaJ>dsGy46#jn8y0gp<2;vC>AzqeX0oEx?PMWA?26@bc;M5=EGScF*i@OV`rE6J& zJxrUj%-%0E$|7`0Fio?UR%U7sthA@u`)QeGeKWIhMA4nIbAR)jd%ydA_x|oIAG|S7 z-g2aKJ%Ca8w@p6X;VeRvf|;15mpalN*D1Ijb9BEWQ-t-!j+EgpRN)2%H)4)}BcRp! z8#QC=CIvTRmViCznXSd5KbjS^V4;9CHRLPzd-M&?tgwt*ahrtO6)eIX0%^5sqdIM7 zVbHDlv_iMv7Yg{jg(VH4kl!aD2er^xPf(re)d)MJDzDstU83Ml16CpIFXSYt_Sd-gohM7j7RhXj^fnE1YBd( z`jFNTsPg+5_XM7lutLF8`ejn4cv|;Lsm_&nMnOM3t1pt$hCe5e*yz!k3dd?8)#I)3 z_^SO)GFG9@@OeRCz>v~9f3@Z*vbDQUE0{U(_L-)%*{h&O`>GWw$<*K(quXPorej|`%YCM`! z?l1}8>dRec#{VGWNBkt=X9d6D*Y;g5yAZ$Y-O8k#14b|YRPZVGBw!Ewbg9p$1;%*Q zU{DK6I3y@)o|3LlkCW~H2xOQKOXJeRFYyH0upS#|9T0fgeBOwKT=(AF)W;r=+Hrn7 zC&%q&B8z)gu2(RCR}%9$A)M@ok#@5_B0gv6tK5`H2S|h+>3EGRg>S)t*YO6ez?<~9 z(Z3~rZ`kl3fq34t;6e^kaX!w%g&4_e3I}T%F2W3q<|vh*8Dp^w8J2?NQ;`qz(^fprm_VRXi3cE&nMbxh*t7|l1ySfiI_QAn^EAD1Y!3R{@yoKr$Ch>7;w zu*V`^K;a{hfMOFd-wKL~GRAx_J~M?T;&XP{8vQT0ilOJ1CcCfjHLdaC?!-P8D;xXq q9XQ1Xz3=Jx8~(swI7p|nsXd$4_|;g3LDp|y)b5Ykzi}8xaO!_f@U6%I delta 1370 zcmZ{i`EyfM6vsa|P4gbfYtmFvx>{PwKvAeOPGyRvLJ`5DsFfn3KLq+pQ%f4tgeoF+ z#|1>Ziq@i56hU#T#Z;&k!KI2?+`wIN*MC7B$Mcdn4o-QQ$vN-)zV~~+=bm$5YHx-2 z(BJ!pfjWNg_fGZ{<>T8Iz7`<>{)No&5e4wr__D3V!RIe z#^-psmD>z%x7ffPy4k4q-NoGo8!a|*kKSR-D!5nSs}Duvb|Q8~N5uAWAKKu4iwE={ zMyYyG7n%j;R(dS5d05w)g=cS51lNS^t{L;}cqrVyG#qK}=(Q z_8A%7SyP(~9@m@A3F-;G%RJ58&JKtAls;@0YR|Y0del==sqn9eN9MG3B;t0;iZm)f zQ%5+auq10tM5D3rYCATtZCs^NZ|D*4nT973Z4Sk4ZTq6S!B?b@`08}PS1`eh*j-Jb z_Jpm-X^e+fUVULGdRb^iyDqY-)Tg?|I^F-7m(Tga;7g0I_D=e zP&|`*-_5g@ z3`l0lSLDDRUY4jx3g0FC#=x;|hhKwV{wLz2oC0QY2In)I1uS79EnL7gG_a0EvP~D! z!(w)GF$cMXQ7%pCFTjxVhco)K*}@>NNS!6DWv^r|Q3 + + 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"))); + } + } + }; + } + }); } }