From 46aa23f254ae50423af5725780bdb667d8584c53 Mon Sep 17 00:00:00 2001
From: Eilert Tunheim <emtunhei@stud.ntnu.no>
Date: Wed, 30 Mar 2022 14:18:00 +0200
Subject: [PATCH] Updated the linechart class and added separate button for
 input parameters in GUI

---
 .../GUI/LineChartFunctionality.java           |  29 +++++++++---------
 src/main/java/com/application/Main.java       |  13 +++++---
 .../com.application/CSS/styleSheet.css        |  16 +++++++++-
 .../application/GUI/InputPopUpWindow.class    | Bin 0 -> 4282 bytes
 .../GUI/LineChartFunctionality.class          | Bin 0 -> 2332 bytes
 .../com/application/Main$1WorkerThread.class  | Bin 2263 -> 2263 bytes
 target/classes/com/application/Main.class     | Bin 7007 -> 7135 bytes
 7 files changed, 39 insertions(+), 19 deletions(-)
 create mode 100644 target/classes/com/application/GUI/InputPopUpWindow.class
 create mode 100644 target/classes/com/application/GUI/LineChartFunctionality.class

diff --git a/src/main/java/com/application/GUI/LineChartFunctionality.java b/src/main/java/com/application/GUI/LineChartFunctionality.java
index a928239..0817bee 100644
--- a/src/main/java/com/application/GUI/LineChartFunctionality.java
+++ b/src/main/java/com/application/GUI/LineChartFunctionality.java
@@ -7,25 +7,25 @@ import javafx.scene.chart.XYChart;
 
 public class LineChartFunctionality {
 
-    LineChart<String, Number> lineChart;
-    XYChart.Series<String, Number> series;
-    CategoryAxis xAxis;
-    NumberAxis yAxis;
+    private LineChart<String, Number> lineChart;
+    private XYChart.Series<String, Number> series;
+    private final CategoryAxis xAxis;
+    private final NumberAxis yAxis;
 
 
     public LineChartFunctionality(){
-        xAxis = new CategoryAxis();
-        yAxis = new NumberAxis();
-        series = new XYChart.Series<String, Number>();
-        lineChart = new LineChart<>(xAxis,yAxis);
-        lineChart.getData().add(series);
-        xAxis.setLabel("Date");
-        yAxis.setLabel("Kwh");
-        lineChart.setTitle("Drying Processes");
+        this.xAxis = new CategoryAxis();
+        this.yAxis = new NumberAxis();
+        this.series = new XYChart.Series<String, Number>();
+        this.lineChart = new LineChart<>(xAxis,yAxis);
+        this.lineChart.getData().add(series);
+        this.xAxis.setLabel("Date");
+        this.yAxis.setLabel("Kwh");
+        this.lineChart.setTitle("Drying Processes");
     }
 
     public LineChart<String, Number> getLineChart() {
-        return lineChart;
+        return this.lineChart;
     }
 
     public void setLineChart(LineChart<String, Number> lineChart) {
@@ -33,11 +33,12 @@ public class LineChartFunctionality {
     }
 
     public XYChart.Series<String, Number> getSeries() {
-        return series;
+        return this.series;
     }
 
     public void setSeries(XYChart.Series<String, Number> series) {
         this.series = series;
+        this.lineChart.getData().add(series);
     }
 
 }
diff --git a/src/main/java/com/application/Main.java b/src/main/java/com/application/Main.java
index 39fa1a0..d6d7bbc 100644
--- a/src/main/java/com/application/Main.java
+++ b/src/main/java/com/application/Main.java
@@ -171,9 +171,13 @@ public class Main extends Application {
         moistureGoalText.setId("sideBarLabelText");
         moistureGoalText.setPromptText("12%");
 
-        Button finish = new Button("Finish");
-        finish.setId("sideBarButtonFinish");
-        finish.setOnAction(e -> InputPopUpWindow.display());
+        Button inputParametersButton = new Button("Input Parameters");
+        inputParametersButton.setId("sideBarButtonInputParameters");
+        inputParametersButton.setOnAction(e -> InputPopUpWindow.display());
+
+        Button finishButton = new Button("Finish");
+        finishButton.setId("sideBarButtonFinish");
+
 
 
         // Creating the circular progressbar
@@ -217,7 +221,8 @@ public class Main extends Application {
 
 
 
-        sideBarVBox.getChildren().addAll(ringProgressIndicator, treeSpeciesLabel, treeSpeciesText, dimensionsLabel, dimensionsText, sawsetLabel, sawsetText, moistureGoalLabel, moistureGoalText, finish);
+        sideBarVBox.getChildren().addAll(ringProgressIndicator, treeSpeciesLabel, treeSpeciesText, dimensionsLabel, dimensionsText,
+                sawsetLabel, sawsetText, moistureGoalLabel, moistureGoalText, inputParametersButton, finishButton);
 
         VBox.setVgrow(sideBarVBox, Priority.ALWAYS);
 
diff --git a/src/main/resources/com.application/CSS/styleSheet.css b/src/main/resources/com.application/CSS/styleSheet.css
index 54b83c3..76111b5 100644
--- a/src/main/resources/com.application/CSS/styleSheet.css
+++ b/src/main/resources/com.application/CSS/styleSheet.css
@@ -17,6 +17,10 @@
     -fx-alignment: center;
 }
 
+
+/*
+    Sidebar styling
+ */
 #sideBar {
     -fx-pref-width: 250;
 }
@@ -39,11 +43,21 @@
     -fx-font-family: Arial;
 }
 
-#sideBarButtonFinish {
+#sideBarButtonInputParameters {
     -fx-translate-x: 5;
     -fx-translate-y: 20;
     -fx-pref-width: infinity;
     -fx-pref-height: 25;
+    -fx-font-size: 16;
+    -fx-font-weight: 200;
+    -fx-font-family: Arial;
+}
+
+#sideBarButtonFinish {
+    -fx-translate-x: 5;
+    -fx-translate-y: 50;
+    -fx-pref-width: infinity;
+    -fx-pref-height: 25;
     -fx-font-size: 20;
     -fx-font-family: Arial;
     -fx-background-color: rgba(104, 229, 59, 1);
diff --git a/target/classes/com/application/GUI/InputPopUpWindow.class b/target/classes/com/application/GUI/InputPopUpWindow.class
new file mode 100644
index 0000000000000000000000000000000000000000..6d5867cd2617d66b840aed7ac25dce4b744bcf28
GIT binary patch
literal 4282
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
QXhv^hU}k7$Xklmt0F{lRO#lD@

literal 0
HcmV?d00001

diff --git a/target/classes/com/application/GUI/LineChartFunctionality.class b/target/classes/com/application/GUI/LineChartFunctionality.class
new file mode 100644
index 0000000000000000000000000000000000000000..eaa8f1e713b3132b236b7b894f0529f111199898
GIT binary patch
literal 2332
zcmX^0Z`VEs1_l#`C@uzZ25WW(8!iSW25U|RF$P<920JbWRtU$Qoxzcdfdj&EVrOvX
zV&G<Q0V#6@vD~;B+!;JL7(79`y*L=WK^na{7<@pIzU&Ns><s>l44gTcd8y7BiA5!h
z401kMiDijt75c@=sd=gT$skdEADFx~BLin}W_n&?Noi3kBZCWG#WrAB{hY+Sbp7Cx
zqRhN>Ya|iB(%hufB5ONqMh3Rx)S}GPVnznGU?_vfGcPZ-$T=smxELg^4AzI{sEA0g
zlT{#ktQi?R39BO7Nvsu)6`94142syybWSWuP0uf?1Szp*WMBm|7#ZZTsfBnGs*=qn
zGcU8mj*)>`Lo<w#fyFsLC6$qZ9~8V0bs>pKIjM{cLO%J)i8*13MVTNzRFI`41LPtd
zpXB^p{ltQToXq6JlFa-(efLmLL=3r=<|Ttf6LT_4Dy<nAc+yi#K<0zPijhG<Llc`T
z;VP^d8QcgcAvz3siczdq)WB~uC`80iJziOm3iZ4@e$7O>31kIldTI$I$uKggV)rUW
z%JL>g9g%KeWZ*1DxIhi7zt9{2a<&f<3W;<9$T+Ux{L-T2RJTk}a+8KfKT7J+1C<0k
z45|!jj12N1Hd+Qm&IUXTiVRAO46<01K~gp-2k<Z`GpMjL1TZovVo`_cX&wd{26;vX
z87vCnt_8U*kcUBnL6V0dh#{DrA%uq^lmV2nToOxCc^JYOA{ZH%y~{Hg83bI4Dl_xa
z6#|O#lT$&33J*ghNLGvZ%*4nb0CEhZJo8V=N=+_dWRL<0p@j?7Ba95DSmO*75|Dxr
zO&?eS6glkasU<FnC5b2rG&w&fCl#Evi}n4Jic^cqKxKnZW^su%B0O;`Vq{=WOi5v6
z5QVr2*%#KDQH%^6pv;<>l$wL41X^%|oCQ)6l39|I%Am*~#vsnXz`(-51PXlyMg}Pc
z1_mYuX$B@xw88lb3__rE!N9;E1d4hF1_o9JMo@xcU}R8dU|`q`<})y)YHep=)Y{F!
z6uF&&c`E~p)@}yY$n6YlTN&83b~A89ZfD@!%D|<yn}Iu0YYPL5))of#?F>9y8F;m}
zFz{|;;M3Z|z_pWspNSzHBrPPcjX@BkMo4HIgD^;mkjOR$(T!jyYA`S`XfbdxFfa%(
zurLTR@G}T8NHGXAs4|E!STKk(cru7F1Tly+L^DV*q%cS_XfiM`@GvkkFfgPtXfbFr
zFfcGO=rHIqFo8Xw&%g+lV+Gl=0d4^sSWpH@Gb>axB%JgZ7#Z{#44{StFfcJNF)%Q&
zX=!g|-~~C8nE~WXP@T=dpuoV&pa?ce45A8Z5(5JpH0%xGP6UZa!$aSQfsw(O!31gx
zvQxRxovH%10OC(nr<yV_GMF)#Lk&rSI#mSZR4$OGw=wW(LxLXRa6SfR1_lNV237`5
z24My*u-OpDi@+T(0!=6g$Ad%^;EuOoU}CTY2dEW;90LOb7Xu>$2ZIBHEQ2Hf%bQ5*

literal 0
HcmV?d00001

diff --git a/target/classes/com/application/Main$1WorkerThread.class b/target/classes/com/application/Main$1WorkerThread.class
index ecdd8db78db05984f51b2e5159c022801f31209d..9abb12eca1a252de3954b0675b49e8a0237e772b 100644
GIT binary patch
delta 89
zcmcaEcwKOVAv^B@22O^3415d+8H5=QO}1lSX?mQ2jo}mnC&LK_E{2l~d<<t9L>MkI
vh%=mHkYG5^Aj5EhL66}QgE_+$21kag3|<V^7<?ISPL|=wV!SlDog)AMFZ&oL

delta 89
zcmcaEcwKOVAv^CL22O@u415fG8H5@3O}1lSX?mD}jo}yrC&Lj2E{3BFd<-WUL>SI8
vh%=mGkYG5?Aj5EmL66}agE_+m21kaA3|<VE7<?J7PL|=wVmvpwog)AMBOe#r

diff --git a/target/classes/com/application/Main.class b/target/classes/com/application/Main.class
index ba9aec1158e5eb2b28ba0a08e90d814dcfda0e05..39fa3937ebc8e1f685f160bf072975ffcae6a97d 100644
GIT binary patch
delta 2221
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

delta 2195
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
Jc^G*a`2hOSzuW)-

-- 
GitLab