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