From 4eebe3278fcb28b189f2b3a6e846f40a2b230072 Mon Sep 17 00:00:00 2001 From: dohodin Date: Sun, 22 Jan 2023 12:48:30 +0100 Subject: [PATCH] Details Button working (display only ImageView for now) --- .drone.yml | 1 - .idea/inspectionProfiles/Project_Default.xml | 10 ++ .idea/misc.xml | 5 + .../ProjetJavaFX/fxml/MainPage.fxml | 5 +- .../ProjetJavaFX/model/CPUTemp.class | Bin 2874 -> 2842 bytes .../ProjetJavaFX/model/CapteurVirtuel.class | Bin 4595 -> 4404 bytes .../ProjetJavaFX/model/Captor.class | Bin 2735 -> 3096 bytes .../model/GenererTemperature.class | Bin 206 -> 0 bytes .../ProjetJavaFX/model/Observateur.class | Bin 132 -> 0 bytes .../production/ProjetJavaFX/model/Sujet.class | Bin 937 -> 0 bytes .../production/ProjetJavaFX/view/Image.class | Bin 437 -> 0 bytes .../ProjetJavaFX/view/ImageVue.class | Bin 0 -> 6757 bytes .../ProjetJavaFX/view/MainPage.class | Bin 10548 -> 13575 bytes .../ProjetJavaFX/view/Spinner.class | Bin 443 -> 256 bytes Source/resource/fxml/MainPage.fxml | 5 +- Source/resource/img/loading.jpg | Bin 0 -> 6738 bytes Source/src/model/CPUTemp.java | 3 +- Source/src/model/CapteurVirtuel.java | 4 +- Source/src/model/GenererTemperature.java | 9 -- Source/src/model/Observateur.java | 5 - Source/src/model/Sujet.java | 18 --- Source/src/view/Image.java | 22 --- Source/src/view/ImageVue.java | 128 ++++++++++++++++++ Source/src/view/MainPage.java | 108 +++++++++++++-- Source/src/view/Spinner.java | 19 +-- 25 files changed, 251 insertions(+), 91 deletions(-) create mode 100644 .idea/inspectionProfiles/Project_Default.xml delete mode 100644 Source/out/production/ProjetJavaFX/model/GenererTemperature.class delete mode 100644 Source/out/production/ProjetJavaFX/model/Observateur.class delete mode 100644 Source/out/production/ProjetJavaFX/model/Sujet.class delete mode 100644 Source/out/production/ProjetJavaFX/view/Image.class create mode 100644 Source/out/production/ProjetJavaFX/view/ImageVue.class create mode 100644 Source/resource/img/loading.jpg delete mode 100644 Source/src/model/GenererTemperature.java delete mode 100644 Source/src/model/Observateur.java delete mode 100644 Source/src/model/Sujet.java delete mode 100644 Source/src/view/Image.java create mode 100644 Source/src/view/ImageVue.java diff --git a/.drone.yml b/.drone.yml index c8ca2cb..49fbde0 100644 --- a/.drone.yml +++ b/.drone.yml @@ -14,4 +14,3 @@ steps: when: branch: - master - depends_on: [ build ] diff --git a/.idea/inspectionProfiles/Project_Default.xml b/.idea/inspectionProfiles/Project_Default.xml new file mode 100644 index 0000000..ea434d5 --- /dev/null +++ b/.idea/inspectionProfiles/Project_Default.xml @@ -0,0 +1,10 @@ + + + + \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index f361f06..3e35e9c 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -1,5 +1,10 @@ + + + + + diff --git a/Source/out/production/ProjetJavaFX/fxml/MainPage.fxml b/Source/out/production/ProjetJavaFX/fxml/MainPage.fxml index f32f5f5..af43f9b 100644 --- a/Source/out/production/ProjetJavaFX/fxml/MainPage.fxml +++ b/Source/out/production/ProjetJavaFX/fxml/MainPage.fxml @@ -4,7 +4,7 @@ - + @@ -21,6 +21,7 @@ - + + diff --git a/Source/out/production/ProjetJavaFX/model/CPUTemp.class b/Source/out/production/ProjetJavaFX/model/CPUTemp.class index 4b30bbb550590fbc89fca41160ba650d77a683ff..5782d2ec4d790439000c46b5e4c8da0ee21e2b31 100644 GIT binary patch delta 710 zcmZ9JNlz3}6otRn165sAkZz!nBD9f!iw2=Z6VRj~B(B^T4x9HMGr{OCU$!x)~6!x@($b=y9-d{fgk z?tRrE32-d|;MM`|$KL(PRVM7RKxgDwjsY$)Bws4Da6?Yss_STx>}A%Yb?pg{T;(4) zOr}-Yh;diFp2&}a{DxuSj?g4$3*4#Wp$%uZn$w+ZvZZ;$HrExc%}HMh7k#NFWc~Lg f&5p)Wyx^t2UDmW$;Uj^f_nJ zhWF8$86Qb;m03~(?`DT0>|~dsi$j)S#kuH@8FLzu@Ai+*t5USxWflnIcFJ7SgrlcK z&i0>i&#yLA8Nw(Q@#s}oiT(6brH`6UhZrD6tB_HB4~r~mwoHNR+|Y)a7%a1*92`z| z-PFG!)i6xQ^o}tVuT$~_X-mqle8(Saa=aN0=3UFdvxQ-{vD@xzvG?2Ted)d>7>C>3 zN#LsX4A~g&tMF6Aa$<2XVqtvypG{yK?utW;%Y?e)KDRQd=_aSYYysHU0pPX)&L-ad z&etx)%gQ>#0rGNeJCpKdoE|3R=E1g(9?4#2)voL9@W@sEoZ)g>m3s;9C2z0wqaeSL z`+2$A#S!5iZR4R0ty|6OPVVzS^9~Qiq9v`(GraEN(_a)6EEB-N0^c{>%dn#^g QywUqsDNmVoB0kXf53O%p+5i9m diff --git a/Source/out/production/ProjetJavaFX/model/CapteurVirtuel.class b/Source/out/production/ProjetJavaFX/model/CapteurVirtuel.class index 613810cbbae1476c6630302bb1dcd3d7d75639c8..ad170925697bbcc532b3e7cf0f70e030b837ea9a 100644 GIT binary patch delta 2083 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 diff --git a/Source/out/production/ProjetJavaFX/model/Captor.class b/Source/out/production/ProjetJavaFX/model/Captor.class index 59e68f01b288b49b55110b561bf965abf7a4afa4..0f8ab3bf41ff09d32f477cbef3dc147226b8bcff 100644 GIT binary patch literal 3096 zcma)8X?N3B5WO#p6)PeMj!6iVJ%H^LTv{jv2MEMaLLEYJ8VFq#=Oq!5B~_MF(tY3e zecxNYmbN%Ka86G@_w+;mO8-FHd6H~PA*D@DBI#-7&di-V@9DR{uKWVv5WbhufJO;T z3YrmN=s2&=scBs`rqd%6=Xt?li1cfQ<{V^bOeDu7v@oQE(bR?X1Xqnx+OkcH+s=GC zuN5tw=N(%!rce2cG9<_XyOm*8B3DQE%reQbC|00NLc4+vtYlD%<|NnCgR142Hbax4 z7CFN<*K?VWpH zI%WGhsf3X;qOA1_Hee$m+Nv?h5cA3}JDQ$8O)F+GBV#kRNa$6t72B%p2Mib_gI{ol z4C({XKO`f8q=b}$KHSK#vd$-&@M%trNpq@R<|9)KU5TM&fN|f#&1|QFG;X5I3MMDZ z&SlJG+>Bc!>{hS`w=(qpOV2|Mpd_a`r5aBJ1A9WE=G<1T(AAfx02%v1ulhxp1OFN( zOs>mCRwnrlNH{FGI1)nktcBpR!92WW;(R}{3XY0iHEHoC(!6I%9K{gw$NpIk$vTPl$;eXILK=f^C;Ahff~8P~eux zL_ppxqTsfT;799|Bg2Fx;Xws9N};my^Cg-vQgfkf+uU$QwIUzZ zbX_Ae68#AgyDYLlBjF($qk64X`Y8WF+BO*4bDF_VmWvbI9u-{@LuVFLeN44A@$4@) zIWq#hE!^hXga+i9p@AYvpLBPju&n(Z%rh8t=V(<(_tk+T3!=ia=n8hfYLFabU>Xf9 zMG7!h-K7{3KJK*}V0bVn+qN*q(pmIpfZ}E8kNDZRWb~Ixhagwv9knn!tXe*Mt*$hx zVpJSgmDLT~-{f2hJrhDubhS7!srJ$o^wO@=(qGX1GeypuWxK$SX`)xH9>`A7U{c5t z({xIXty;s}nK36z?Gd~$;{$vs;Ufhf;}eF>buDPdoH@(WIX4n{s8eczj*xkREe4-{ z4|c$J@&X*EJz3|a-kfR9maR;H7{Aqlm5}4;yv2j&|No^I^7_8P-N#2BRCPVCIXu&W zNP9Crm+7$iLcyD2aFrp$;P#-dmP))N;cJGi*O0Vay%N3+?IWQgd}`=pz#|8nC}IN` z=Fmh(C!O3h|1oh~(zQXHEp%NiPCvS~k{x{j(EkhcRHFL^x~5YLV5zH+#`_i!y$pr! zW8-ne7tnPXJ*gkDu7XV+vbBiqm$Bm#xiny&{&x`o5U0SaC~z0nqZ>OZ*u(BS7aEV? zQF@{vWbqgUW_TP=_zCQBpDC@>&rmAZ^(*%NK&BpegkFN`5MYXX-|B-gJc*}#h_nyU zOb|PkI&TO#H`kn>#xuV2K?)_ZjHLQPb%`%AU<*~(8>l5xt0jVGiB?g|b9mmz3MSIC zG?C=8iM)Upedj$CP*f|3=&4}eA`UKv*b#uJ6G7X%4{;cc^b14<#P$jX>uvJN*@YJR zj;OaLS}P|?EWboBj80y`y3j`1r=~k~1;>CzoQUJpB2HiY`_J4(G+rXJDB4MAXDO=C z!Wwb~_R{J;T0cNxwcht#Yp?S|$4@c$kAK#G z1rGDwvU^@_bJ(2~KY=UGKDwhiRQG@cZ<`Fs+Rw-W&i;l-M z!;JWGE9D*Jafd^iQO5j9>!g=v+~J7kC>j4pt5+TO|Fm|Gr+G@#!k9~%r!~(op$G|B zCYPUIC@Sp!3j^oO}{%CZ{4DX}K5MIaLQCU-WHtBr`e*%g+W*~7wRvWf;tAe9sc1^japo%1! z7kD7K&ZDr#fhbR`aroxHe^1=RT9&X7_etN639Wg72PGAf;@v0yA-UO4MEVk!52W!D z)qprGUgLF17UU-X8?q0I|Fpv~OK#r0t6@sKMnhzSbXF$e$%#R`#)-ii&u&)Nc==)B z9ifc_!h3K_k&z}zNWP5fTfB{G516TKRyihfX0(KpKQkHSY>jhKo}aDp!X`mu0Fqn! zA8vvMWu)#P?WqqSv~4h*T_d;3>ih N9#=eH@eMwS{{VF`w1)ry diff --git a/Source/out/production/ProjetJavaFX/model/GenererTemperature.class b/Source/out/production/ProjetJavaFX/model/GenererTemperature.class deleted file mode 100644 index 941b177d4b3bb88ebd0b390e2ff636e025338c9c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 206 zcmZWjF%E)25S&Hi6fKMv`UGvfCs?VmqR`kMxFHbW$O*=`S@-}SWn3+6C^oZ`nc1D! z`|$*@!C1i~EJ}OfLhrd^$L_>s&CWEfV+Efu$<58^!c?h_;+&I)FiksFLT|Y`6T>frR D!v-{f diff --git a/Source/out/production/ProjetJavaFX/model/Observateur.class b/Source/out/production/ProjetJavaFX/model/Observateur.class deleted file mode 100644 index 5966eab39dcd1ff4da847d45d139bcb2cff33759..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 132 zcmX^0Z`VEs1_pZuPId++Mh3y${FKxjegCB5)S|M)lGM^7b_Nzk27#=^vPAuy#JqH% zR90$o2_pkrX+a850V4ymhGrNe16OcjW`Mxb%5 P3~V4413QppV&DJ(c1Ipv diff --git a/Source/out/production/ProjetJavaFX/model/Sujet.class b/Source/out/production/ProjetJavaFX/model/Sujet.class deleted file mode 100644 index 4f7903a3810792eda112d509b853c41ba1f1600f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 937 zcmZuvU2hUW6g|Tt3(I1GwrIsKYEeFF*Y6h^jGCC3Y}*G6#=Z@(mO;APEVD#^iod{T z6KzvXjL-fN|AR5=on=dj@-lnp?z!ijd*^=t{rM|^hj?Hh22DrY#2F+QvI9Qm){wh< z)=p>ObR|P#Q@BDl8MI2Zts}{>7=i*RhSnqB=WlH>k_L2WDWqZQ$e1{b1%~v#*K>we zD;PM$llD3z#~*X)1U|#EJ%^;BSaK%vSR^^#>k+Op0nS)zRCg6_*+c>77?MIdK9?Sm z7An;l+GkO|k;V!x=qQ@Fh)WFlQ{@u~gWl((ZRZX7q&9a|#T64*QDTU@VS4F=d)A4L zYYe$bn>(lNrLl^#iR)^jiQu3|Ju{?QV$bC=@F}j%*qn}V)BcaB(QJ@`Cp1Qe1zWhz zcCg=Z{O7zgq)guSx_sE?zEJll8JB%AV#q{f;qZwh$))7oz7tMqj!?DDz&v`}Isd5I z^`v+uRCT6BJg>L-L8NE2yuj}|Pla-1gmN2d!0{3-LyVS;c-1=4d4p~-RG?8z+eT-V zGR^P~WNSxYwJ*?L9wGG!#)lAHqf_lDs3K0UUZ=>UO2T6uH|fi;0W0EqOh|<_Y9C?L z50QQGFN*=Sq>805K}IY} zhWCGdC@BrfaGtD!nl4h?B{I5(+*Gnin@ZbmdQDRS6 zR7CJFMR)bobk)3nyuJar#6biHZU`@ikAN^-h)$%XsORZzzL13>1Y=bzb3t&Aj;A3u z2vMixV|rbQxeO5zlB$`>k_9WNJ7Hw230p>1OR0rvwItAl;9c=8!XQ(%ylJak>U)uw z%eggO>FQ8{89PBXKvBd#n+}A#aNVsFWU*glgXYRK!`61*# RT?_aA7mofE?(-f8qfeL@MLYli diff --git a/Source/out/production/ProjetJavaFX/view/ImageVue.class b/Source/out/production/ProjetJavaFX/view/ImageVue.class new file mode 100644 index 0000000000000000000000000000000000000000..a18a5cbd17182d032d85799229cbadac67d21ea1 GIT binary patch literal 6757 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 literal 0 HcmV?d00001 diff --git a/Source/out/production/ProjetJavaFX/view/MainPage.class b/Source/out/production/ProjetJavaFX/view/MainPage.class index 10f410fee8f01da78fd3f13cef48ac3343024df7..102b3c9f8c1b2459c997e1b54c0b7bf67fe2353f 100644 GIT binary patch literal 13575 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 literal 443 zcmah_%SyyR5UkEqW8B@S>)o3VFdyKe2VqY^4=a10WCxukFJ>nZ{3}m_2S31%5<4Nt zB7%o0x~r$AtLF3T{R6-ajssY*eK;Xpc!bGXv?9($`551)Ynd5>H&dlD*980YZ0Tc% z5VlG_$BSB(rPMwGLR3^MnX_agbt{Z)G-1!kqLx~iMoR+C3C=CwB8(GN%DbjWrG5}; z&dfnlWg=e+t-5|79rL6%gi*4+?TQd|c9h7~3oE^*UhzI=7geJ(Ial3#;o$AEOM?^m z9FnlhhixI`6GYsx - + @@ -21,6 +21,7 @@ - + + diff --git a/Source/resource/img/loading.jpg b/Source/resource/img/loading.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0178c6886d631fae30cb99124162317dfea170f1 GIT binary patch literal 6738 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 WQtmV8m++iX;6MZC0JPcMz`p>ie%=iL literal 0 HcmV?d00001 diff --git a/Source/src/model/CPUTemp.java b/Source/src/model/CPUTemp.java index aac8eea..6744846 100644 --- a/Source/src/model/CPUTemp.java +++ b/Source/src/model/CPUTemp.java @@ -6,7 +6,7 @@ import javafx.beans.property.SimpleDoubleProperty; import java.io.*; -public class CPUTemp implements GenererTemperature, Runnable { +public class CPUTemp implements Runnable { DoubleProperty temperature = new SimpleDoubleProperty(0.0); @@ -16,7 +16,6 @@ public class CPUTemp implements GenererTemperature, Runnable { this.name=nom; genererTemperature(); } - @Override public void genererTemperature(){ try{ File temp = new File("/sys/devices/virtual/thermal/thermal_zone6/temp"); diff --git a/Source/src/model/CapteurVirtuel.java b/Source/src/model/CapteurVirtuel.java index 6943432..cae218a 100644 --- a/Source/src/model/CapteurVirtuel.java +++ b/Source/src/model/CapteurVirtuel.java @@ -9,7 +9,7 @@ import javafx.beans.property.StringProperty; import javafx.collections.*; import java.util.*; -public class CapteurVirtuel extends Sujet implements Runnable { +public class CapteurVirtuel implements Runnable { private final StringProperty nom; private final DoubleProperty tempMoyenne = new SimpleDoubleProperty(0); @@ -54,7 +54,7 @@ public class CapteurVirtuel extends Sujet implements Runnable { while (true){ Platform.runLater(this::updateData); try{ - Thread.sleep(1000); + Thread.sleep(2000); } catch (InterruptedException e){ break; diff --git a/Source/src/model/GenererTemperature.java b/Source/src/model/GenererTemperature.java deleted file mode 100644 index 03d0534..0000000 --- a/Source/src/model/GenererTemperature.java +++ /dev/null @@ -1,9 +0,0 @@ -package model; - -import java.io.IOException; - -public interface GenererTemperature { - - abstract void genererTemperature() throws IOException; - -} diff --git a/Source/src/model/Observateur.java b/Source/src/model/Observateur.java deleted file mode 100644 index 58aed6d..0000000 --- a/Source/src/model/Observateur.java +++ /dev/null @@ -1,5 +0,0 @@ -package model; - -public interface Observateur { - void update(); -} diff --git a/Source/src/model/Sujet.java b/Source/src/model/Sujet.java deleted file mode 100644 index 9afbf05..0000000 --- a/Source/src/model/Sujet.java +++ /dev/null @@ -1,18 +0,0 @@ -package model; - -import java.util.ArrayList; - -public abstract class Sujet { - - public ArrayList observateur = new ArrayList(); - - public void attacher(Observateur o){ - this.observateur.add(o); - } - - public void notifier(){ - for (Observateur o : observateur) { - o.update(); - } - } -} diff --git a/Source/src/view/Image.java b/Source/src/view/Image.java deleted file mode 100644 index 94bae0a..0000000 --- a/Source/src/view/Image.java +++ /dev/null @@ -1,22 +0,0 @@ -package view; - -import model.CapteurVirtuel; -import model.Observateur; - -public class Image implements Observateur { - - public float temperature; - - /* - public void __construct(float temperature){ - this.temperature = new Capteur("Test").getTemperature(); - } - */ - public void initialize(){ - - } - - public void update() { - - } -} diff --git a/Source/src/view/ImageVue.java b/Source/src/view/ImageVue.java new file mode 100644 index 0000000..186093e --- /dev/null +++ b/Source/src/view/ImageVue.java @@ -0,0 +1,128 @@ +package view; + +import javafx.beans.value.ObservableValue; +import javafx.collections.*; +import javafx.fxml.FXML; +import javafx.scene.Scene; +import javafx.scene.control.Button; +import javafx.scene.control.Label; +import javafx.scene.image.ImageView; +import javafx.scene.layout.VBox; +import javafx.scene.text.Font; +import javafx.stage.Stage; +import model.CapteurVirtuel; +import model.Captor; +import javafx.scene.image.Image; +import static javafx.application.Platform.exit; + +public class ImageVue { + + @FXML private ImageView img = new ImageView(new Image("https://media.istockphoto.com/id/1125717763/fr/vectoriel/ic%C3%B4ne-de-chargement-design-plat-de-vector-illustration.jpg?s=612x612&w=0&k=20&c=3bkStusySjnEyXtfik1gyjWJqKKd-xOhhMizNy9F-W8=")); + @FXML private Label imgLabel = new Label(); + @FXML private Button fermer = new Button("Fermer"); + + public void setDisplayWindowsCaptorVirtual(CapteurVirtuel cv){ + setDisplayBothDisplay(); + + ObservableList VirtualCaptor = FXCollections.observableArrayList( + TrueCaptor->new ObservableValue[]{ + TrueCaptor.getTempMoyenneProperty() + } + ); + + VirtualCaptor.addListener((ListChangeListener.Change c) ->{ + while (c.next()){ + + if (c.wasUpdated()){ + + try { + + Double temp = cv.getTempMoyenne(); + + if (temp < 0) { + + img.setImage(new javafx.scene.image.Image("https://static.vecteezy.com/ti/vecteur-libre/p1/1555350-montagne-enneigee-paysage-d-hiver-avec-flocons-de-neige-gratuit-vectoriel.jpg")); + + } else if (temp > 30) { + + img.setImage(new javafx.scene.image.Image("https://png.pngtree.com/thumb_back/fw800/background/20220515/pngtree-cartoon-landscape-with-house-and-summer-nature-scene-image_1367386.jpg")); + + } else { + + img.setImage(new javafx.scene.image.Image("https://www.tunisienumerique.com/wp-content/uploads/2023/01/meteo-nuage-1-compressed-1.jpg")); + + } + imgLabel.textProperty().set(Math.round(temp * 10.0) / 10.0 + "°C"); + }catch (NullPointerException ignored){} + } + } + }); + + VirtualCaptor.add(cv); + } + + public void setDisplayWindow(Captor cap){ + + setDisplayBothDisplay(); + + ObservableList CaptorObs = FXCollections.observableArrayList( + TrueCaptor->new ObservableValue[]{ + TrueCaptor.getTemperatureProperty() + } + ); + + CaptorObs.addListener((ListChangeListener.Change c) ->{ + while (c.next()){ + + if (c.wasUpdated()){ + + try { + + Double temp = cap.getTemperature(); + + if (temp < 0) { + + img.setImage(new javafx.scene.image.Image("https://static.vecteezy.com/ti/vecteur-libre/p1/1555350-montagne-enneigee-paysage-d-hiver-avec-flocons-de-neige-gratuit-vectoriel.jpg")); + + } else if (temp > 30) { + + img.setImage(new javafx.scene.image.Image("https://png.pngtree.com/thumb_back/fw800/background/20220515/pngtree-cartoon-landscape-with-house-and-summer-nature-scene-image_1367386.jpg")); + + } else { + + img.setImage(new javafx.scene.image.Image("https://www.tunisienumerique.com/wp-content/uploads/2023/01/meteo-nuage-1-compressed-1.jpg")); + + } + imgLabel.textProperty().set(Math.round(temp * 10.0) / 10.0 + "°C"); + }catch (NullPointerException ignored){} + } + } + }); + + CaptorObs.add(cap); + } + + private void setDisplayBothDisplay() { + VBox vue = new VBox(); + vue.setMinSize(600,400); + + img.setFitWidth(600); + img.setFitHeight(400); + + imgLabel.setFont(new Font("Arial", 25)); + + vue.getChildren().add(img); + vue.getChildren().add(imgLabel); + vue.getChildren().add(fermer); + + fermer.setOnAction(e -> exit()); + + Scene SecondScene = new Scene(vue); + + Stage Image = new Stage(); + Image.setTitle("Image"); + Image.setScene(SecondScene); + Image.show(); + } +} + diff --git a/Source/src/view/MainPage.java b/Source/src/view/MainPage.java index f270188..5a2056f 100644 --- a/Source/src/view/MainPage.java +++ b/Source/src/view/MainPage.java @@ -10,9 +10,13 @@ import javafx.scene.image.ImageView; import javafx.scene.layout.*; import javafx.scene.text.Font; import model.*; +import java.util.Objects; +import static java.lang.Integer.parseInt; +import static java.lang.Integer.valueOf; public class MainPage { + @FXML private Pane bottom; @FXML private Button FirstButton; @FXML private Button SecondButton; @FXML private VBox vb1; @@ -20,13 +24,19 @@ public class MainPage { @FXML private ImageView open; @FXML private final Button FirstCaptorButton = new Button(); @FXML private final Button SecondCaptorButton = new Button(); - - + @FXML private final TextField coefCaptor1 = new TextField(); + @FXML private final TextField coefCaptor2 = new TextField(); + @FXML private final Button submitButton1 = new Button("Submit"); + @FXML private final Button submitButton2 = new Button("Submit"); + @FXML private final Label errorLabel = new Label("mich"); + @FXML private final Button DetailsButtonVirtual = new Button("Détails"); + @FXML private final Button DetailsButtonC1 = new Button("Détails"); + @FXML private final Button DetailsButtonC2 = new Button("Détails"); CPUTemp cpuTemp = new CPUTemp("CPU Captor"); - CapteurVirtuel cV1 = new CapteurVirtuel("CaptVirt1"); - Captor c1 = new Captor("c1"); - Captor c2 = new Captor("c2"); + static CapteurVirtuel cV1 = new CapteurVirtuel("CaptVirt1"); + static Captor c1 = new Captor("c1"); + static Captor c2 = new Captor("c2"); @FXML public void initialize() { @@ -40,6 +50,7 @@ public class MainPage { FirstButton.setOnAction(e -> { + bottom.getChildren().clear(); vb1.getChildren().clear(); vb1.getChildren().add(setDisplayCPUCaptor()); @@ -47,16 +58,18 @@ public class MainPage { SecondButton.setOnAction(e -> { + bottom.getChildren().clear(); + vb1.getChildren().clear(); + vb1.getChildren().add(setDisplayVirtualCaptor()); + bottom.getChildren().add(DetailsButtonVirtual); + if (!vb2.getChildren().isEmpty()){ open.setImage(new Image("https://www.citypng.com/public/uploads/preview/download-black-right-triangle-png-31629764954y0662peplm.png")); vb2.getChildren().clear(); - vb1.getChildren().clear(); }else{ - vb1.getChildren().clear(); - vb1.getChildren().add(setDisplayVirtualCaptor()); open.setImage(new Image("https://cdn-icons-png.flaticon.com/512/0/159.png")); vb2.getChildren().add(setDisplayFirstCaptor()); vb2.getChildren().add(setDisplaySecondCaptor()); @@ -66,19 +79,78 @@ public class MainPage { FirstCaptorButton.setOnAction(e -> { + bottom.getChildren().clear(); vb1.getChildren().clear(); + errorLabel.textProperty().set(""); vb1.getChildren().add(setDisplayCaptor(c1)); + bottom.getChildren().add(DetailsButtonC1); + }); SecondCaptorButton.setOnAction(e -> { + bottom.getChildren().clear(); vb1.getChildren().clear(); + errorLabel.textProperty().set(""); vb1.getChildren().add(setDisplayCaptor(c2)); + bottom.getChildren().add(DetailsButtonC2); + + }); + + + submitButton1.setOnAction(e -> { + try { + if (!(parseInt(coefCaptor1.getText()) >= 0 && parseInt(coefCaptor1.getText()) <= 10)) { + errorLabel.textProperty().set("Mettez un coef valide"); + } else { + errorLabel.textProperty().set("Opération validée"); + c1.setCoef(parseInt(coefCaptor1.getText())); + } + } + catch (NumberFormatException n){ + errorLabel.textProperty().set("Mettez un coef valide"); + } + + }); + + submitButton2.setOnAction(e -> { + try{ + if (!(parseInt(coefCaptor2.getText()) >= 0 && parseInt(coefCaptor2.getText()) <= 10)) { + errorLabel.textProperty().set(String.valueOf(valueOf(parseInt(coefCaptor2.getText())))); + }else { + errorLabel.textProperty().set("Opération validée"); + c2.setCoef(parseInt(coefCaptor2.getText())); + } + }catch (NumberFormatException n){ + errorLabel.textProperty().set("Mettez un coef valide"); + } + + }); + DetailsButtonC1.setOnAction(e -> { + + ImageVue display = new ImageVue(); + display.setDisplayWindow(c1); + + }); + + DetailsButtonC2.setOnAction(e -> { + + ImageVue display = new ImageVue(); + display.setDisplayWindow(c2); + + }); + + DetailsButtonVirtual.setOnAction(e -> { + ImageVue display = new ImageVue(); + display.setDisplayWindowsCaptorVirtual(cV1); }); + } + + private VBox setDisplayCPUCaptor() { @@ -149,7 +221,6 @@ public class MainPage { FirstCaptorButton.setMaxWidth(Double.MAX_VALUE); FirstCaptorButton.setAlignment(Pos.CENTER_LEFT); - Captor1.getChildren().add(FirstCaptorImage); Captor1.getChildren().add(FirstCaptorButton); @@ -245,6 +316,8 @@ public class MainPage { VBox Captor = new VBox(); + HBox submitCoef = new HBox(); + Label ViewTempCaptor = new Label("Temperature du capteur " + cap.getName() + " : " + Math.round(cap.getTemperature()*10.0)/10.0 + "°C"); ViewTempCaptor.setFont(new Font("Arial",25)); @@ -258,9 +331,24 @@ public class MainPage { CaptorImage.setFitHeight(300); + + Label coefLabel = new Label("Changez le coef (de 1 à 10) : "); + coefLabel.setFont(new Font("Arial",20)); + + submitCoef.getChildren().add(coefLabel); + + if (Objects.equals(cap.getName(), "c1")) { + submitCoef.getChildren().add(coefCaptor1); + submitCoef.getChildren().add(submitButton1); + } else if (Objects.equals(cap.getName(), "c2")) { + submitCoef.getChildren().add(coefCaptor2); + submitCoef.getChildren().add(submitButton2); + } + Captor.getChildren().add(CaptorImage); Captor.getChildren().add(ViewTempCaptor); - + Captor.getChildren().add(submitCoef); + Captor.getChildren().add(errorLabel); ObservableList CaptorObs = FXCollections.observableArrayList( TrueCaptor->new ObservableValue[]{ diff --git a/Source/src/view/Spinner.java b/Source/src/view/Spinner.java index fbc7fd2..e669b55 100644 --- a/Source/src/view/Spinner.java +++ b/Source/src/view/Spinner.java @@ -1,22 +1,5 @@ package view; -import model.CapteurVirtuel; -import model.Observateur; +public class Spinner { -public class Spinner implements Observateur { - - public float temperature ; - - /* - public void __construct(float temperature){ - this.temperature = new Capteur("Test").getTemperature(); - } - */ - public void initialize(){ - - } - - public void update() { - - } }