From c9b54cace3f99f1dbd6ea974da52b1517551eb30 Mon Sep 17 00:00:00 2001
From: Enzo Lamour <gradlar@MacBook-Pro-de-Enzo.local>
Date: Fri, 11 Oct 2024 09:52:34 +0200
Subject: [PATCH] ajout exercice

---
 src/.DS_Store                                 | Bin 0 -> 6148 bytes
 src/main/.DS_Store                            | Bin 0 -> 6148 bytes
 src/main/java/.DS_Store                       | Bin 0 -> 6148 bytes
 src/main/java/fr/.DS_Store                    | Bin 0 -> 6148 bytes
 src/main/java/fr/univlille/.DS_Store          | Bin 0 -> 6148 bytes
 src/main/java/fr/univlille/iut/.DS_Store      | Bin 0 -> 6148 bytes
 src/main/java/fr/univlille/iut/r304/.DS_Store | Bin 0 -> 6148 bytes
 .../fr/univlille/iut/r304/thermo/.DS_Store    | Bin 0 -> 6148 bytes
 .../fr/univlille/iut/r304/thermo/Main.java    |  78 +++++++++++++++++-
 .../iut/r304/thermo/model/Thermostat.java     |  14 ++--
 .../iut/r304/thermo/view/TextView.java        |  12 +--
 11 files changed, 90 insertions(+), 14 deletions(-)
 create mode 100644 src/.DS_Store
 create mode 100644 src/main/.DS_Store
 create mode 100644 src/main/java/.DS_Store
 create mode 100644 src/main/java/fr/.DS_Store
 create mode 100644 src/main/java/fr/univlille/.DS_Store
 create mode 100644 src/main/java/fr/univlille/iut/.DS_Store
 create mode 100644 src/main/java/fr/univlille/iut/r304/.DS_Store
 create mode 100644 src/main/java/fr/univlille/iut/r304/thermo/.DS_Store

diff --git a/src/.DS_Store b/src/.DS_Store
new file mode 100644
index 0000000000000000000000000000000000000000..ed78902e5674c5d9579d67d7226e0bc948e27d97
GIT binary patch
literal 6148
zcmZQzU|@7AO)+F(5MW?n;9!8zOq>i@0Z1N%F(jFwBFrH3KxTO6<R>TP<R?K5gi4Q6
zgE$00amT`t%aF*B$&iN@e~t_c40`{;0PF*}x}@^r0%$z%NGiz5EG{uHxW>rD%)-jX
z&cV*X%@G@%kzXEMl2}q&?37p(4dR95=jSBB*ojGDnW^RR0wT`&c_oRNd8tJpCBc~~
zsY!`NG2xkcDf#72`K5U&#bCWq2@XyU&UgWd>S`l1104lpBg<MHg=$M9104kuW3$>?
zP7YCJee0n3?3~=Z{4TJI85kKMGy^Y`hEd%N3=Av`B@C$y#SA5A{$7vfZ<wA@dNc$^
zLtr!nhD!)Q%SI0F;o_lDe~gB}Xb4a(1VH730;Fxv-~go?AT&sdfsug$+y!6+HKm}o
zGJ^U65H%pJAT=PZAR45Vff2+4%Y(HtFfy=!buxmxAq)(R;4TS>25V<v1ltVagSEpO
zbc_(~42%%%42;ko3L~gT12P|?oq-W-JJ^a*Vl)IsLjWlRKz%<@R~=OUyD~7~>i;9@
z7-f!zz-R~zw-8`taS3*D0#%wgd<Lp(LG@_@R323OgQ{ajP`!*016RdNkO4&rs4%Fy
c2WbV-;HsFBfdQm-v>^Zspiz1>1O^}k07}GLga7~l

literal 0
HcmV?d00001

diff --git a/src/main/.DS_Store b/src/main/.DS_Store
new file mode 100644
index 0000000000000000000000000000000000000000..781a3c655962fe52d703183661c8e76fdcdfe6fc
GIT binary patch
literal 6148
zcmZQzU|@7AO)+F(5MW?n;9!8zj35RBCIAV8Fop~hR0Kpbg3R#D$xlwo$xnhB2$dex
z6v*u?3|S0`3}p<7Xzq7pU|`Vu4+daAz||#{7Z*VNxg)6{C$qT3z~CAq6Eh1d8#@O(
z2RBD-a7KQ4a7kiGX|YpcQ8b7blAoWG1Y;*Ag=MCe#|wx!=jW9qX6B_9fs_Pirlck%
z7R7{T=B4D9JLQ+=r4)npLM1pjIXL45B&w^8%nWoCjEyX7brh;CjSO@YOpMKHYdJYY
zmG!NI;<Iyd^YXjEE@oh4gwPDUP#Q*c!x*FVXb6mkz-S1JhQNpm0chR8!9C)9KI-Ao
z5Eu;sLLmSu9~3}+1qKEN2PoYDp+Qm%j0_B*<}-+9ftdyF2SC(-w1VV7T0t~OD+42l
z1(pYEWng50Xk`R<Ll_ts!Cev%4c5-U2(}r-2Wy8nXc-~e85kkj8DO0kMo^CiWIjYY
z10&dWnCnLA(GVC70ayqyLl^>}`rnlSo`oQyqvU7^jE2C72mwYGmtYqsP^F2(yP&!j
zRG%h5<w3PSq&fyw%&3h3Cdh!I1XL-gx(8_m(cr3>k%0lMb+jP>3!zbZGz91$0swVJ
BPpAL@

literal 0
HcmV?d00001

diff --git a/src/main/java/.DS_Store b/src/main/java/.DS_Store
new file mode 100644
index 0000000000000000000000000000000000000000..176977a9dce9badd7dddb7f4a5b3163c276e2596
GIT binary patch
literal 6148
zcmZQzU|@7AO)+F(5MW?n;9!8zOq>i@0Z1N%F(jFwBFrH3KxQQ6<R?K5bA-x`QiD4L
zKyk;!kj7BtnUkN47JqvG!2s+5u$rXu;sU6e9Z3Z_nZ+dr2G<ywm|0la*g4oaxH)2j
zGxE!WOA<>;i=7gSqCvcn{QR6G7&|d3EHkw{UO>b-Kd&S)GcUCWq$D^qB{eCrC?-5J
zFD1X+DZex?r5LOiD#5|Y!5J?gQC)3hW}u^BY-Cxhqfl*WWT2y9Vr*7h%gG_CtZy9@
zpPiGNm)`|;EdwJXgl6D{(lDwUoIZ0I@)=SXN*Qt(QW<m^G8yt1(irj?^cb=j5*f-E
z64An9Jp%&+a#+C38l^`=U^E0qLtv<e0JMzc;2x?T7<Kn(2#kgR%|ZZFJ}5xi_6!bC
zx&cCiq!<_(7{FZsMg|5Jm?IcL{Q!s>kXDcykX8^4(#pUHVu9tsS{WFjS{cFJ5C#TD
zaF+x`gS9g-f^7!z!P?;sJ4T3h21cmOjL;qmBdA9MG9RLyfe~yw%ypymXb6mk04xMR
zeLqll2vq;OGBDuk|HG7z(xV|T8Un*G1Q=Odf?b?Il_n0)f$CaNeVPE32i5+d>X;E!
rFC)ajRWTD}Kv4oJ465!yT0u0pDrRJ00BId<2*3hplpYO%0SEyA=Hy))

literal 0
HcmV?d00001

diff --git a/src/main/java/fr/.DS_Store b/src/main/java/fr/.DS_Store
new file mode 100644
index 0000000000000000000000000000000000000000..313e051e03f04b80cee7f7c53f3c5ab2dbf054fe
GIT binary patch
literal 6148
zcmZQzU|@7AO)+F(5MW?n;9!8zOq>i@0Z1N%F(jFwA|RR(Y(@@4CPNNG4nwME4peTG
z8r&fOiaSn*QieQ+OolQBr1;BEPRhwof+h_|1_lPb|6l<24i+6r<;4Y19XpZ=ax#lc
z3=FO@GBLBTvaxfpb8vIS2501#2bUz4lomTB7Da=2A^G_^NicR|QdnkcdAxv#bADb)
zVrE`y5lBgJW=d*OVo^+ZW?o8uxl?{=UP>`oFI0kqlY=u}K%%<Z$jm@T!Pv;MR!5=Q
z(#SwZ!Nl0Cww9AaR9W9TC_XzUH!r^n>~;o5MhMNo3#DOHH;ge#kA}c#2#kinFb@G}
zImp31%>6m)z0nXD4FS?a08~CGfcgpy3=9rXx&cCiq!<_(7(mTO5X}NJ9nueA0EvOL
zf@qLd5Dn7GzzAZ2%>Zj<U}S)3WdwIaK>9#k5)cj6&cFz^8N>%`hd16BA=()jA=()j
zp*<8vh;{}>h;{}>u<bC{jnbnbFd71|5MYKd1VHt_D+2?r{y#+3C^;GeqaiRXLx7RR
zCD_FYTq$GsAE>Sc)u#ziX;AGCs*V{!^)f;XTop4x1{5Wr!l3FNq!mPit71k529Va#
Qh5#&pM(NQI7=RD}07<@6ssI20

literal 0
HcmV?d00001

diff --git a/src/main/java/fr/univlille/.DS_Store b/src/main/java/fr/univlille/.DS_Store
new file mode 100644
index 0000000000000000000000000000000000000000..4c50c0dee61d2789a9dc7b235f98ce25c3f0623c
GIT binary patch
literal 6148
zcmZQzU|@7AO)+F(5MW?n;9!8zj35RBCIAV8Fop~hR0Kpbg3QQIPRhwof*J>v9OM+p
z?aU0B45bVuo;fJ)cVu8-(EAStU_U@rC6yN!Kz+F*sURn_xWvHV8Y2@k3o9Et2RjEh
zM{ICLetB?7Vo7PSQ({pxh!>KdpOXY*Cnkkurk2MGh&boxl_X~7r51sd1ZSqCCM6cd
zglFcZ<d-|;m*%AugY`lsI5;^t;{_zDtBuSIbQFw@ENgWXsx6HSbQDaC&1!2oIYgE9
zt%KsTb8_?YyTI;cU}S{Q47^YpMs>p&qx5J9jE2By2#kinhztQ}{lLLJB7HyV>Cq4v
z4FP;104g68Kz#)U1_lQx-2kCMQVfg?44~#Sh-QJA1MUYv)PS^t<Um?MG)OB0BZvi-
z2Ww?uWPoU81b0Ii7#P7_5)cj6&cFz^8N>%`hc{{&A=()jA=(*Wofk$>j|OBuL^}f`
z*mjufM(NQI7!3hf2rxq!0-*Zel>wfGAflt>Xb6mkz=#L|Mi!S~7bj4qiNm{~x)xNQ
zCP3vuwLhdf235?cjQ}RdfT9FcDX6*!X$8^Xs+f_10jzbjApi@ZQF=54=pO<AGBi$6

literal 0
HcmV?d00001

diff --git a/src/main/java/fr/univlille/iut/.DS_Store b/src/main/java/fr/univlille/iut/.DS_Store
new file mode 100644
index 0000000000000000000000000000000000000000..d94af2a06c1dd51bbb91b3202a38f0de73892760
GIT binary patch
literal 6148
zcmZQzU|@7AO)+F(5MW?n;9!8zj35RBCIAV8Fop~hR0Kpbg3R#D$xlwo$xnhB2$dex
z6v*u?3`Gpa3<eA)Xzq7pU|`Vu4+daAz||#{7Z*VNxg)6{C$qT3z~CAq6Eh1d8#@O(
z2RBD-a7KQ4a7kiGX|YpcQ8b7blAoWG1Y;*Ag=MCe#|wx!=jW9qX6B_9fs_Pirlck%
z7R7{T=B4D9JLQ+=r4)npLM1pjIXL45B&w^8%nWoCjEyX7brh;CjSO@YOpMKHYdJYY
zmG!NI;<Iyd^YXjEE@oh4gwPDUP#Q*c!x*FVXb6mkz-S1JhQNpm0chR8!9C)9KI-Ao
z5Eu;sLLmSu9~3}+1qKEN2PoYDp+Qm%j0_B*<}-+9ftdyF2SC(-w1VV7T0t~OD+42l
z1(pYEWng50Xk`R<Ll_ts!Cev%4c5-U2(}r-2Wy8nXc-~e85kkj8DO0kMo^CiWIjYY
z10&dWnCnLA(GVC70ayqyLl^>}`rnlSo`oQyqvU7^jE2C72mwYGmtYqsP^F2(yP&!j
zRG%h5<w3PSq&fyw%&3h3Cdh!I1XL-gx(8_m(cr3>k%0lMb+jP>3!zbZGz91$0stZ>
BPIdqQ

literal 0
HcmV?d00001

diff --git a/src/main/java/fr/univlille/iut/r304/.DS_Store b/src/main/java/fr/univlille/iut/r304/.DS_Store
new file mode 100644
index 0000000000000000000000000000000000000000..b08bdb2b15cff6c1228a18c76380f3fce68ca780
GIT binary patch
literal 6148
zcmZQzU|@7AO)+F(5MW?n;9!8zEL;p&0Z1N%F(jFwA}k>Dz-Ht!<a_4iCnx3PCqd;#
zsnHM^4S~TM0-(Ih#!$kL!H~*O#DJQAL4|`O0|SHJe=q=h0!3|7d2s<WukT1I$jK}&
zF)+Bs$i&RT%Er#Y&cV$Q8=R3}9$b=GQd;bkSQHK7h2-bwB*EB;Nnx3(<?#X{&iQ#I
ziJ5t+MIa@?nJKABiA6EtnRzMs<xcsfc`3zUy-*1bP7cm^0g38rBQpaX1!E)2S{;RI
zOCtjv1ruYl+FDKyQDuGWp!n>Z+`RlQu&Wsu86h+SFO-H+-3$y2tPG_LB@CGiISj=}
zr5DKe>(P9Vq;i<}9TpCw^vDYVXrAEU9(i6L_3>y3jD`S#5CD}A3Xrxvg9DUqfY2Z*
z21W)3a2J4)fdSNv0Gq}L?gub{<Um?MG)OCm25Dtr1hK$ofVDC(LbWo2yCEQbpn4ZX
zgS9g-f^7!z!P?;!IU__n10&RCMraR(5u%-e5u%-e5o|lyX`{qw2#kgRQV1|Z*aD#X
z-<5#@SN|WPYLpxefzc2cmLb5%;u7rQ1g?~^`wvvtg6h)*s5Ged2UW+6pn4gi52OSv
m%LExvlmK%eav-gsY9Cw`GcquMw2n3eU;#8rkA}biga81r@s<ey

literal 0
HcmV?d00001

diff --git a/src/main/java/fr/univlille/iut/r304/thermo/.DS_Store b/src/main/java/fr/univlille/iut/r304/thermo/.DS_Store
new file mode 100644
index 0000000000000000000000000000000000000000..dd24d141494636e06003ff9953b2ba4d9fa8e159
GIT binary patch
literal 6148
zcmZQzU|@7AO)+F(5MW?n;9!8zEL;p&0Z1N%F(jFwBCH_uz-H(%WHBT%lrbcF=0N2}
zsnHM^4S~TM0-(Ih$>7V7$dJj9$AFZ7^OKWu@{^!NgChe2gWi8I0DFa%A(tVaA%!88
zA;&WZMdf<jDwE2K3!rB1NGiz5EG{uHxW>rD%)-jX&cV*X%@G@%kzXEMl2}q&?37p(
z4dR95=jSBB*ojGDnW^RR0wT`&c_oRNd8tJpCBc~~sY!`NG2xkcDf#72`K5U&#bCWq
z2@XyU&UgWd>S`l1104lpBg<MHg=$M9104kuW3$>?P7YCJee0n3?3~=Z{4TKX7#JBL
zGy^Y`hEd%N3=Av`Wek}NsSM?)K4+9g^Eq7IF!47m3`XhU5(3av&cQugJT&T$(GVC7
z0jh-nsC-a>wCx!jpmYO-21zk6GBAL<0F0nY5o#+VxF5g(k^^Z4(IBlL8l;th5yS$U
z0oKaE$iM>D$q4R-fb@a7Bp@2Boq-W-Gl&n?4zHRSA=()jA=()jp*<8vh;{}>h;{}>
zu<c+gMv2i77!3iW5MYL|1wi$`D+2?r{y#+3C^;GeqaiRXLx7RRCD_FYTq$GsAE>Sc
z)u#ziX;AGCs*V{!^)f^sNC{Y$2{NE40p>vDKw3f7KDa7oWMBYk9c>7}0%(*T4S@j&
F0RZT6pL_rS

literal 0
HcmV?d00001

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 9ab0f10..1173972 100644
--- a/src/main/java/fr/univlille/iut/r304/thermo/Main.java
+++ b/src/main/java/fr/univlille/iut/r304/thermo/Main.java
@@ -3,7 +3,15 @@ package fr.univlille.iut.r304.thermo;
 import fr.univlille.iut.r304.thermo.model.Thermostat;
 import fr.univlille.iut.r304.thermo.view.TextView;
 import javafx.application.Application;
+import javafx.geometry.Pos;
+import javafx.scene.Scene;
+import javafx.scene.control.Button;
+import javafx.scene.control.Slider;
+import javafx.scene.control.TextField;
+import javafx.scene.layout.HBox;
+import javafx.scene.layout.VBox;
 import javafx.stage.Stage;
+import javafx.scene.control.Label;
 
 public class Main extends Application {
 
@@ -14,7 +22,75 @@ public class Main extends Application {
 	@Override
 	public void start(Stage primaryStage) throws Exception {
 		Thermostat thermo = new Thermostat();
-		new TextView(thermo);
+		TextView view = new TextView(thermo);
+		Label l = new Label("Température en Celcius");
+		thermo.getTemperature();
+
+		Button b1 = new Button(" - ");
+		Button b2 = new Button(" + ");
+		Button b3 = new Button(" - ");
+		Button b4 = new Button(" + ");
+		TextField tf = new TextField("0.0");
+
+		Slider s = new Slider(-10, 50, 0.5);
+		s.setRotate(90);
+		s.setShowTickMarks(true);
+		s.setShowTickLabels(true);
+
+		tf.setAlignment(Pos.CENTER);
+
+		b1.setOnAction(e ->{
+			tf.setText(String.valueOf(Double.parseDouble(tf.getText())-1.0));
+		});
+
+		b2.setOnAction(e ->{
+			tf.setText(String.valueOf(Double.parseDouble(tf.getText())+1.0));
+		});
+
+		b3.setOnAction(e ->{
+			tf.setText(String.valueOf(Double.parseDouble(tf.getText())-1.0));
+			s.setValue(s.getValue()-1.0);
+		});
+
+		b4.setOnAction(e ->{
+			tf.setText(String.valueOf(Double.parseDouble(tf.getText())+1.0));
+			s.setValue(s.getValue()+1.0);
+		});
+
+		s.setOnMouseClicked(e ->{
+			tf.setText(String.valueOf(Math.round(s.getValue() * 10) / 10.0));
+		});
+
+		tf.setOnAction(e ->{
+			s.setValue(Double.parseDouble(tf.getText()));
+		});
+
+		VBox vbox2 = new VBox();
+		vbox2.setAlignment(Pos.CENTER);
+		vbox2.setSpacing(50);
+		vbox2.getChildren().addAll(b3,s,b4);
+
+		HBox hbox = new HBox();
+		hbox.setSpacing(10);
+		hbox.setAlignment(Pos.CENTER);
+		hbox.getChildren().addAll(b1,tf,b2);
+
+		VBox vbox = new VBox();
+		vbox.setAlignment(Pos.CENTER);
+		vbox.getChildren().addAll(l, hbox);
+
+		primaryStage.setTitle("Thermostat");
+		primaryStage.setScene(new Scene(vbox2));
+		primaryStage.setMinWidth(100);
+		primaryStage.setMinHeight(400);
+
+		view.setMinHeight(100);
+		view.setMinWidth(100);
+
+		Scene scene = new Scene(vbox);
+		view.setScene(scene);
+		view.show();
+		primaryStage.show();
 	}
 
 }
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 9d86f76..2661f0d 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
@@ -2,27 +2,27 @@ package fr.univlille.iut.r304.thermo.model;
 
 public class Thermostat implements ITemperature {
 
+	private Double temperature;
+
 	@Override
-	public void setTemperature(double d) {
-		// TODO Auto-generated method stub
-		
+	public void setTemperature(double d){
+		this.temperature = d;
 	}
 
 	@Override
 	public Double getTemperature() {
-		// TODO Auto-generated method stub
-		return null;
+		return this.temperature;
 	}
 
 	@Override
 	public void incrementTemperature() {
-		// TODO Auto-generated method stub
+		this.temperature += 1;
 		
 	}
 
 	@Override
 	public void decrementTemperature() {
-		// TODO Auto-generated method stub
+		this.temperature -= 1;
 		
 	}
 
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 4faa759..27009a2 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
@@ -5,28 +5,28 @@ import javafx.stage.Stage;
 
 public class TextView extends Stage implements ITemperatureView {
 
+	private 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.setTitle("Thermostat");
 		this.show();
 	}
 
 	@Override
 	public double getDisplayedValue() {
-		// TODO Auto-generated method stub
-		return 0;
+		return this.model.getTemperature();
 	}
 
 	@Override
 	public void incrementAction() {
-		// TODO Auto-generated method stub
-		
+		model.incrementTemperature();
 	}
 
 	@Override
 	public void decrementAction() {
-		// TODO Auto-generated method stub
-		
+		model.decrementTemperature();
 	}
 
 }
-- 
GitLab