diff --git a/src/main/java/fr/univlille/iut/r304/thermo/Main.java b/src/main/java/fr/univlille/iut/r304/thermo/Main.java index 9ab0f10c6f1bcbd671d681229e4934137cea4279..42fa5e930de254879b9acdf3d7f2f66a65f00e14 100644 --- a/src/main/java/fr/univlille/iut/r304/thermo/Main.java +++ b/src/main/java/fr/univlille/iut/r304/thermo/Main.java @@ -14,7 +14,7 @@ public class Main extends Application { @Override public void start(Stage primaryStage) throws Exception { Thermostat thermo = new Thermostat(); - new TextView(thermo); + new TextView(thermo); } } diff --git a/src/main/java/fr/univlille/iut/r304/thermo/model/Thermostat.java b/src/main/java/fr/univlille/iut/r304/thermo/model/Thermostat.java index 9d86f764c0563d05a0e479f4ddbe891165ad9758..aed4e7ea7c6514f5d98ea3f979bfe1c352442ed0 100644 --- a/src/main/java/fr/univlille/iut/r304/thermo/model/Thermostat.java +++ b/src/main/java/fr/univlille/iut/r304/thermo/model/Thermostat.java @@ -1,29 +1,32 @@ package fr.univlille.iut.r304.thermo.model; -public class Thermostat implements ITemperature { +import fr.univlille.iut.r304.utils.ConnectableProperty; + +public class Thermostat extends ConnectableProperty implements ITemperature { + + public Thermostat(){ + super(); + this.setValue(0.0); + } @Override public void setTemperature(double d) { - // TODO Auto-generated method stub - + this.setValue(d); } @Override public Double getTemperature() { - // TODO Auto-generated method stub - return null; + return (double) this.value; } @Override - public void incrementTemperature() { - // TODO Auto-generated method stub - + public void incrementTemperature() { + this.setTemperature(this.getTemperature()+5); } @Override public void decrementTemperature() { - // TODO Auto-generated method stub - + this.setTemperature(this.getTemperature()-5); } } diff --git a/src/main/java/fr/univlille/iut/r304/thermo/view/TextView.java b/src/main/java/fr/univlille/iut/r304/thermo/view/TextView.java index 4faa759f6764a99144422ba1e6c9d45da0a15810..96f01ad691abe09339ea0ddf681adebff6e29433 100644 --- a/src/main/java/fr/univlille/iut/r304/thermo/view/TextView.java +++ b/src/main/java/fr/univlille/iut/r304/thermo/view/TextView.java @@ -1,32 +1,66 @@ package fr.univlille.iut.r304.thermo.view; import fr.univlille.iut.r304.thermo.model.Thermostat; +import fr.univlille.iut.r304.utils.Observable; +import fr.univlille.iut.r304.utils.Observer; +import javafx.scene.Scene; +import javafx.scene.control.Button; +import javafx.scene.control.TextField; +import javafx.scene.layout.HBox; import javafx.stage.Stage; -public class TextView extends Stage implements ITemperatureView { +public class TextView extends Stage implements ITemperatureView, Observer { + + protected Scene scene; + protected HBox root; + protected TextField field; + protected Button incButton; + protected Button decButton; + protected Thermostat model; public TextView(Thermostat model) { - //simplement pour avoir qqch qui s'affiche à la prise en main du dépôt + this.model = model; + this.model.attach(this); + this.field = new TextField(); + this.incButton = new Button("+"); + this.decButton = new Button("-"); + this.root = new HBox(); + this.root.getChildren().addAll(incButton, field, decButton); + this.scene = new Scene(root); + this.incButton.setOnMouseClicked(e -> { + this.incrementAction(); + }); + this.decButton.setOnMouseClicked(e -> { + this.decrementAction(); + }); + this.update(model); this.setTitle("Thermostat"); + this.setScene(scene); this.show(); } @Override public double getDisplayedValue() { - // TODO Auto-generated method stub - return 0; + return Double.parseDouble(this.field.getText()); } @Override public void incrementAction() { - // TODO Auto-generated method stub - + this.model.incrementTemperature(); } @Override public void decrementAction() { - // TODO Auto-generated method stub - + this.model.decrementTemperature(); } + @Override + public void update(Observable observable) { + this.field.setText(""+this.model.getValue()); + } + + @Override + public void update(Observable observable, Object data) { + } + }