parent
ac4ab8f5ba
commit
bc6c5596ea
@ -0,0 +1,13 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
|
||||||
|
<?import javafx.scene.control.TreeView?>
|
||||||
|
<?import javafx.scene.layout.AnchorPane?>
|
||||||
|
|
||||||
|
<?import javafx.scene.control.Spinner?>
|
||||||
|
<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0"
|
||||||
|
prefWidth="600.0" xmlns="http://javafx.com/javafx/15.0.1" xmlns:fx="http://javafx.com/fxml/1">
|
||||||
|
<children>
|
||||||
|
<TreeView fx:id="treeView" layoutX="129.0" layoutY="27.0" prefHeight="347.0" prefWidth="343.0" />
|
||||||
|
<Spinner fx:id="spinnerTemp"></Spinner>
|
||||||
|
</children>
|
||||||
|
</AnchorPane>
|
@ -0,0 +1,74 @@
|
|||||||
|
package view;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.net.URL;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.ResourceBundle;
|
||||||
|
|
||||||
|
import javafx.beans.property.StringProperty;
|
||||||
|
import javafx.fxml.FXML;
|
||||||
|
import javafx.fxml.Initializable;
|
||||||
|
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;
|
||||||
|
|
||||||
|
public class TreeViewCtrl extends FXMLView {
|
||||||
|
@FXML
|
||||||
|
private TreeView<CapteurAbstrait> treeView;
|
||||||
|
|
||||||
|
@FXML
|
||||||
|
private Spinner<Double> spinnerTemp;
|
||||||
|
|
||||||
|
private ArrayList<CapteurAbstrait> capteurAbstraits;
|
||||||
|
|
||||||
|
public TreeViewCtrl(ArrayList<CapteurAbstrait> capteurs, String url, String title) throws IOException {
|
||||||
|
super(url,title);
|
||||||
|
this.capteurAbstraits = capteurs;;
|
||||||
|
TreeItem<CapteurAbstrait> root = new TreeItem<>();
|
||||||
|
root.setExpanded(true);
|
||||||
|
treeView.setShowRoot(false);
|
||||||
|
TreeItemFactoryVisitor treeItemFactoryVisitor = new TreeItemFactoryVisitor();
|
||||||
|
treeView.setVisible(true);
|
||||||
|
for(CapteurAbstrait capteur: capteurAbstraits){
|
||||||
|
TreeItem<CapteurAbstrait> item = capteur.accept(treeItemFactoryVisitor);
|
||||||
|
root.getChildren().add(item);
|
||||||
|
}
|
||||||
|
this.initializeCapteur();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void initializeCapteur(){
|
||||||
|
treeView.setCellFactory(param -> new TreeCell<CapteurAbstrait>(){
|
||||||
|
@Override
|
||||||
|
protected void updateItem(CapteurAbstrait capteur, boolean empty){
|
||||||
|
super.updateItem(capteur,empty);
|
||||||
|
if(empty){
|
||||||
|
textProperty().unbind();
|
||||||
|
setText("");
|
||||||
|
} else {
|
||||||
|
textProperty().bind(capteur.getNom());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
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);
|
||||||
|
});
|
||||||
|
|
||||||
|
SpinnerValueFactory<Double> 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());
|
||||||
|
};
|
||||||
|
}
|
Loading…
Reference in new issue