From bcce3deeacd06e573eb3dce7bfe8412fcff0e67f Mon Sep 17 00:00:00 2001 From: "nicolas.franco" Date: Sat, 21 Jan 2023 19:19:51 +0100 Subject: [PATCH] treeView display partially fixed (images added) --- resources/images/cpu.png | Bin 0 -> 9627 bytes resources/images/random.png | Bin 0 -> 2697 bytes resources/images/virtual.png | Bin 0 -> 3771 bytes resources/view/TreeView.fxml | 1 - src/launcher/Launch.java | 10 ++--- src/model/UnitCapteur.java | 4 ++ src/view/FXMLView.java | 1 - src/view/TreeViewCtrl.java | 81 +++++++++++++++++++---------------- 8 files changed, 51 insertions(+), 46 deletions(-) create mode 100644 resources/images/cpu.png create mode 100644 resources/images/random.png create mode 100644 resources/images/virtual.png diff --git a/resources/images/cpu.png b/resources/images/cpu.png new file mode 100644 index 0000000000000000000000000000000000000000..a17de7e0b6fc7009b272149428029bb20db6a95a GIT binary patch literal 9627 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 MG(S;t%=O0q0RsQjX#fBK literal 0 HcmV?d00001 diff --git a/resources/images/random.png b/resources/images/random.png new file mode 100644 index 0000000000000000000000000000000000000000..c63bde15fe2034d8eb7ffc3066efdbc86eec898b GIT binary patch literal 2697 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 DRcIRG literal 0 HcmV?d00001 diff --git a/resources/images/virtual.png b/resources/images/virtual.png new file mode 100644 index 0000000000000000000000000000000000000000..88816282c768249b129af752b90b44c34c4237bc GIT binary patch literal 3771 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 literal 0 HcmV?d00001 diff --git a/resources/view/TreeView.fxml b/resources/view/TreeView.fxml index 0c0d521..364d79e 100644 --- a/resources/view/TreeView.fxml +++ b/resources/view/TreeView.fxml @@ -8,6 +8,5 @@ prefWidth="600.0" xmlns="http://javafx.com/javafx/15.0.1" xmlns:fx="http://javafx.com/fxml/1"> - diff --git a/src/launcher/Launch.java b/src/launcher/Launch.java index d639e60..c689d77 100644 --- a/src/launcher/Launch.java +++ b/src/launcher/Launch.java @@ -41,11 +41,9 @@ public class Launch extends Application { capteurs.add(captorV); // FXML NOT WORKING - //Stage thermostatStage = new Stage(); - //CapteurView capteurView = new ImageCtrlView(captorV,"view/Image.fxml","mon titre"); - //ThermostatView thermostatView = new ThermostatView(captorV,"view/Thermostat.fxml","mon titre"); + Stage thermostatStage = new Stage(); TreeViewCtrl treeViewCtrl = new TreeViewCtrl(capteurs,"view/TreeView.fxml","treeView"); - + treeViewCtrl.show(); Thread t = new Thread() { public void run() { while (true) { @@ -55,12 +53,12 @@ public class Launch extends Application { } captorV.genTemp(); try { - //((ImageCtrlView) capteurView).changeImage(); + /*((ImageCtrlView) capteurView).changeImage(); System.out.println(captorV.getNom() + ": " + captorV.getTemp().getValue() + " °C"); for (Map.Entry entry : captorV.getCapteurs().entrySet()) { CapteurAbstrait c = entry.getKey(); System.out.println(c.getNom() + ": " + c.getTemp().getValue() + " °C"); - } + }*/ sleep(4000); } catch (InterruptedException e) { throw new RuntimeException(e); diff --git a/src/model/UnitCapteur.java b/src/model/UnitCapteur.java index 4888593..5beb4d5 100644 --- a/src/model/UnitCapteur.java +++ b/src/model/UnitCapteur.java @@ -19,4 +19,8 @@ public class UnitCapteur extends CapteurAbstrait{ public T accept(Visitor v) { return v.visit(this); } + + public StrategyCaptor getStrategie() { + return strategie; + } } diff --git a/src/view/FXMLView.java b/src/view/FXMLView.java index ef1d7e7..1e146c0 100644 --- a/src/view/FXMLView.java +++ b/src/view/FXMLView.java @@ -16,6 +16,5 @@ public class FXMLView extends Stage { Parent root = fxmlLoader.load(); Scene scene = new Scene(root); setScene(scene); - show(); } } diff --git a/src/view/TreeViewCtrl.java b/src/view/TreeViewCtrl.java index b9727d2..edb9c43 100644 --- a/src/view/TreeViewCtrl.java +++ b/src/view/TreeViewCtrl.java @@ -13,62 +13,67 @@ import javafx.scene.control.*; import javafx.scene.image.Image; import javafx.scene.image.ImageView; import javafx.scene.input.MouseEvent; -import model.CapteurAbstrait; -import model.CapteurVirtuel; -import model.TreeItemFactoryVisitor; +import model.*; public class TreeViewCtrl extends FXMLView { @FXML private TreeView treeView; - @FXML - private Spinner spinnerTemp; - private ArrayList capteurAbstraits; + public TreeViewCtrl(ArrayList capteurs, String url, String title) throws IOException { super(url,title); - this.capteurAbstraits = capteurs;; + this.capteurAbstraits = capteurs; + TreeItem root = new TreeItem<>(); - root.setExpanded(true); treeView.setShowRoot(false); + root.setExpanded(true); + //treeView.setRoot(root); TreeItemFactoryVisitor treeItemFactoryVisitor = new TreeItemFactoryVisitor(); + treeView.setVisible(true); - for(CapteurAbstrait capteur: capteurAbstraits){ - TreeItem item = capteur.accept(treeItemFactoryVisitor); - root.getChildren().add(item); + + if (root != null && treeView != null) { + treeView.setRoot(root); + for (CapteurAbstrait capteur : capteurAbstraits) { + TreeItem item = capteur.accept(treeItemFactoryVisitor); + root.getChildren().add(item); + } } +// for(CapteurAbstrait capteur: capteurAbstraits){ +// TreeItem item = capteur.accept(treeItemFactoryVisitor); +// root.getChildren().add(item); +// } this.initializeCapteur(); + } - public void initializeCapteur(){ - treeView.setCellFactory(param -> new TreeCell(){ + public void initializeCapteur() { + treeView.setCellFactory(param -> new TreeCell() { @Override - protected void updateItem(CapteurAbstrait capteur, boolean empty){ - super.updateItem(capteur,empty); - if(empty){ - textProperty().unbind(); - setText(""); - } else { - textProperty().bind(capteur.getNom()); - } - } - }); + protected void updateItem(CapteurAbstrait capteur, boolean empty) { + super.updateItem(capteur, empty); + if (empty || capteur == null) { + textProperty().unbind(); + setText(""); + } else { + textProperty().bind(capteur.getNom()); + String image = "/images/random.png"; + if (capteur.getClass() == CapteurVirtuel.class) { + image = "/images/virtual.png"; + } else if (capteur.getClass() == UnitCapteur.class && ((UnitCapteur) capteur).getStrategie().getClass() == StrategyCPU.class) { + image = "/images/cpu.png"; + } else if (capteur.getClass() == UnitCapteur.class && ((UnitCapteur) capteur).getStrategie().getClass() == StrategyRandom.class) { + image = "/images/random.png"; + } - spinnerTemp.setVisible(true); - - CapteurAbstrait capteur = capteurAbstraits.get(0); - capteur.getTemp().addListener((observable, oldValue, newValue) -> { - System.out.println("Changement de température: " + oldValue + " est passé à " - + newValue); + setGraphic(new ImageView(new Image(image)) {{ + setFitHeight(40); + setFitWidth(40); + }}); + } + } }); - - SpinnerValueFactory spinnerValueFactory = new SpinnerValueFactory.DoubleSpinnerValueFactory(-150,1000,capteur.getTemp().getValue(),0.5); - spinnerTemp.setValueFactory(spinnerValueFactory); - spinnerTemp.getValueFactory().valueProperty().bindBidirectional(capteur.getTemp()); - capteur.genTemp(); - capteur.setTemp(capteur.getTemp().getValue()); - System.out.println("initialize spinner"); - System.out.println(spinnerTemp.getValueFactory().getValue()); - }; + } }