diff --git a/resources/images/cpu.png b/resources/images/cpu.png
new file mode 100644
index 0000000..a17de7e
Binary files /dev/null and b/resources/images/cpu.png differ
diff --git a/resources/images/random.png b/resources/images/random.png
new file mode 100644
index 0000000..c63bde1
Binary files /dev/null and b/resources/images/random.png differ
diff --git a/resources/images/virtual.png b/resources/images/virtual.png
new file mode 100644
index 0000000..8881628
Binary files /dev/null and b/resources/images/virtual.png differ
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());
- };
+ }
}