From 972c89fb953efbdf50711524d8bcfb983cc735e1 Mon Sep 17 00:00:00 2001 From: "d.emmel" Date: Mon, 14 Aug 2023 13:11:53 +0200 Subject: [PATCH] Updated all Add and Edit Panes --- pom.xml | 2 +- .../ActiveMaterialsController.java | 12 +- .../AddActiveMaterialController.java | 91 ++++++- .../EditActiveMaterialController.java | 90 ++++++- .../costs/AddCostsSaltController.java | 34 ++- .../costs/AddCostsSolventController.java | 34 ++- .../costs/AddCostsStackController.java | 5 + .../AddSeparatorParameterController.java | 23 ++ .../controller/costs/CostsController.java | 24 +- .../costs/EditCostsSaltController.java | 34 ++- .../costs/EditCostsSolventController.java | 34 ++- .../costs/EditCostsStackController.java | 20 ++ .../EditSeparatorParameterController.java | 23 ++ .../AddElectrolytesController.java | 245 +++++++++++++++++- .../EditElectrolytesController.java | 245 +++++++++++++++++- .../electrolytes/ElectrolytesController.java | 47 +--- .../solvent/AddSolventInorgController.java | 63 ++++- .../solvent/AddSolventOrgController.java | 84 +++++- .../solvent/EditSolventInorgController.java | 64 ++++- .../solvent/EditSolventOrgController.java | 84 +++++- .../solvent/SolventInorgController.java | 16 +- .../solvent/SolventOrgController.java | 12 +- .../fxml/addActiveMaterial.fxml | 111 +++++++- .../fxml/editActiveMaterial.fxml | 111 +++++++- .../controller/costs/fxml/addCostsSalt.fxml | 31 ++- .../costs/fxml/addCostsSolvent.fxml | 31 ++- .../costs/fxml/addSeparatorParameter.fxml | 24 +- .../controller/costs/fxml/editCostsSalt.fxml | 31 ++- .../costs/fxml/editCostsSolvent.fxml | 29 ++- .../costs/fxml/editSeparatorParameter.fxml | 24 +- .../electrolytes/fxml/addElectrolytes.fxml | 163 ++++++++++-- .../electrolytes/fxml/editElectrolytes.fxml | 155 +++++++++-- .../controller/maincontrol/fxml/main.fxml | 2 +- .../solvent/fxml/addSolventInorg.fxml | 47 +++- .../solvent/fxml/addSolventOrg.fxml | 61 ++++- .../solvent/fxml/editSolventInorg.fxml | 47 +++- .../solvent/fxml/editSolventOrg.fxml | 63 ++++- .../img/ArrowDown/0.5x/Asset 2@0.5x.png | Bin 0 -> 423 bytes .../img/ArrowDown/1.5x/Asset 2@1.5x.png | Bin 0 -> 1063 bytes .../reflowlab/img/ArrowDown/1x/Asset 2.png | Bin 0 -> 748 bytes .../reflowlab/img/ArrowDown/2x/Asset 2@2x.png | Bin 0 -> 1431 bytes .../reflowlab/img/ArrowDown/3x/Asset 2@3x.png | Bin 0 -> 2071 bytes .../reflowlab/img/ArrowDown/4x/Asset 2@4x.png | Bin 0 -> 2664 bytes .../reflowlab/img/Calculator/calculator.png | Bin 0 -> 551 bytes .../reflowlab/style/reflowlabStyle1.css | 4 + 45 files changed, 1977 insertions(+), 243 deletions(-) create mode 100644 src/main/resources/de/dominikemmel/reflowlab/img/ArrowDown/0.5x/Asset 2@0.5x.png create mode 100644 src/main/resources/de/dominikemmel/reflowlab/img/ArrowDown/1.5x/Asset 2@1.5x.png create mode 100644 src/main/resources/de/dominikemmel/reflowlab/img/ArrowDown/1x/Asset 2.png create mode 100644 src/main/resources/de/dominikemmel/reflowlab/img/ArrowDown/2x/Asset 2@2x.png create mode 100644 src/main/resources/de/dominikemmel/reflowlab/img/ArrowDown/3x/Asset 2@3x.png create mode 100644 src/main/resources/de/dominikemmel/reflowlab/img/ArrowDown/4x/Asset 2@4x.png create mode 100644 src/main/resources/de/dominikemmel/reflowlab/img/Calculator/calculator.png diff --git a/pom.xml b/pom.xml index d15e5eb..4ab8b0e 100644 --- a/pom.xml +++ b/pom.xml @@ -2,7 +2,7 @@ 4.0.0 de.dominikemmel.reflowlab ReFlowLab - 1.0.0-SNAPSHOT + 1.0.0 jar diff --git a/src/main/java/de/dominikemmel/reflowlab/controller/activematerials/ActiveMaterialsController.java b/src/main/java/de/dominikemmel/reflowlab/controller/activematerials/ActiveMaterialsController.java index 926c068..8f14226 100644 --- a/src/main/java/de/dominikemmel/reflowlab/controller/activematerials/ActiveMaterialsController.java +++ b/src/main/java/de/dominikemmel/reflowlab/controller/activematerials/ActiveMaterialsController.java @@ -207,10 +207,8 @@ private void addColumnNames() { M1.setStyle("-fx-font-style: italic"); Text M2 = new Text(" / g mol"); M2.setStyle("-fx-font-weight: bold"); - Text M3 = new Text("-1"); + Text M3 = new Text("⁻¹"); M3.setStyle("-fx-font-weight: bold"); - M3.setTranslateY(M1.getFont().getSize() * -0.3); - M3.setFont(Font.font(M2.getFont().getStyle(),M2.getFont().getSize()*0.75)); M_TextFlow.getChildren().addAll(M1,M2,M3); @@ -246,10 +244,8 @@ private void addColumnNames() { C_AM2.setFont(Font.font(C_AM1.getFont().getStyle(),C_AM1.getFont().getSize()*0.75)); Text C_AM3 = new Text(" / $ kg"); C_AM3.setStyle("-fx-font-weight: bold"); - Text C_AM4 = new Text("-1"); + Text C_AM4 = new Text("⁻¹"); C_AM4.setStyle("-fx-font-weight: bold"); - C_AM4.setTranslateY(C_AM1.getFont().getSize() * -0.3); - C_AM4.setFont(Font.font(C_AM1.getFont().getStyle(),C_AM1.getFont().getSize()*0.75)); CAM_TextFlow.getChildren().addAll(C_AM1,C_AM2,C_AM3,C_AM4); @@ -275,10 +271,8 @@ private void addColumnNames() { SaltC2.setFont(Font.font(SaltC1.getFont().getStyle(),SaltC1.getFont().getSize()*0.75)); Text SaltC3 = new Text(" / mol L"); SaltC3.setStyle("-fx-font-weight: bold"); - Text SaltC4 = new Text("-1"); + Text SaltC4 = new Text("⁻¹"); SaltC4.setStyle("-fx-font-weight: bold"); - SaltC4.setTranslateY(SaltC1.getFont().getSize() * -0.3); - SaltC4.setFont(Font.font(SaltC1.getFont().getStyle(),SaltC1.getFont().getSize()*0.75)); SaltC_TextFlow.getChildren().addAll(SaltC1,SaltC2,SaltC3,SaltC4); diff --git a/src/main/java/de/dominikemmel/reflowlab/controller/activematerials/AddActiveMaterialController.java b/src/main/java/de/dominikemmel/reflowlab/controller/activematerials/AddActiveMaterialController.java index 260caff..e1ed391 100644 --- a/src/main/java/de/dominikemmel/reflowlab/controller/activematerials/AddActiveMaterialController.java +++ b/src/main/java/de/dominikemmel/reflowlab/controller/activematerials/AddActiveMaterialController.java @@ -14,6 +14,9 @@ import javafx.scene.image.Image; import javafx.scene.image.ImageView; import javafx.scene.layout.AnchorPane; +import javafx.scene.text.Font; +import javafx.scene.text.Text; +import javafx.scene.text.TextFlow; import javafx.stage.Stage; import de.dominikemmel.reflowlab.Database; import de.dominikemmel.reflowlab.VariousMethods; @@ -54,6 +57,13 @@ public class AddActiveMaterialController implements javafx.fxml.Initializable { @FXML private Button btnInputRefN; @FXML private Button btnInputRefNumberH; @FXML private Button btnInputRefCAM; + + @FXML private TextFlow M_TextFlow; + @FXML private TextFlow N_TextFlow; + @FXML private TextFlow NumberH_TextFlow; + @FXML private TextFlow CAM_TextFlow; + @FXML private TextFlow SaltC_TextFlow; + @FXML private TextFlow E_TextFlow; String table = "activeMaterial"; @@ -67,7 +77,86 @@ public void run() { } }); - Image img = new Image(getClass().getResourceAsStream("/de/dominikemmel/reflowlab/img/ArrowDown/1x/arrowDownmdpi.png")); + //M: + Text M1 = new Text("M"); + M1.setStyle("-fx-font-weight: bold; -fx-font-style: italic"); + Text M2 = new Text(" / g mol"); + M2.setStyle("-fx-font-weight: bold"); + Text M3 = new Text("⁻¹"); + M3.setStyle("-fx-font-weight: bold"); + Text M4 = new Text(":"); + M4.setStyle("-fx-font-weight: bold"); + + M_TextFlow.getChildren().addAll(M1,M2,M3,M4); + + //N: + Text N1 = new Text("n"); + N1.setStyle("-fx-font-weight: bold; -fx-font-style: italic"); + Text N2 = new Text("e-"); + N2.setStyle("-fx-font-weight: bold"); + N2.setTranslateY(N1.getFont().getSize() * 0.3); + N2.setFont(Font.font(N1.getFont().getStyle(),N1.getFont().getSize()*0.75)); + Text N3 = new Text(":"); + N3.setStyle("-fx-font-weight: bold"); + + N_TextFlow.getChildren().addAll(N1,N2,N3); + + //NumberH: + Text NumberH1 = new Text("n"); + NumberH1.setStyle("-fx-font-weight: bold; -fx-font-style: italic"); + Text NumberH2 = new Text("H+"); + NumberH2.setStyle("-fx-font-weight: bold"); + NumberH2.setTranslateY(NumberH1.getFont().getSize() * 0.3); + NumberH2.setFont(Font.font(NumberH1.getFont().getStyle(),NumberH1.getFont().getSize()*0.75)); + Text NumberH3 = new Text(":"); + NumberH3.setStyle("-fx-font-weight: bold"); + + NumberH_TextFlow.getChildren().addAll(NumberH1,NumberH2,NumberH3); + + //C_AM: + Text C_AM1 = new Text("C"); + C_AM1.setStyle("-fx-font-weight: bold; -fx-font-style: italic"); + Text C_AM2 = new Text("AM"); + C_AM2.setStyle("-fx-font-weight: bold"); + C_AM2.setTranslateY(C_AM1.getFont().getSize() * 0.3); + C_AM2.setFont(Font.font(C_AM1.getFont().getStyle(),C_AM1.getFont().getSize()*0.75)); + Text C_AM3 = new Text(" / $ kg"); + C_AM3.setStyle("-fx-font-weight: bold"); + Text C_AM4 = new Text("⁻¹"); + C_AM4.setStyle("-fx-font-weight: bold"); + Text C_AM5 = new Text(":"); + C_AM5.setStyle("-fx-font-weight: bold"); + + CAM_TextFlow.getChildren().addAll(C_AM1,C_AM2,C_AM3,C_AM4,C_AM5); + + //Saltc: + Text SaltC1 = new Text("c"); + SaltC1.setStyle("-fx-font-weight: bold; -fx-font-style: italic"); + Text SaltC2 = new Text("salt"); + SaltC2.setStyle("-fx-font-weight: bold"); + SaltC2.setTranslateY(SaltC1.getFont().getSize() * 0.3); + SaltC2.setFont(Font.font(SaltC1.getFont().getStyle(),SaltC1.getFont().getSize()*0.75)); + Text SaltC3 = new Text(" / mol L"); + SaltC3.setStyle("-fx-font-weight: bold"); + Text SaltC4 = new Text("⁻¹"); + SaltC4.setStyle("-fx-font-weight: bold"); + Text SaltC5 = new Text(":"); + SaltC5.setStyle("-fx-font-weight: bold"); + + SaltC_TextFlow.getChildren().addAll(SaltC1,SaltC2,SaltC3,SaltC4,SaltC5); + + //E: + Text E1 = new Text("E"); + E1.setStyle("-fx-font-weight: bold; -fx-font-style: italic"); + Text E2 = new Text(" vs NHE / V"); + E2.setStyle("-fx-font-weight: bold"); + Text E3 = new Text(":"); + E3.setStyle("-fx-font-weight: bold"); + + E_TextFlow.getChildren().addAll(E1,E2,E3); + + + Image img = new Image(getClass().getResourceAsStream("/de/dominikemmel/reflowlab/img/ArrowDown/0.5x/Asset 2@0.5x.png")); ImageView imgViewBtnInputRefN = new ImageView(img); imgViewBtnInputRefN.setFitHeight(10); imgViewBtnInputRefN.setFitWidth(12); diff --git a/src/main/java/de/dominikemmel/reflowlab/controller/activematerials/EditActiveMaterialController.java b/src/main/java/de/dominikemmel/reflowlab/controller/activematerials/EditActiveMaterialController.java index 3de4dfa..6090066 100644 --- a/src/main/java/de/dominikemmel/reflowlab/controller/activematerials/EditActiveMaterialController.java +++ b/src/main/java/de/dominikemmel/reflowlab/controller/activematerials/EditActiveMaterialController.java @@ -15,6 +15,9 @@ import javafx.scene.image.Image; import javafx.scene.image.ImageView; import javafx.scene.layout.AnchorPane; +import javafx.scene.text.Font; +import javafx.scene.text.Text; +import javafx.scene.text.TextFlow; import javafx.stage.Stage; import de.dominikemmel.reflowlab.Database; import de.dominikemmel.reflowlab.VariousMethods; @@ -55,6 +58,13 @@ public class EditActiveMaterialController implements javafx.fxml.Initializable @FXML private Button btnInputRefN; @FXML private Button btnInputRefNumberH; @FXML private Button btnInputRefCAM; + + @FXML private TextFlow M_TextFlow; + @FXML private TextFlow N_TextFlow; + @FXML private TextFlow NumberH_TextFlow; + @FXML private TextFlow CAM_TextFlow; + @FXML private TextFlow SaltC_TextFlow; + @FXML private TextFlow E_TextFlow; String table = "activeMaterial"; @@ -110,7 +120,85 @@ public void run() { } }); - Image img = new Image(getClass().getResourceAsStream("/de/dominikemmel/reflowlab/img/ArrowDown/1x/arrowDownmdpi.png")); + //M: + Text M1 = new Text("M"); + M1.setStyle("-fx-font-weight: bold; -fx-font-style: italic"); + Text M2 = new Text(" / g mol"); + M2.setStyle("-fx-font-weight: bold"); + Text M3 = new Text("⁻¹"); + M3.setStyle("-fx-font-weight: bold"); + Text M4 = new Text(":"); + M4.setStyle("-fx-font-weight: bold"); + + M_TextFlow.getChildren().addAll(M1,M2,M3,M4); + + //N: + Text N1 = new Text("n"); + N1.setStyle("-fx-font-weight: bold; -fx-font-style: italic"); + Text N2 = new Text("e-"); + N2.setStyle("-fx-font-weight: bold"); + N2.setTranslateY(N1.getFont().getSize() * 0.3); + N2.setFont(Font.font(N1.getFont().getStyle(),N1.getFont().getSize()*0.75)); + Text N3 = new Text(":"); + N3.setStyle("-fx-font-weight: bold"); + + N_TextFlow.getChildren().addAll(N1,N2,N3); + + //NumberH: + Text NumberH1 = new Text("n"); + NumberH1.setStyle("-fx-font-weight: bold; -fx-font-style: italic"); + Text NumberH2 = new Text("H+"); + NumberH2.setStyle("-fx-font-weight: bold"); + NumberH2.setTranslateY(NumberH1.getFont().getSize() * 0.3); + NumberH2.setFont(Font.font(NumberH1.getFont().getStyle(),NumberH1.getFont().getSize()*0.75)); + Text NumberH3 = new Text(":"); + NumberH3.setStyle("-fx-font-weight: bold"); + + NumberH_TextFlow.getChildren().addAll(NumberH1,NumberH2,NumberH3); + + //C_AM: + Text C_AM1 = new Text("C"); + C_AM1.setStyle("-fx-font-weight: bold; -fx-font-style: italic"); + Text C_AM2 = new Text("AM"); + C_AM2.setStyle("-fx-font-weight: bold"); + C_AM2.setTranslateY(C_AM1.getFont().getSize() * 0.3); + C_AM2.setFont(Font.font(C_AM1.getFont().getStyle(),C_AM1.getFont().getSize()*0.75)); + Text C_AM3 = new Text(" / $ kg"); + C_AM3.setStyle("-fx-font-weight: bold"); + Text C_AM4 = new Text("⁻¹"); + C_AM4.setStyle("-fx-font-weight: bold"); + Text C_AM5 = new Text(":"); + C_AM5.setStyle("-fx-font-weight: bold"); + + CAM_TextFlow.getChildren().addAll(C_AM1,C_AM2,C_AM3,C_AM4,C_AM5); + + //Saltc: + Text SaltC1 = new Text("c"); + SaltC1.setStyle("-fx-font-weight: bold; -fx-font-style: italic"); + Text SaltC2 = new Text("salt"); + SaltC2.setStyle("-fx-font-weight: bold"); + SaltC2.setTranslateY(SaltC1.getFont().getSize() * 0.3); + SaltC2.setFont(Font.font(SaltC1.getFont().getStyle(),SaltC1.getFont().getSize()*0.75)); + Text SaltC3 = new Text(" / mol L"); + SaltC3.setStyle("-fx-font-weight: bold"); + Text SaltC4 = new Text("⁻¹"); + SaltC4.setStyle("-fx-font-weight: bold"); + Text SaltC5 = new Text(":"); + SaltC5.setStyle("-fx-font-weight: bold"); + + SaltC_TextFlow.getChildren().addAll(SaltC1,SaltC2,SaltC3,SaltC4,SaltC5); + + //E: + Text E1 = new Text("E"); + E1.setStyle("-fx-font-weight: bold; -fx-font-style: italic"); + Text E2 = new Text(" vs NHE / V"); + E2.setStyle("-fx-font-weight: bold"); + Text E3 = new Text(":"); + E3.setStyle("-fx-font-weight: bold"); + + E_TextFlow.getChildren().addAll(E1,E2,E3); + + Image img = new Image(getClass().getResourceAsStream("/de/dominikemmel/reflowlab/img/ArrowDown/0.5x/Asset 2@0.5x.png")); ImageView imgViewBtnInputRefN = new ImageView(img); imgViewBtnInputRefN.setFitHeight(10); imgViewBtnInputRefN.setFitWidth(12); diff --git a/src/main/java/de/dominikemmel/reflowlab/controller/costs/AddCostsSaltController.java b/src/main/java/de/dominikemmel/reflowlab/controller/costs/AddCostsSaltController.java index 0df0610..efea5bb 100644 --- a/src/main/java/de/dominikemmel/reflowlab/controller/costs/AddCostsSaltController.java +++ b/src/main/java/de/dominikemmel/reflowlab/controller/costs/AddCostsSaltController.java @@ -14,6 +14,8 @@ import javafx.scene.image.Image; import javafx.scene.image.ImageView; import javafx.scene.layout.AnchorPane; +import javafx.scene.text.Text; +import javafx.scene.text.TextFlow; import javafx.stage.Stage; import de.dominikemmel.reflowlab.Database; import de.dominikemmel.reflowlab.VariousMethods; @@ -39,6 +41,11 @@ public class AddCostsSaltController implements javafx.fxml.Initializable { @FXML private TextField inputRefCSalt; + @FXML + private TextFlow MSalt_TextFlow; + @FXML + private TextFlow CSalt_TextFlow; + @FXML private Button btnInputRefMSalt; @@ -53,8 +60,33 @@ public void run() { inputSalt.requestFocus(); } }); + + //MSalt: + Text MSalt1 = new Text("M"); + MSalt1.setStyle("-fx-font-weight: bold; -fx-font-style: italic"); + Text MSalt2 = new Text(" / g mol"); + MSalt2.setStyle("-fx-font-weight: bold"); + Text MSalt3 = new Text("⁻¹"); + MSalt3.setStyle("-fx-font-weight: bold"); + Text MSalt4 = new Text(":"); + MSalt4.setStyle("-fx-font-weight: bold"); + + MSalt_TextFlow.getChildren().addAll(MSalt1,MSalt2,MSalt3,MSalt4); + + //CSalt: + Text CSalt1 = new Text("C"); + CSalt1.setStyle("-fx-font-weight: bold; -fx-font-style: italic"); + Text CSalt2 = new Text(" / $ kg"); + CSalt2.setStyle("-fx-font-weight: bold"); + Text CSalt3 = new Text("⁻¹"); + CSalt3.setStyle("-fx-font-weight: bold"); + Text CSalt4 = new Text(":"); + CSalt4.setStyle("-fx-font-weight: bold"); + + CSalt_TextFlow.getChildren().addAll(CSalt1,CSalt2,CSalt3,CSalt4); + - Image img = new Image(getClass().getResourceAsStream("/de/dominikemmel/reflowlab/img/ArrowDown/1x/arrowDownmdpi.png")); + Image img = new Image(getClass().getResourceAsStream("/de/dominikemmel/reflowlab/img/ArrowDown/0.5x/Asset 2@0.5x.png")); ImageView imgView = new ImageView(img); imgView.setFitHeight(10); imgView.setFitWidth(12); diff --git a/src/main/java/de/dominikemmel/reflowlab/controller/costs/AddCostsSolventController.java b/src/main/java/de/dominikemmel/reflowlab/controller/costs/AddCostsSolventController.java index 8a258ed..07a0750 100644 --- a/src/main/java/de/dominikemmel/reflowlab/controller/costs/AddCostsSolventController.java +++ b/src/main/java/de/dominikemmel/reflowlab/controller/costs/AddCostsSolventController.java @@ -14,6 +14,8 @@ import javafx.scene.image.Image; import javafx.scene.image.ImageView; import javafx.scene.layout.AnchorPane; +import javafx.scene.text.Text; +import javafx.scene.text.TextFlow; import javafx.stage.Stage; import de.dominikemmel.reflowlab.Database; import de.dominikemmel.reflowlab.VariousMethods; @@ -39,6 +41,11 @@ public class AddCostsSolventController implements javafx.fxml.Initializable { @FXML private TextField inputRefCSolvent; + @FXML + private TextFlow MSolvent_TextFlow; + @FXML + private TextFlow CSolvent_TextFlow; + @FXML private Button btnInputRefMSolvent; @@ -54,7 +61,32 @@ public void run() { } }); - Image img = new Image(getClass().getResourceAsStream("/de/dominikemmel/reflowlab/img/ArrowDown/1x/arrowDownmdpi.png")); + //CSolvent: + Text CSolvent1 = new Text("C"); + CSolvent1.setStyle("-fx-font-weight: bold; -fx-font-style: italic"); + Text CSolvent2 = new Text(" / $ kg"); + CSolvent2.setStyle("-fx-font-weight: bold"); + Text CSolvent3 = new Text("⁻¹"); + CSolvent3.setStyle("-fx-font-weight: bold"); + Text CSolvent4 = new Text(":"); + CSolvent4.setStyle("-fx-font-weight: bold"); + + CSolvent_TextFlow.getChildren().addAll(CSolvent1,CSolvent2,CSolvent3,CSolvent4); + + //MSolvent: + Text MSolvent1 = new Text("M"); + MSolvent1.setStyle("-fx-font-weight: bold; -fx-font-style: italic"); + Text MSolvent2 = new Text(" / g mol"); + MSolvent2.setStyle("-fx-font-weight: bold"); + Text MSolvent3 = new Text("⁻¹"); + MSolvent3.setStyle("-fx-font-weight: bold"); + Text MSolvent4 = new Text(":"); + MSolvent4.setStyle("-fx-font-weight: bold"); + + MSolvent_TextFlow.getChildren().addAll(MSolvent1,MSolvent2,MSolvent3,MSolvent4); + + + Image img = new Image(getClass().getResourceAsStream("/de/dominikemmel/reflowlab/img/ArrowDown/0.5x/Asset 2@0.5x.png")); ImageView imgView = new ImageView(img); imgView.setFitHeight(10); imgView.setFitWidth(12); diff --git a/src/main/java/de/dominikemmel/reflowlab/controller/costs/AddCostsStackController.java b/src/main/java/de/dominikemmel/reflowlab/controller/costs/AddCostsStackController.java index d61965d..a0bb2f4 100644 --- a/src/main/java/de/dominikemmel/reflowlab/controller/costs/AddCostsStackController.java +++ b/src/main/java/de/dominikemmel/reflowlab/controller/costs/AddCostsStackController.java @@ -15,6 +15,9 @@ import javafx.scene.control.ComboBox; import javafx.scene.control.TextField; import javafx.scene.layout.AnchorPane; +import javafx.scene.text.Font; +import javafx.scene.text.Text; +import javafx.scene.text.TextFlow; import javafx.stage.Stage; import de.dominikemmel.reflowlab.Database; import de.dominikemmel.reflowlab.VariousMethods; @@ -39,6 +42,7 @@ public class AddCostsStackController implements javafx.fxml.Initializable { @FXML private TextField inputRefComponentCost; + String table = "costStack"; @SuppressWarnings("unchecked") @@ -52,6 +56,7 @@ public void run() { } }); + inputComponentType.getItems().add("Separator"); inputComponentType.getItems().add("Electrode"); inputComponentType.getItems().add("Bipolar plate"); diff --git a/src/main/java/de/dominikemmel/reflowlab/controller/costs/AddSeparatorParameterController.java b/src/main/java/de/dominikemmel/reflowlab/controller/costs/AddSeparatorParameterController.java index b35f0fe..7274dd2 100644 --- a/src/main/java/de/dominikemmel/reflowlab/controller/costs/AddSeparatorParameterController.java +++ b/src/main/java/de/dominikemmel/reflowlab/controller/costs/AddSeparatorParameterController.java @@ -14,6 +14,9 @@ import javafx.scene.image.Image; import javafx.scene.image.ImageView; import javafx.scene.layout.AnchorPane; +import javafx.scene.text.Font; +import javafx.scene.text.Text; +import javafx.scene.text.TextFlow; import javafx.stage.Stage; import de.dominikemmel.reflowlab.Database; import de.dominikemmel.reflowlab.VariousMethods; @@ -33,6 +36,9 @@ public class AddSeparatorParameterController implements javafx.fxml.Initializabl @FXML private TextField inputRefASR; + @FXML + private TextFlow Rasr_TextFlow; + String table = "separatorParameter"; @Override @@ -45,6 +51,23 @@ public void run() { } }); + //Rasr: + Text Rasr1 = new Text("R"); + Rasr1.setStyle("-fx-font-weight: bold; -fx-font-style: italic"); + Text Rasr2 = new Text("asr"); + Rasr2.setStyle("-fx-font-weight: bold"); + Rasr2.setTranslateY(Rasr1.getFont().getSize() * 0.3); + Rasr2.setFont(Font.font(Rasr1.getFont().getStyle(),Rasr1.getFont().getSize()*0.75)); + Text Rasr3 = new Text(" / Ohm cm"); + Rasr3.setStyle("-fx-font-weight: bold"); + Text Rasr4 = new Text("⁻²"); + Rasr4.setStyle("-fx-font-weight: bold"); + Text Rasr5 = new Text(":"); + Rasr5.setStyle("-fx-font-weight: bold"); + + Rasr_TextFlow.getChildren().addAll(Rasr1, Rasr2, Rasr3, Rasr4, Rasr5); + + inputRefDOIASR.textProperty().addListener((observable, oldValue, newValue) -> { if(newValue == "" || newValue == null) { diff --git a/src/main/java/de/dominikemmel/reflowlab/controller/costs/CostsController.java b/src/main/java/de/dominikemmel/reflowlab/controller/costs/CostsController.java index 4fd127a..7293399 100644 --- a/src/main/java/de/dominikemmel/reflowlab/controller/costs/CostsController.java +++ b/src/main/java/de/dominikemmel/reflowlab/controller/costs/CostsController.java @@ -576,7 +576,7 @@ private void addColumnNames() { //ComponentCost: Text ComponentCost1 = new Text("Comp. Cost"); ComponentCost1.setStyle("-fx-font-weight: bold"); - Text ComponentCost2 = new Text(" / $"); + Text ComponentCost2 = new Text(""); ComponentCost2.setStyle("-fx-font-weight: bold"); ComponentCost_TextFlow.getChildren().addAll(ComponentCost1,ComponentCost2); @@ -619,10 +619,8 @@ private void addColumnNames() { MSalt1.setStyle("-fx-font-style: italic"); Text MSalt2 = new Text(" / g mol"); MSalt2.setStyle("-fx-font-weight: bold"); - Text MSalt3 = new Text("-1"); + Text MSalt3 = new Text("⁻¹"); MSalt3.setStyle("-fx-font-weight: bold"); - MSalt3.setTranslateY(MSalt1.getFont().getSize() * -0.3); - MSalt3.setFont(Font.font(MSalt2.getFont().getStyle(),MSalt2.getFont().getSize()*0.75)); MSalt_TextFlow.getChildren().addAll(MSalt1,MSalt2,MSalt3); @@ -632,10 +630,8 @@ private void addColumnNames() { CSalt1.setStyle("-fx-font-style: italic"); Text CSalt2 = new Text(" / $ kg"); CSalt2.setStyle("-fx-font-weight: bold"); - Text CSalt3 = new Text("-1"); + Text CSalt3 = new Text("⁻¹"); CSalt3.setStyle("-fx-font-weight: bold"); - CSalt3.setTranslateY(CSalt1.getFont().getSize() * -0.3); - CSalt3.setFont(Font.font(CSalt2.getFont().getStyle(),CSalt2.getFont().getSize()*0.75)); CSalt_TextFlow.getChildren().addAll(CSalt1,CSalt2,CSalt3); @@ -669,10 +665,8 @@ private void addColumnNames() { CSolvent1.setStyle("-fx-font-style: italic"); Text CSolvent2 = new Text(" / $ kg"); CSolvent2.setStyle("-fx-font-weight: bold"); - Text CSolvent3 = new Text("-1"); + Text CSolvent3 = new Text("⁻¹"); CSolvent3.setStyle("-fx-font-weight: bold"); - CSolvent3.setTranslateY(CSolvent1.getFont().getSize() * -0.3); - CSolvent3.setFont(Font.font(CSolvent1.getFont().getStyle(),CSolvent1.getFont().getSize()*0.75)); CSolvent_TextFlow.getChildren().addAll(CSolvent1,CSolvent2,CSolvent3); @@ -682,10 +676,8 @@ private void addColumnNames() { MSolvent1.setStyle("-fx-font-style: italic"); Text MSolvent2 = new Text(" / g mol"); MSolvent2.setStyle("-fx-font-weight: bold"); - Text MSolvent3 = new Text("-1"); + Text MSolvent3 = new Text("⁻¹"); MSolvent3.setStyle("-fx-font-weight: bold"); - MSolvent3.setTranslateY(MSolvent1.getFont().getSize() * -0.3); - MSolvent3.setFont(Font.font(MSolvent1.getFont().getStyle(),MSolvent1.getFont().getSize()*0.75)); MSolvent_TextFlow.getChildren().addAll(MSolvent1,MSolvent2,MSolvent3); @@ -724,10 +716,8 @@ private void addColumnNames() { Rasr2.setFont(Font.font(Rasr1.getFont().getStyle(),Rasr1.getFont().getSize()*0.75)); Text Rasr3 = new Text(" / Ohm cm"); Rasr3.setStyle("-fx-font-weight: bold"); - Text Rasr4 = new Text("-2"); + Text Rasr4 = new Text("⁻²"); Rasr4.setStyle("-fx-font-weight: bold"); - Rasr4.setTranslateY(Rasr1.getFont().getSize() * -0.3); - Rasr4.setFont(Font.font(Rasr1.getFont().getStyle(),Rasr1.getFont().getSize()*0.75)); Rasr_TextFlow.getChildren().addAll(Rasr1, Rasr2, Rasr3, Rasr4); @@ -767,7 +757,7 @@ private void addColumnNames() { //ComponentCost: Text ComponentCostPeripherals1 = new Text("Comp. Cost"); ComponentCostPeripherals1.setStyle("-fx-font-weight: bold"); - Text ComponentCostPeripherals2 = new Text(" / $"); + Text ComponentCostPeripherals2 = new Text(""); ComponentCostPeripherals2.setStyle("-fx-font-weight: bold"); ComponentCostPeripherals_TextFlow.getChildren().addAll(ComponentCostPeripherals1,ComponentCostPeripherals2); diff --git a/src/main/java/de/dominikemmel/reflowlab/controller/costs/EditCostsSaltController.java b/src/main/java/de/dominikemmel/reflowlab/controller/costs/EditCostsSaltController.java index 1cdad7e..9d6e2ae 100644 --- a/src/main/java/de/dominikemmel/reflowlab/controller/costs/EditCostsSaltController.java +++ b/src/main/java/de/dominikemmel/reflowlab/controller/costs/EditCostsSaltController.java @@ -15,6 +15,8 @@ import javafx.scene.image.Image; import javafx.scene.image.ImageView; import javafx.scene.layout.AnchorPane; +import javafx.scene.text.Text; +import javafx.scene.text.TextFlow; import javafx.stage.Stage; import de.dominikemmel.reflowlab.Database; import de.dominikemmel.reflowlab.VariousMethods; @@ -44,6 +46,11 @@ public class EditCostsSaltController implements javafx.fxml.Initializable { @FXML private TextField inputRefCSalt; + @FXML + private TextFlow MSalt_TextFlow; + @FXML + private TextFlow CSalt_TextFlow; + @FXML private Button btnInputRefMSalt; @@ -59,7 +66,32 @@ public void run() { } }); - Image img = new Image(getClass().getResourceAsStream("/de/dominikemmel/reflowlab/img/ArrowDown/1x/arrowDownmdpi.png")); + //MSalt: + Text MSalt1 = new Text("M"); + MSalt1.setStyle("-fx-font-weight: bold; -fx-font-style: italic"); + Text MSalt2 = new Text(" / g mol"); + MSalt2.setStyle("-fx-font-weight: bold"); + Text MSalt3 = new Text("⁻¹"); + MSalt3.setStyle("-fx-font-weight: bold"); + Text MSalt4 = new Text(":"); + MSalt4.setStyle("-fx-font-weight: bold"); + + MSalt_TextFlow.getChildren().addAll(MSalt1,MSalt2,MSalt3,MSalt4); + + //CSalt: + Text CSalt1 = new Text("C"); + CSalt1.setStyle("-fx-font-weight: bold; -fx-font-style: italic"); + Text CSalt2 = new Text(" / $ kg"); + CSalt2.setStyle("-fx-font-weight: bold"); + Text CSalt3 = new Text("⁻¹"); + CSalt3.setStyle("-fx-font-weight: bold"); + Text CSalt4 = new Text(":"); + CSalt4.setStyle("-fx-font-weight: bold"); + + CSalt_TextFlow.getChildren().addAll(CSalt1,CSalt2,CSalt3,CSalt4); + + + Image img = new Image(getClass().getResourceAsStream("/de/dominikemmel/reflowlab/img/ArrowDown/0.5x/Asset 2@0.5x.png")); ImageView imgView = new ImageView(img); imgView.setFitHeight(10); imgView.setFitWidth(12); diff --git a/src/main/java/de/dominikemmel/reflowlab/controller/costs/EditCostsSolventController.java b/src/main/java/de/dominikemmel/reflowlab/controller/costs/EditCostsSolventController.java index 260252e..0fa2dde 100644 --- a/src/main/java/de/dominikemmel/reflowlab/controller/costs/EditCostsSolventController.java +++ b/src/main/java/de/dominikemmel/reflowlab/controller/costs/EditCostsSolventController.java @@ -15,6 +15,8 @@ import javafx.scene.image.Image; import javafx.scene.image.ImageView; import javafx.scene.layout.AnchorPane; +import javafx.scene.text.Text; +import javafx.scene.text.TextFlow; import javafx.stage.Stage; import de.dominikemmel.reflowlab.Database; import de.dominikemmel.reflowlab.VariousMethods; @@ -48,6 +50,11 @@ public class EditCostsSolventController implements javafx.fxml.Initializable { @FXML private Button btnInputRefMSolvent; + @FXML + private TextFlow MSolvent_TextFlow; + @FXML + private TextFlow CSolvent_TextFlow; + String table = "costSolvent"; @Override @@ -60,7 +67,32 @@ public void run() { } }); - Image img = new Image(getClass().getResourceAsStream("/de/dominikemmel/reflowlab/img/ArrowDown/1x/arrowDownmdpi.png")); + //CSolvent: + Text CSolvent1 = new Text("C"); + CSolvent1.setStyle("-fx-font-weight: bold; -fx-font-style: italic"); + Text CSolvent2 = new Text(" / $ kg"); + CSolvent2.setStyle("-fx-font-weight: bold"); + Text CSolvent3 = new Text("⁻¹"); + CSolvent3.setStyle("-fx-font-weight: bold"); + Text CSolvent4 = new Text(":"); + CSolvent4.setStyle("-fx-font-weight: bold"); + + CSolvent_TextFlow.getChildren().addAll(CSolvent1,CSolvent2,CSolvent3,CSolvent4); + + //MSolvent: + Text MSolvent1 = new Text("M"); + MSolvent1.setStyle("-fx-font-weight: bold; -fx-font-style: italic"); + Text MSolvent2 = new Text(" / g mol"); + MSolvent2.setStyle("-fx-font-weight: bold"); + Text MSolvent3 = new Text("⁻¹"); + MSolvent3.setStyle("-fx-font-weight: bold"); + Text MSolvent4 = new Text(":"); + MSolvent4.setStyle("-fx-font-weight: bold"); + + MSolvent_TextFlow.getChildren().addAll(MSolvent1,MSolvent2,MSolvent3,MSolvent4); + + + Image img = new Image(getClass().getResourceAsStream("/de/dominikemmel/reflowlab/img/ArrowDown/0.5x/Asset 2@0.5x.png")); ImageView imgView = new ImageView(img); imgView.setFitHeight(10); imgView.setFitWidth(12); diff --git a/src/main/java/de/dominikemmel/reflowlab/controller/costs/EditCostsStackController.java b/src/main/java/de/dominikemmel/reflowlab/controller/costs/EditCostsStackController.java index cf83407..8044002 100644 --- a/src/main/java/de/dominikemmel/reflowlab/controller/costs/EditCostsStackController.java +++ b/src/main/java/de/dominikemmel/reflowlab/controller/costs/EditCostsStackController.java @@ -15,6 +15,9 @@ import javafx.scene.control.ComboBox; import javafx.scene.control.TextField; import javafx.scene.layout.AnchorPane; +import javafx.scene.text.Font; +import javafx.scene.text.Text; +import javafx.scene.text.TextFlow; import javafx.stage.Stage; import de.dominikemmel.reflowlab.Database; import de.dominikemmel.reflowlab.VariousMethods; @@ -42,6 +45,9 @@ public class EditCostsStackController implements javafx.fxml.Initializable { private TextField inputRefDOIComponentCost; @FXML private TextField inputRefComponentCost; + + @FXML + private TextFlow Rasr_TextFlow; @SuppressWarnings("unchecked") @Override @@ -54,6 +60,20 @@ public void run() { } }); + //Rasr: + Text Rasr1 = new Text("R"); + Rasr1.setStyle("-fx-font-weight: bold; -fx-font-style: italic"); + Text Rasr2 = new Text("asr"); + Rasr2.setStyle("-fx-font-weight: bold"); + Rasr2.setTranslateY(Rasr1.getFont().getSize() * 0.3); + Rasr2.setFont(Font.font(Rasr1.getFont().getStyle(),Rasr1.getFont().getSize()*0.75)); + Text Rasr3 = new Text(" / Ohm cm"); + Rasr3.setStyle("-fx-font-weight: bold"); + Text Rasr4 = new Text("⁻²"); + Rasr4.setStyle("-fx-font-weight: bold"); + + Rasr_TextFlow.getChildren().addAll(Rasr1, Rasr2, Rasr3, Rasr4); + inputComponentType.getItems().add("Separator"); inputComponentType.getItems().add("Electrode"); inputComponentType.getItems().add("Bipolar plate"); diff --git a/src/main/java/de/dominikemmel/reflowlab/controller/costs/EditSeparatorParameterController.java b/src/main/java/de/dominikemmel/reflowlab/controller/costs/EditSeparatorParameterController.java index 39b8aff..cbf26b1 100644 --- a/src/main/java/de/dominikemmel/reflowlab/controller/costs/EditSeparatorParameterController.java +++ b/src/main/java/de/dominikemmel/reflowlab/controller/costs/EditSeparatorParameterController.java @@ -15,6 +15,9 @@ import javafx.scene.image.Image; import javafx.scene.image.ImageView; import javafx.scene.layout.AnchorPane; +import javafx.scene.text.Font; +import javafx.scene.text.Text; +import javafx.scene.text.TextFlow; import javafx.stage.Stage; import de.dominikemmel.reflowlab.Database; import de.dominikemmel.reflowlab.VariousMethods; @@ -39,6 +42,9 @@ public class EditSeparatorParameterController implements javafx.fxml.Initializab @FXML private TextField inputRefASR; + @FXML + private TextFlow Rasr_TextFlow; + String table = "separatorParameter"; @Override @@ -51,6 +57,23 @@ public void run() { } }); + //Rasr: + Text Rasr1 = new Text("R"); + Rasr1.setStyle("-fx-font-weight: bold; -fx-font-style: italic"); + Text Rasr2 = new Text("asr"); + Rasr2.setStyle("-fx-font-weight: bold"); + Rasr2.setTranslateY(Rasr1.getFont().getSize() * 0.3); + Rasr2.setFont(Font.font(Rasr1.getFont().getStyle(),Rasr1.getFont().getSize()*0.75)); + Text Rasr3 = new Text(" / Ohm cm"); + Rasr3.setStyle("-fx-font-weight: bold"); + Text Rasr4 = new Text("⁻²"); + Rasr4.setStyle("-fx-font-weight: bold"); + Text Rasr5 = new Text(":"); + Rasr5.setStyle("-fx-font-weight: bold"); + + Rasr_TextFlow.getChildren().addAll(Rasr1, Rasr2, Rasr3, Rasr4, Rasr5); + + inputRefDOIASR.textProperty().addListener((observable, oldValue, newValue) -> { if(newValue == "" || newValue == null) { diff --git a/src/main/java/de/dominikemmel/reflowlab/controller/electrolytes/AddElectrolytesController.java b/src/main/java/de/dominikemmel/reflowlab/controller/electrolytes/AddElectrolytesController.java index c886927..5453211 100644 --- a/src/main/java/de/dominikemmel/reflowlab/controller/electrolytes/AddElectrolytesController.java +++ b/src/main/java/de/dominikemmel/reflowlab/controller/electrolytes/AddElectrolytesController.java @@ -18,6 +18,9 @@ import javafx.scene.image.Image; import javafx.scene.image.ImageView; import javafx.scene.layout.AnchorPane; +import javafx.scene.text.Font; +import javafx.scene.text.Text; +import javafx.scene.text.TextFlow; import javafx.stage.Stage; import de.dominikemmel.reflowlab.Database; import de.dominikemmel.reflowlab.MyConstants; @@ -127,6 +130,25 @@ public class AddElectrolytesController implements javafx.fxml.Initializable { @FXML private Button btnCalcQmax; + @FXML private TextFlow ActiveMaterial_TextFlow; + @FXML private TextFlow Solvent_TextFlow; + @FXML private TextFlow Salt_TextFlow; + @FXML private TextFlow cSalt_TextFlow; + @FXML private TextFlow pH_TextFlow; + @FXML private TextFlow maxSolubility_TextFlow; + @FXML private TextFlow DOx_TextFlow; + @FXML private TextFlow DRed_TextFlow; + @FXML private TextFlow kOx_TextFlow; + @FXML private TextFlow AlphaOx_TextFlow; + @FXML private TextFlow kRed_TextFlow; + @FXML private TextFlow AlphaRed_TextFlow; + @FXML private TextFlow degRate_TextFlow; + @FXML private TextFlow f_TextFlow; + @FXML private TextFlow fEloVol_TextFlow; + @FXML private TextFlow fConc_TextFlow; + @FXML private TextFlow note_TextFlow; + @FXML private TextFlow theoMaxCap_TextFlow; + String table = "electrolyte"; @Override @@ -140,7 +162,220 @@ public void run() { }); - Image img = new Image(getClass().getResourceAsStream("/de/dominikemmel/reflowlab/img/ArrowDown/1x/arrowDownmdpi.png")); + //ActiveMaterial: + Text ActiveMaterial1 = new Text("Active material"); + ActiveMaterial1.setStyle("-fx-font-weight: bold"); + Text ActiveMaterial2 = new Text(":"); + ActiveMaterial2.setStyle("-fx-font-weight: bold"); + + ActiveMaterial_TextFlow.getChildren().addAll(ActiveMaterial1,ActiveMaterial2); + + //Solvent: + Text Solvent1 = new Text("Solvent"); + Solvent1.setStyle("-fx-font-weight: bold"); + Text Solvent2 = new Text(":"); + Solvent2.setStyle("-fx-font-weight: bold"); + + Solvent_TextFlow.getChildren().addAll(Solvent1,Solvent2); + + //Salt: + Text Salt1 = new Text("Salt"); + Salt1.setStyle("-fx-font-weight: bold"); + Text Salt2 = new Text(":"); + Salt2.setStyle("-fx-font-weight: bold"); + + Salt_TextFlow.getChildren().addAll(Salt1,Salt2); + + //cSalt: + Text cSalt1 = new Text("c"); + cSalt1.setStyle("-fx-font-weight: bold; -fx-font-style: italic"); + Text cSalt2 = new Text("salt"); + cSalt2.setStyle("-fx-font-weight: bold"); + cSalt2.setTranslateY(cSalt1.getFont().getSize() * 0.3); + cSalt2.setFont(Font.font(cSalt1.getFont().getStyle(),cSalt1.getFont().getSize()*0.75)); + Text cSalt3 = new Text(" / mol L"); + cSalt3.setStyle("-fx-font-weight: bold"); + Text cSalt4 = new Text("⁻¹"); + cSalt4.setStyle("-fx-font-weight: bold"); + Text cSalt5 = new Text(":"); + cSalt5.setStyle("-fx-font-weight: bold"); + + cSalt_TextFlow.getChildren().addAll(cSalt1,cSalt2,cSalt3,cSalt4,cSalt5); + + //pH: + Text pH1 = new Text("pH"); + pH1.setStyle("-fx-font-weight: bold"); + Text pH2 = new Text(":"); + pH2.setStyle("-fx-font-weight: bold"); + + pH_TextFlow.getChildren().addAll(pH1,pH2); + + //maxSolubility: + Text maxSolubility1 = new Text("solubility"); + maxSolubility1.setStyle("-fx-font-weight: bold"); + Text maxSolubility2 = new Text(" / mol L"); + maxSolubility2.setStyle("-fx-font-weight: bold"); + Text maxSolubility3 = new Text("⁻¹"); + maxSolubility3.setStyle("-fx-font-weight: bold"); + Text maxSolubility4 = new Text(":"); + maxSolubility4.setStyle("-fx-font-weight: bold"); + + maxSolubility_TextFlow.getChildren().addAll(maxSolubility1,maxSolubility2,maxSolubility3,maxSolubility4); + + //D ox: + Text Dox1 = new Text("D ox"); + Dox1.setStyle("-fx-font-weight: bold; -fx-font-style: italic"); + Text Dox2 = new Text(" / cm"); + Dox2.setStyle("-fx-font-weight: bold"); + Text Dox3 = new Text("²"); + Dox3.setStyle("-fx-font-weight: bold"); + Text Dox4 = new Text(" s"); + Dox4.setStyle("-fx-font-weight: bold"); + Text Dox5 = new Text("⁻¹"); + Dox5.setStyle("-fx-font-weight: bold"); + Text Dox6 = new Text(":"); + Dox6.setStyle("-fx-font-weight: bold"); + + DOx_TextFlow.getChildren().addAll(Dox1,Dox2,Dox3,Dox4,Dox5,Dox6); + + //D red: + Text Dred1 = new Text("D red"); + Dred1.setStyle("-fx-font-weight: bold; -fx-font-style: italic"); + Text Dred2 = new Text(" / cm"); + Dred2.setStyle("-fx-font-weight: bold"); + Text Dred3 = new Text("²"); + Dred3.setStyle("-fx-font-weight: bold"); + Text Dred4 = new Text(" s"); + Dred4.setStyle("-fx-font-weight: bold"); + Text Dred5 = new Text("⁻¹"); + Dred5.setStyle("-fx-font-weight: bold"); + Text Dred6 = new Text(":"); + Dred6.setStyle("-fx-font-weight: bold"); + + DRed_TextFlow.getChildren().addAll(Dred1,Dred2,Dred3,Dred4,Dred5,Dred6); + + //k ox: + Text kox1 = new Text("k ox"); + kox1.setStyle("-fx-font-weight: bold; -fx-font-style: italic"); + Text kox2 = new Text(" / cm"); + kox2.setStyle("-fx-font-weight: bold"); + Text kox4 = new Text(" s"); + kox4.setStyle("-fx-font-weight: bold"); + Text kox5 = new Text("⁻¹"); + kox5.setStyle("-fx-font-weight: bold"); + Text kox6 = new Text(":"); + kox6.setStyle("-fx-font-weight: bold"); + + kOx_TextFlow.getChildren().addAll(kox1,kox2,kox4,kox5,kox6); + + //Alpha ox: + Text alphaOx1 = new Text("a ox"); + alphaOx1.setStyle("-fx-font-weight: bold; -fx-font-style: italic"); + Text alphaOx2 = new Text(":"); + alphaOx2.setStyle("-fx-font-weight: bold"); + + AlphaOx_TextFlow.getChildren().addAll(alphaOx1,alphaOx2); + + //Alpha red: + Text alphaRed1 = new Text("a red"); + alphaRed1.setStyle("-fx-font-weight: bold; -fx-font-style: italic"); + Text alphaRed2 = new Text(":"); + alphaRed2.setStyle("-fx-font-weight: bold"); + + AlphaRed_TextFlow.getChildren().addAll(alphaRed1,alphaRed2); + + //k red: + Text kred1 = new Text("k red"); + kred1.setStyle("-fx-font-weight: bold; -fx-font-style: italic"); + Text kred2 = new Text(" / cm"); + kred2.setStyle("-fx-font-weight: bold"); + Text kred4 = new Text(" s"); + kred4.setStyle("-fx-font-weight: bold"); + Text kred5 = new Text("⁻¹"); + kred5.setStyle("-fx-font-weight: bold"); + Text kred6 = new Text(":"); + kred6.setStyle("-fx-font-weight: bold"); + + kRed_TextFlow.getChildren().addAll(kred1,kred2,kred4,kred5,kred6); + + //degRate: + Text degRate1 = new Text("fade rate / % d"); + degRate1.setStyle("-fx-font-weight: bold; -fx-fill: #ffffff"); + Text degRate2 = new Text("⁻¹"); + degRate2.setStyle("-fx-font-weight: bold; -fx-fill: #ffffff"); + Text degRate3 = new Text(":"); + degRate3.setStyle("-fx-font-weight: bold; -fx-fill: #ffffff"); + + degRate_TextFlow.getChildren().addAll(degRate1, degRate2, degRate3); + + //f: + Text f1 = new Text("f "); + f1.setStyle("-fx-font-weight: bold; -fx-font-style: italic; -fx-fill: #ffffff"); + Text f2 = new Text("/ Y"); + f2.setStyle("-fx-font-weight: bold; -fx-fill: #ffffff"); + Text f3 = new Text("⁻¹"); + f3.setStyle("-fx-font-weight: bold; -fx-fill: #ffffff"); + Text f4 = new Text(":"); + f4.setStyle("-fx-font-weight: bold; -fx-fill: #ffffff"); + + f_TextFlow.getChildren().addAll(f1, f2, f3, f4); + + //fEloVol: + Text fEloVol1 = new Text("V"); + fEloVol1.setStyle("-fx-font-weight: bold; -fx-font-style: italic; -fx-fill: #ffffff"); + Text fEloVol2 = new Text("theo., max., cap."); + fEloVol2.setStyle("-fx-font-weight: bold; -fx-fill: #ffffff"); + fEloVol2.setTranslateY(fEloVol1.getFont().getSize() * 0.3); + fEloVol2.setFont(Font.font(fEloVol1.getFont().getStyle(),fEloVol1.getFont().getSize()*0.75)); + Text fEloVol3 = new Text(" / mL"); + fEloVol3.setStyle("-fx-font-weight: bold; -fx-fill: #ffffff"); + Text fEloVol4 = new Text(":"); + fEloVol4.setStyle("-fx-font-weight: bold; -fx-fill: #ffffff"); + + fEloVol_TextFlow.getChildren().addAll(fEloVol1, fEloVol2, fEloVol3, fEloVol4); + + //fConc: + Text fConc1 = new Text("c"); + fConc1.setStyle("-fx-font-weight: bold; -fx-font-style: italic; -fx-fill: #ffffff"); + Text fConc2 = new Text("theo., max., cap."); + fConc2.setStyle("-fx-font-weight: bold; -fx-fill: #ffffff"); + fConc2.setTranslateY(fConc1.getFont().getSize() * 0.3); + fConc2.setFont(Font.font(fConc1.getFont().getStyle(),fConc1.getFont().getSize()*0.75)); + Text fConc3 = new Text(" / mol L"); + fConc3.setStyle("-fx-font-weight: bold; -fx-fill: #ffffff"); + Text fConc4 = new Text("⁻¹"); + fConc4.setStyle("-fx-font-weight: bold; -fx-fill: #ffffff"); + Text fConc5 = new Text(":"); + fConc5.setStyle("-fx-font-weight: bold; -fx-fill: #ffffff"); + + fConc_TextFlow.getChildren().addAll(fConc1, fConc2, fConc3, fConc4, fConc5); + + //note: + Text note1 = new Text("note"); + note1.setStyle("-fx-font-weight: bold; -fx-fill: #ffffff"); + Text note2 = new Text(":"); + note2.setStyle("-fx-font-weight: bold; -fx-fill: #ffffff"); + + note_TextFlow.getChildren().addAll(note1, note2); + + //theoMaxCap: + Text theoMaxCap1 = new Text("q"); + theoMaxCap1.setStyle("-fx-font-weight: bold; -fx-font-style: italic; -fx-fill: #ffffff"); + Text theoMaxCap2 = new Text("max., theo."); + theoMaxCap2.setStyle("-fx-font-weight: bold; -fx-fill: #ffffff"); + theoMaxCap2.setTranslateY(theoMaxCap1.getFont().getSize() * 0.3); + Text theoMaxCap3 = new Text("/ mAh L"); + theoMaxCap3.setStyle("-fx-font-weight: bold; -fx-fill: #ffffff"); + Text theoMaxCap4 = new Text("⁻¹"); + theoMaxCap4.setStyle("-fx-font-weight: bold; -fx-fill: #ffffff"); + Text theoMaxCap5 = new Text(":"); + theoMaxCap5.setStyle("-fx-font-weight: bold; -fx-fill: #ffffff"); + + theoMaxCap_TextFlow.getChildren().addAll(theoMaxCap1, theoMaxCap2, theoMaxCap3, theoMaxCap4, theoMaxCap5); + + + + Image img = new Image(getClass().getResourceAsStream("/de/dominikemmel/reflowlab/img/ArrowDown/0.5x/Asset 2@0.5x.png")); ImageView imgViewBtnInputRefMaxSolubility = new ImageView(img); imgViewBtnInputRefMaxSolubility.setFitHeight(10); imgViewBtnInputRefMaxSolubility.setFitWidth(12); @@ -361,6 +596,14 @@ public void run() { } } }); + + + Image imgCalculator = new Image(getClass().getResourceAsStream("/de/dominikemmel/reflowlab/img/Calculator/calculator.png")); + ImageView imgViewBtnInputCalculator = new ImageView(imgCalculator); + imgViewBtnInputCalculator.setFitHeight(20); + imgViewBtnInputCalculator.setFitWidth(20); + + btnCalcQmax.setGraphic(imgViewBtnInputCalculator); } public void enableBtn(Button btn) { diff --git a/src/main/java/de/dominikemmel/reflowlab/controller/electrolytes/EditElectrolytesController.java b/src/main/java/de/dominikemmel/reflowlab/controller/electrolytes/EditElectrolytesController.java index d3b1fdf..06243a7 100644 --- a/src/main/java/de/dominikemmel/reflowlab/controller/electrolytes/EditElectrolytesController.java +++ b/src/main/java/de/dominikemmel/reflowlab/controller/electrolytes/EditElectrolytesController.java @@ -18,6 +18,9 @@ import javafx.scene.image.Image; import javafx.scene.image.ImageView; import javafx.scene.layout.AnchorPane; +import javafx.scene.text.Font; +import javafx.scene.text.Text; +import javafx.scene.text.TextFlow; import javafx.stage.Stage; import de.dominikemmel.reflowlab.Database; import de.dominikemmel.reflowlab.MyConstants; @@ -128,6 +131,25 @@ public class EditElectrolytesController implements javafx.fxml.Initializable { @FXML private Button btnInputRefF; + @FXML private TextFlow ActiveMaterial_TextFlow; + @FXML private TextFlow Solvent_TextFlow; + @FXML private TextFlow Salt_TextFlow; + @FXML private TextFlow cSalt_TextFlow; + @FXML private TextFlow pH_TextFlow; + @FXML private TextFlow maxSolubility_TextFlow; + @FXML private TextFlow DOx_TextFlow; + @FXML private TextFlow DRed_TextFlow; + @FXML private TextFlow kOx_TextFlow; + @FXML private TextFlow AlphaOx_TextFlow; + @FXML private TextFlow kRed_TextFlow; + @FXML private TextFlow AlphaRed_TextFlow; + @FXML private TextFlow degRate_TextFlow; + @FXML private TextFlow f_TextFlow; + @FXML private TextFlow fEloVol_TextFlow; + @FXML private TextFlow fConc_TextFlow; + @FXML private TextFlow note_TextFlow; + @FXML private TextFlow theoMaxCap_TextFlow; + @FXML private Button btnCalcQmax; @@ -144,7 +166,220 @@ public void run() { }); - Image img = new Image(getClass().getResourceAsStream("/de/dominikemmel/reflowlab/img/ArrowDown/1x/arrowDownmdpi.png")); + //ActiveMaterial: + Text ActiveMaterial1 = new Text("Active material"); + ActiveMaterial1.setStyle("-fx-font-weight: bold"); + Text ActiveMaterial2 = new Text(":"); + ActiveMaterial2.setStyle("-fx-font-weight: bold"); + + ActiveMaterial_TextFlow.getChildren().addAll(ActiveMaterial1,ActiveMaterial2); + + //Solvent: + Text Solvent1 = new Text("Solvent"); + Solvent1.setStyle("-fx-font-weight: bold"); + Text Solvent2 = new Text(":"); + Solvent2.setStyle("-fx-font-weight: bold"); + + Solvent_TextFlow.getChildren().addAll(Solvent1,Solvent2); + + //Salt: + Text Salt1 = new Text("Salt"); + Salt1.setStyle("-fx-font-weight: bold"); + Text Salt2 = new Text(":"); + Salt2.setStyle("-fx-font-weight: bold"); + + Salt_TextFlow.getChildren().addAll(Salt1,Salt2); + + //cSalt: + Text cSalt1 = new Text("c"); + cSalt1.setStyle("-fx-font-weight: bold; -fx-font-style: italic"); + Text cSalt2 = new Text("salt"); + cSalt2.setStyle("-fx-font-weight: bold"); + cSalt2.setTranslateY(cSalt1.getFont().getSize() * 0.3); + cSalt2.setFont(Font.font(cSalt1.getFont().getStyle(),cSalt1.getFont().getSize()*0.75)); + Text cSalt3 = new Text(" / mol L"); + cSalt3.setStyle("-fx-font-weight: bold"); + Text cSalt4 = new Text("⁻¹"); + cSalt4.setStyle("-fx-font-weight: bold"); + Text cSalt5 = new Text(":"); + cSalt5.setStyle("-fx-font-weight: bold"); + + cSalt_TextFlow.getChildren().addAll(cSalt1,cSalt2,cSalt3,cSalt4,cSalt5); + + //pH: + Text pH1 = new Text("pH"); + pH1.setStyle("-fx-font-weight: bold"); + Text pH2 = new Text(":"); + pH2.setStyle("-fx-font-weight: bold"); + + pH_TextFlow.getChildren().addAll(pH1,pH2); + + //maxSolubility: + Text maxSolubility1 = new Text("solubility"); + maxSolubility1.setStyle("-fx-font-weight: bold"); + Text maxSolubility2 = new Text(" / mol L"); + maxSolubility2.setStyle("-fx-font-weight: bold"); + Text maxSolubility3 = new Text("⁻¹"); + maxSolubility3.setStyle("-fx-font-weight: bold"); + Text maxSolubility4 = new Text(":"); + maxSolubility4.setStyle("-fx-font-weight: bold"); + + maxSolubility_TextFlow.getChildren().addAll(maxSolubility1,maxSolubility2,maxSolubility3,maxSolubility4); + + //D ox: + Text Dox1 = new Text("D ox"); + Dox1.setStyle("-fx-font-weight: bold; -fx-font-style: italic"); + Text Dox2 = new Text(" / cm"); + Dox2.setStyle("-fx-font-weight: bold"); + Text Dox3 = new Text("²"); + Dox3.setStyle("-fx-font-weight: bold"); + Text Dox4 = new Text(" s"); + Dox4.setStyle("-fx-font-weight: bold"); + Text Dox5 = new Text("⁻¹"); + Dox5.setStyle("-fx-font-weight: bold"); + Text Dox6 = new Text(":"); + Dox6.setStyle("-fx-font-weight: bold"); + + DOx_TextFlow.getChildren().addAll(Dox1,Dox2,Dox3,Dox4,Dox5,Dox6); + + //D red: + Text Dred1 = new Text("D red"); + Dred1.setStyle("-fx-font-weight: bold; -fx-font-style: italic"); + Text Dred2 = new Text(" / cm"); + Dred2.setStyle("-fx-font-weight: bold"); + Text Dred3 = new Text("²"); + Dred3.setStyle("-fx-font-weight: bold"); + Text Dred4 = new Text(" s"); + Dred4.setStyle("-fx-font-weight: bold"); + Text Dred5 = new Text("⁻¹"); + Dred5.setStyle("-fx-font-weight: bold"); + Text Dred6 = new Text(":"); + Dred6.setStyle("-fx-font-weight: bold"); + + DRed_TextFlow.getChildren().addAll(Dred1,Dred2,Dred3,Dred4,Dred5,Dred6); + + //k ox: + Text kox1 = new Text("k ox"); + kox1.setStyle("-fx-font-weight: bold; -fx-font-style: italic"); + Text kox2 = new Text(" / cm"); + kox2.setStyle("-fx-font-weight: bold"); + Text kox4 = new Text(" s"); + kox4.setStyle("-fx-font-weight: bold"); + Text kox5 = new Text("⁻¹"); + kox5.setStyle("-fx-font-weight: bold"); + Text kox6 = new Text(":"); + kox6.setStyle("-fx-font-weight: bold"); + + kOx_TextFlow.getChildren().addAll(kox1,kox2,kox4,kox5,kox6); + + //Alpha ox: + Text alphaOx1 = new Text("a ox"); + alphaOx1.setStyle("-fx-font-weight: bold; -fx-font-style: italic"); + Text alphaOx2 = new Text(":"); + alphaOx2.setStyle("-fx-font-weight: bold"); + + AlphaOx_TextFlow.getChildren().addAll(alphaOx1,alphaOx2); + + //Alpha red: + Text alphaRed1 = new Text("a red"); + alphaRed1.setStyle("-fx-font-weight: bold; -fx-font-style: italic"); + Text alphaRed2 = new Text(":"); + alphaRed2.setStyle("-fx-font-weight: bold"); + + AlphaRed_TextFlow.getChildren().addAll(alphaRed1,alphaRed2); + + //k red: + Text kred1 = new Text("k red"); + kred1.setStyle("-fx-font-weight: bold; -fx-font-style: italic"); + Text kred2 = new Text(" / cm"); + kred2.setStyle("-fx-font-weight: bold"); + Text kred4 = new Text(" s"); + kred4.setStyle("-fx-font-weight: bold"); + Text kred5 = new Text("⁻¹"); + kred5.setStyle("-fx-font-weight: bold"); + Text kred6 = new Text(":"); + kred6.setStyle("-fx-font-weight: bold"); + + kRed_TextFlow.getChildren().addAll(kred1,kred2,kred4,kred5,kred6); + + //degRate: + Text degRate1 = new Text("fade rate / % d"); + degRate1.setStyle("-fx-font-weight: bold; -fx-fill: #ffffff"); + Text degRate2 = new Text("⁻¹"); + degRate2.setStyle("-fx-font-weight: bold; -fx-fill: #ffffff"); + Text degRate3 = new Text(":"); + degRate3.setStyle("-fx-font-weight: bold; -fx-fill: #ffffff"); + + degRate_TextFlow.getChildren().addAll(degRate1, degRate2, degRate3); + + //f: + Text f1 = new Text("f "); + f1.setStyle("-fx-font-weight: bold; -fx-font-style: italic; -fx-fill: #ffffff"); + Text f2 = new Text("/ Y"); + f2.setStyle("-fx-font-weight: bold; -fx-fill: #ffffff"); + Text f3 = new Text("⁻¹"); + f3.setStyle("-fx-font-weight: bold; -fx-fill: #ffffff"); + Text f4 = new Text(":"); + f4.setStyle("-fx-font-weight: bold; -fx-fill: #ffffff"); + + f_TextFlow.getChildren().addAll(f1, f2, f3, f4); + + //fEloVol: + Text fEloVol1 = new Text("V"); + fEloVol1.setStyle("-fx-font-weight: bold; -fx-font-style: italic; -fx-fill: #ffffff"); + Text fEloVol2 = new Text("theo., max., cap."); + fEloVol2.setStyle("-fx-font-weight: bold; -fx-fill: #ffffff"); + fEloVol2.setTranslateY(fEloVol1.getFont().getSize() * 0.3); + fEloVol2.setFont(Font.font(fEloVol1.getFont().getStyle(),fEloVol1.getFont().getSize()*0.75)); + Text fEloVol3 = new Text(" / mL"); + fEloVol3.setStyle("-fx-font-weight: bold; -fx-fill: #ffffff"); + Text fEloVol4 = new Text(":"); + fEloVol4.setStyle("-fx-font-weight: bold; -fx-fill: #ffffff"); + + fEloVol_TextFlow.getChildren().addAll(fEloVol1, fEloVol2, fEloVol3, fEloVol4); + + //fConc: + Text fConc1 = new Text("c"); + fConc1.setStyle("-fx-font-weight: bold; -fx-font-style: italic; -fx-fill: #ffffff"); + Text fConc2 = new Text("theo., max., cap."); + fConc2.setStyle("-fx-font-weight: bold; -fx-fill: #ffffff"); + fConc2.setTranslateY(fConc1.getFont().getSize() * 0.3); + fConc2.setFont(Font.font(fConc1.getFont().getStyle(),fConc1.getFont().getSize()*0.75)); + Text fConc3 = new Text(" / mol L"); + fConc3.setStyle("-fx-font-weight: bold; -fx-fill: #ffffff"); + Text fConc4 = new Text("⁻¹"); + fConc4.setStyle("-fx-font-weight: bold; -fx-fill: #ffffff"); + Text fConc5 = new Text(":"); + fConc5.setStyle("-fx-font-weight: bold; -fx-fill: #ffffff"); + + fConc_TextFlow.getChildren().addAll(fConc1, fConc2, fConc3, fConc4, fConc5); + + //note: + Text note1 = new Text("note"); + note1.setStyle("-fx-font-weight: bold; -fx-fill: #ffffff"); + Text note2 = new Text(":"); + note2.setStyle("-fx-font-weight: bold; -fx-fill: #ffffff"); + + note_TextFlow.getChildren().addAll(note1, note2); + + //theoMaxCap: + Text theoMaxCap1 = new Text("q"); + theoMaxCap1.setStyle("-fx-font-weight: bold; -fx-font-style: italic; -fx-fill: #ffffff"); + Text theoMaxCap2 = new Text("max., theo."); + theoMaxCap2.setStyle("-fx-font-weight: bold; -fx-fill: #ffffff"); + theoMaxCap2.setTranslateY(theoMaxCap1.getFont().getSize() * 0.3); + Text theoMaxCap3 = new Text("/ mAh L"); + theoMaxCap3.setStyle("-fx-font-weight: bold; -fx-fill: #ffffff"); + Text theoMaxCap4 = new Text("⁻¹"); + theoMaxCap4.setStyle("-fx-font-weight: bold; -fx-fill: #ffffff"); + Text theoMaxCap5 = new Text(":"); + theoMaxCap5.setStyle("-fx-font-weight: bold; -fx-fill: #ffffff"); + + theoMaxCap_TextFlow.getChildren().addAll(theoMaxCap1, theoMaxCap2, theoMaxCap3, theoMaxCap4, theoMaxCap5); + + + + Image img = new Image(getClass().getResourceAsStream("/de/dominikemmel/reflowlab/img/ArrowDown/0.5x/Asset 2@0.5x.png")); ImageView imgViewBtnInputRefMaxSolubility = new ImageView(img); imgViewBtnInputRefMaxSolubility.setFitHeight(10); imgViewBtnInputRefMaxSolubility.setFitWidth(12); @@ -347,6 +582,14 @@ public void run() { } } }); + + + Image imgCalculator = new Image(getClass().getResourceAsStream("/de/dominikemmel/reflowlab/img/Calculator/calculator.png")); + ImageView imgViewBtnInputCalculator = new ImageView(imgCalculator); + imgViewBtnInputCalculator.setFitHeight(20); + imgViewBtnInputCalculator.setFitWidth(20); + + btnCalcQmax.setGraphic(imgViewBtnInputCalculator); } public void enableBtn(Button btn) { diff --git a/src/main/java/de/dominikemmel/reflowlab/controller/electrolytes/ElectrolytesController.java b/src/main/java/de/dominikemmel/reflowlab/controller/electrolytes/ElectrolytesController.java index 6ca7fc0..c92b6b0 100644 --- a/src/main/java/de/dominikemmel/reflowlab/controller/electrolytes/ElectrolytesController.java +++ b/src/main/java/de/dominikemmel/reflowlab/controller/electrolytes/ElectrolytesController.java @@ -259,10 +259,8 @@ private void addColumnNames() { cSalt2.setFont(Font.font(cSalt1.getFont().getStyle(),cSalt1.getFont().getSize()*0.75)); Text cSalt3 = new Text(" / mol L"); cSalt3.setStyle("-fx-font-weight: bold"); - Text cSalt4 = new Text("-1"); + Text cSalt4 = new Text("⁻¹"); cSalt4.setStyle("-fx-font-weight: bold"); - cSalt4.setTranslateY(cSalt1.getFont().getSize() * -0.3); - cSalt4.setFont(Font.font(cSalt1.getFont().getStyle(),cSalt1.getFont().getSize()*0.75)); cSalt_TextFlow.getChildren().addAll(cSalt1,cSalt2,cSalt3,cSalt4); @@ -277,10 +275,8 @@ private void addColumnNames() { maxSolubility1.setStyle("-fx-font-weight: bold"); Text maxSolubility2 = new Text(" / mol L"); maxSolubility2.setStyle("-fx-font-weight: bold"); - Text maxSolubility3 = new Text("-1"); + Text maxSolubility3 = new Text("⁻¹"); maxSolubility3.setStyle("-fx-font-weight: bold"); - maxSolubility3.setTranslateY(maxSolubility1.getFont().getSize() * -0.3); - maxSolubility3.setFont(Font.font(maxSolubility2.getFont().getStyle(),maxSolubility2.getFont().getSize()*0.75)); maxSolubility_TextFlow.getChildren().addAll(maxSolubility1,maxSolubility2,maxSolubility3); @@ -290,16 +286,12 @@ private void addColumnNames() { Dox1.setStyle("-fx-font-style: italic"); Text Dox2 = new Text(" / cm"); Dox2.setStyle("-fx-font-weight: bold"); - Text Dox3 = new Text("2"); + Text Dox3 = new Text("²"); Dox3.setStyle("-fx-font-weight: bold"); - Dox3.setTranslateY(Dox1.getFont().getSize() * -0.3); - Dox3.setFont(Font.font(Dox2.getFont().getStyle(),Dox2.getFont().getSize()*0.75)); Text Dox4 = new Text(" s"); Dox4.setStyle("-fx-font-weight: bold"); - Text Dox5 = new Text("-1"); + Text Dox5 = new Text("⁻¹"); Dox5.setStyle("-fx-font-weight: bold"); - Dox5.setTranslateY(Dox1.getFont().getSize() * -0.3); - Dox5.setFont(Font.font(Dox2.getFont().getStyle(),Dox2.getFont().getSize()*0.75)); DOx_TextFlow.getChildren().addAll(Dox1,Dox2,Dox3,Dox4,Dox5); @@ -309,16 +301,12 @@ private void addColumnNames() { Dred1.setStyle("-fx-font-style: italic"); Text Dred2 = new Text(" / cm"); Dred2.setStyle("-fx-font-weight: bold"); - Text Dred3 = new Text("2"); + Text Dred3 = new Text("²"); Dred3.setStyle("-fx-font-weight: bold"); - Dred3.setTranslateY(Dox1.getFont().getSize() * -0.3); - Dred3.setFont(Font.font(Dox2.getFont().getStyle(),Dox2.getFont().getSize()*0.75)); Text Dred4 = new Text(" s"); Dred4.setStyle("-fx-font-weight: bold"); - Text Dred5 = new Text("-1"); + Text Dred5 = new Text("⁻¹"); Dred5.setStyle("-fx-font-weight: bold"); - Dred5.setTranslateY(Dred1.getFont().getSize() * -0.3); - Dred5.setFont(Font.font(Dred2.getFont().getStyle(),Dred2.getFont().getSize()*0.75)); DRed_TextFlow.getChildren().addAll(Dred1,Dred2,Dred3,Dred4,Dred5); @@ -330,10 +318,8 @@ private void addColumnNames() { kox2.setStyle("-fx-font-weight: bold"); Text kox4 = new Text(" s"); kox4.setStyle("-fx-font-weight: bold"); - Text kox5 = new Text("-1"); + Text kox5 = new Text("⁻¹"); kox5.setStyle("-fx-font-weight: bold"); - kox5.setTranslateY(kox1.getFont().getSize() * -0.3); - kox5.setFont(Font.font(kox2.getFont().getStyle(),kox2.getFont().getSize()*0.75)); kOx_TextFlow.getChildren().addAll(kox1,kox2,kox4,kox5); @@ -361,17 +347,14 @@ private void addColumnNames() { kred4.setStyle("-fx-font-weight: bold"); Text kred5 = new Text("⁻¹"); kred5.setStyle("-fx-font-weight: bold"); -// kred5.setTranslateY(kred4.getFont().getSize() * -0.3); -// kred5.setFont(Font.font(kred4.getFont().getStyle(),kred4.getFont().getSize()*0.75)); kRed_TextFlow.getChildren().addAll(kred1,kred2,kred4,kred5); //degRate: Text degRate1 = new Text("fade rate / % d"); degRate1.setStyle("-fx-font-weight: bold"); - Text degRate2 = new Text("-1"); - degRate2.setTranslateY(degRate1.getFont().getSize() * -0.3); - degRate2.setFont(Font.font(degRate1.getFont().getStyle(),degRate1.getFont().getSize()*0.75)); + Text degRate2 = new Text("⁻¹"); + degRate2.setStyle("-fx-font-weight: bold"); degRate_TextFlow.getChildren().addAll(degRate1, degRate2); @@ -381,10 +364,8 @@ private void addColumnNames() { f1.setStyle("-fx-font-style: italic"); Text f2 = new Text("/ Y"); f2.setStyle("-fx-font-weight: bold"); - Text f3 = new Text("-1"); + Text f3 = new Text("⁻¹"); f3.setStyle("-fx-font-weight: bold"); - f3.setTranslateY(f1.getFont().getSize() * -0.3); - f3.setFont(Font.font(f1.getFont().getStyle(),f1.getFont().getSize()*0.75)); f_TextFlow.getChildren().addAll(f1, f2, f3); @@ -411,10 +392,8 @@ private void addColumnNames() { fConc2.setFont(Font.font(fConc1.getFont().getStyle(),fConc1.getFont().getSize()*0.75)); Text fConc3 = new Text(" / mol L"); fConc3.setStyle("-fx-font-weight: bold"); - Text fConc4 = new Text("-1"); + Text fConc4 = new Text("⁻¹"); fConc4.setStyle("-fx-font-weight: bold"); - fConc4.setTranslateY(fConc1.getFont().getSize() * -0.3); - fConc4.setFont(Font.font(fConc1.getFont().getStyle(),fConc1.getFont().getSize()*0.75)); fConc_TextFlow.getChildren().addAll(fConc1, fConc2, fConc3, fConc4); @@ -439,10 +418,8 @@ private void addColumnNames() { theoMaxCap2.setTranslateY(theoMaxCap1.getFont().getSize() * 0.3); Text theoMaxCap3 = new Text("/ mAh L"); theoMaxCap3.setStyle("-fx-font-weight: bold"); - Text theoMaxCap4 = new Text("-1"); + Text theoMaxCap4 = new Text("⁻¹"); theoMaxCap4.setStyle("-fx-font-weight: bold"); - theoMaxCap4.setTranslateY(theoMaxCap1.getFont().getSize() * -0.3); - theoMaxCap4.setFont(Font.font(theoMaxCap1.getFont().getStyle(),theoMaxCap1.getFont().getSize()*0.75)); theoMaxCap_TextFlow.getChildren().addAll(theoMaxCap1, theoMaxCap2, theoMaxCap3, theoMaxCap4); diff --git a/src/main/java/de/dominikemmel/reflowlab/controller/solvent/AddSolventInorgController.java b/src/main/java/de/dominikemmel/reflowlab/controller/solvent/AddSolventInorgController.java index ee501ae..83e14b6 100644 --- a/src/main/java/de/dominikemmel/reflowlab/controller/solvent/AddSolventInorgController.java +++ b/src/main/java/de/dominikemmel/reflowlab/controller/solvent/AddSolventInorgController.java @@ -14,6 +14,8 @@ import javafx.scene.image.Image; import javafx.scene.image.ImageView; import javafx.scene.layout.AnchorPane; +import javafx.scene.text.Text; +import javafx.scene.text.TextFlow; import javafx.stage.Stage; import de.dominikemmel.reflowlab.Database; import de.dominikemmel.reflowlab.VariousMethods; @@ -40,6 +42,11 @@ public class AddSolventInorgController implements javafx.fxml.Initializable { @FXML private Button btnInputRefDensity; @FXML private Button btnInputRefdynViscosity; + @FXML private TextFlow c_TextFlow; + @FXML private TextFlow density_TextFlow; + @FXML private TextFlow dynViscosity_TextFlow; + @FXML private TextFlow kinViscosity_TextFlow; + String table = "solventInorganic"; @@ -53,7 +60,61 @@ public void run() { } }); - Image img = new Image(getClass().getResourceAsStream("/de/dominikemmel/reflowlab/img/ArrowDown/1x/arrowDownmdpi.png")); + //c: + Text c1 = new Text("c"); + c1.setStyle("-fx-font-weight: bold; -fx-font-style: italic"); + Text c2 = new Text(" / mol L"); + c2.setStyle("-fx-font-weight: bold"); + Text c3 = new Text("⁻¹"); + c3.setStyle("-fx-font-weight: bold"); + Text c4 = new Text(":"); + c4.setStyle("-fx-font-weight: bold"); + + c_TextFlow.getChildren().addAll(c1,c2,c3,c4); + + + //density: + Text density1 = new Text("density"); + density1.setStyle("-fx-font-weight: bold"); + Text density2 = new Text(" / g cm"); + density2.setStyle("-fx-font-weight: bold"); + Text density3 = new Text("⁻³"); + density3.setStyle("-fx-font-weight: bold"); + Text density4 = new Text(":"); + density4.setStyle("-fx-font-weight: bold"); + + density_TextFlow.getChildren().addAll(density1,density2,density3,density4); + + + //dynViscosity + Text dynViscosity1 = new Text("dyn. viscosity"); + dynViscosity1.setStyle("-fx-font-weight: bold"); + Text dynViscosity2 = new Text(" / mPa s"); + dynViscosity2.setStyle("-fx-font-weight: bold"); + Text dynViscosity3 = new Text(":"); + dynViscosity3.setStyle("-fx-font-weight: bold"); + + dynViscosity_TextFlow.getChildren().addAll(dynViscosity1,dynViscosity2,dynViscosity3); + + + //kinViscosity + Text kinViscosity1 = new Text("kin. viscosity"); + kinViscosity1.setStyle("-fx-font-weight: bold"); + Text kinViscosity2 = new Text(" / cm"); + kinViscosity2.setStyle("-fx-font-weight: bold"); + Text kinViscosity3 = new Text("²"); + kinViscosity3.setStyle("-fx-font-weight: bold"); + Text kinViscosity4 = new Text(" s"); + kinViscosity4.setStyle("-fx-font-weight: bold"); + Text kinViscosity5 = new Text("⁻¹"); + kinViscosity5.setStyle("-fx-font-weight: bold"); + Text kinViscosity6 = new Text(":"); + kinViscosity5.setStyle("-fx-font-weight: bold"); + + kinViscosity_TextFlow.getChildren().addAll(kinViscosity1,kinViscosity2,kinViscosity3,kinViscosity4,kinViscosity5,kinViscosity6); + + + Image img = new Image(getClass().getResourceAsStream("/de/dominikemmel/reflowlab/img/ArrowDown/0.5x/Asset 2@0.5x.png")); ImageView imgViewBtnInputRefDensity = new ImageView(img); imgViewBtnInputRefDensity.setFitHeight(10); imgViewBtnInputRefDensity.setFitWidth(12); diff --git a/src/main/java/de/dominikemmel/reflowlab/controller/solvent/AddSolventOrgController.java b/src/main/java/de/dominikemmel/reflowlab/controller/solvent/AddSolventOrgController.java index 4f58462..f635c6e 100644 --- a/src/main/java/de/dominikemmel/reflowlab/controller/solvent/AddSolventOrgController.java +++ b/src/main/java/de/dominikemmel/reflowlab/controller/solvent/AddSolventOrgController.java @@ -14,6 +14,9 @@ import javafx.scene.image.Image; import javafx.scene.image.ImageView; import javafx.scene.layout.AnchorPane; +import javafx.scene.text.Font; +import javafx.scene.text.Text; +import javafx.scene.text.TextFlow; import javafx.stage.Stage; import de.dominikemmel.reflowlab.Database; import de.dominikemmel.reflowlab.VariousMethods; @@ -53,6 +56,12 @@ public class AddSolventOrgController implements javafx.fxml.Initializable { @FXML private Button btnInputRefdynViscosity; @FXML private Button btnInputRefElimitCat; + @FXML private TextFlow density_TextFlow; + @FXML private TextFlow dynViscosity_TextFlow; + @FXML private TextFlow kinViscosity_TextFlow; + @FXML private TextFlow ElimitCat_TextFlow; + @FXML private TextFlow ElimitAn_TextFlow; + String table = "solventOrganic"; @@ -66,7 +75,80 @@ public void run() { } }); - Image img = new Image(getClass().getResourceAsStream("/de/dominikemmel/reflowlab/img/ArrowDown/1x/arrowDownmdpi.png")); + //density: + Text density1 = new Text("density"); + density1.setStyle("-fx-font-weight: bold"); + Text density2 = new Text(" / g cm"); + density2.setStyle("-fx-font-weight: bold"); + Text density3 = new Text("⁻³"); + density3.setStyle("-fx-font-weight: bold"); + Text density4 = new Text(":"); + density4.setStyle("-fx-font-weight: bold"); + + density_TextFlow.getChildren().addAll(density1,density2,density3,density4); + + + //dynViscosity + Text dynViscosity1 = new Text("dyn. viscosity"); + dynViscosity1.setStyle("-fx-font-weight: bold"); + Text dynViscosity2 = new Text(" / mPa s"); + dynViscosity2.setStyle("-fx-font-weight: bold"); + Text dynViscosity3 = new Text(":"); + dynViscosity3.setStyle("-fx-font-weight: bold"); + + dynViscosity_TextFlow.getChildren().addAll(dynViscosity1,dynViscosity2,dynViscosity3); + + + //kinViscosity + Text kinViscosity1 = new Text("kin. viscosity"); + kinViscosity1.setStyle("-fx-font-weight: bold"); + Text kinViscosity2 = new Text(" / cm"); + kinViscosity2.setStyle("-fx-font-weight: bold"); + Text kinViscosity3 = new Text("²"); + kinViscosity3.setStyle("-fx-font-weight: bold"); + Text kinViscosity4 = new Text(" s"); + kinViscosity4.setStyle("-fx-font-weight: bold"); + Text kinViscosity5 = new Text("⁻¹"); + kinViscosity5.setStyle("-fx-font-weight: bold"); + Text kinViscosity6 = new Text(":"); + kinViscosity6.setStyle("-fx-font-weight: bold"); + + kinViscosity_TextFlow.getChildren().addAll(kinViscosity1,kinViscosity2,kinViscosity3,kinViscosity4,kinViscosity5,kinViscosity6); + + + + //ElimitCat + Text ElimitCat1 = new Text("E"); + ElimitCat1.setStyle("-fx-font-weight: bold; -fx-font-style: italic"); + Text ElimitCat2 = new Text("limit"); + ElimitCat2.setStyle("-fx-font-weight: bold"); + ElimitCat2.setTranslateY(ElimitCat1.getFont().getSize() * 0.3); + ElimitCat2.setFont(Font.font(ElimitCat1.getFont().getStyle(),ElimitCat1.getFont().getSize()*0.75)); + Text ElimitCat3 = new Text(" (cathodic) / V"); + ElimitCat3.setStyle("-fx-font-weight: bold"); + Text ElimitCat4 = new Text(":"); + ElimitCat4.setStyle("-fx-font-weight: bold"); + + ElimitCat_TextFlow.getChildren().addAll(ElimitCat1,ElimitCat2,ElimitCat3,ElimitCat4); + + + + //ElimitAn + Text ElimitAn1 = new Text("E"); + ElimitAn1.setStyle("-fx-font-weight: bold; -fx-font-style: italic"); + Text ElimitAn2 = new Text("limit"); + ElimitAn2.setStyle("-fx-font-weight: bold"); + ElimitAn2.setTranslateY(ElimitAn1.getFont().getSize() * 0.3); + ElimitAn2.setFont(Font.font(ElimitAn1.getFont().getStyle(),ElimitAn1.getFont().getSize()*0.75)); + Text ElimitAn3 = new Text(" (anodic) / V"); + ElimitAn3.setStyle("-fx-font-weight: bold"); + Text ElimitAn4 = new Text(":"); + ElimitAn4.setStyle("-fx-font-weight: bold"); + + ElimitAn_TextFlow.getChildren().addAll(ElimitAn1,ElimitAn2,ElimitAn3,ElimitAn4); + + + Image img = new Image(getClass().getResourceAsStream("/de/dominikemmel/reflowlab/img/ArrowDown/0.5x/Asset 2@0.5x.png")); ImageView imgViewBtnInputRefDensity = new ImageView(img); imgViewBtnInputRefDensity.setFitHeight(10); imgViewBtnInputRefDensity.setFitWidth(12); diff --git a/src/main/java/de/dominikemmel/reflowlab/controller/solvent/EditSolventInorgController.java b/src/main/java/de/dominikemmel/reflowlab/controller/solvent/EditSolventInorgController.java index 340aad1..5884a20 100644 --- a/src/main/java/de/dominikemmel/reflowlab/controller/solvent/EditSolventInorgController.java +++ b/src/main/java/de/dominikemmel/reflowlab/controller/solvent/EditSolventInorgController.java @@ -14,6 +14,9 @@ import javafx.scene.image.Image; import javafx.scene.image.ImageView; import javafx.scene.layout.AnchorPane; +import javafx.scene.text.Font; +import javafx.scene.text.Text; +import javafx.scene.text.TextFlow; import javafx.stage.Stage; import de.dominikemmel.reflowlab.Database; import de.dominikemmel.reflowlab.VariousMethods; @@ -45,6 +48,11 @@ public class EditSolventInorgController implements javafx.fxml.Initializable { @FXML private Button btnInputRefDensity; @FXML private Button btnInputRefdynViscosity; + @FXML private TextFlow c_TextFlow; + @FXML private TextFlow density_TextFlow; + @FXML private TextFlow dynViscosity_TextFlow; + @FXML private TextFlow kinViscosity_TextFlow; + String table = "solventInorganic"; private ObjInorganicSolvent selection = new ObjInorganicSolvent(); @@ -59,7 +67,61 @@ public void run() { } }); - Image img = new Image(getClass().getResourceAsStream("/de/dominikemmel/reflowlab/img/ArrowDown/1x/arrowDownmdpi.png")); + //c: + Text c1 = new Text("c"); + c1.setStyle("-fx-font-weight: bold; -fx-font-style: italic"); + Text c2 = new Text(" / mol L"); + c2.setStyle("-fx-font-weight: bold"); + Text c3 = new Text("⁻¹"); + c3.setStyle("-fx-font-weight: bold"); + Text c4 = new Text(":"); + c4.setStyle("-fx-font-weight: bold"); + + c_TextFlow.getChildren().addAll(c1,c2,c3,c4); + + + //density: + Text density1 = new Text("density"); + density1.setStyle("-fx-font-weight: bold"); + Text density2 = new Text(" / g cm"); + density2.setStyle("-fx-font-weight: bold"); + Text density3 = new Text("⁻³"); + density3.setStyle("-fx-font-weight: bold"); + Text density4 = new Text(":"); + density4.setStyle("-fx-font-weight: bold"); + + density_TextFlow.getChildren().addAll(density1,density2,density3,density4); + + + //dynViscosity + Text dynViscosity1 = new Text("dyn. viscosity"); + dynViscosity1.setStyle("-fx-font-weight: bold"); + Text dynViscosity2 = new Text(" / mPa s"); + dynViscosity2.setStyle("-fx-font-weight: bold"); + Text dynViscosity3 = new Text(":"); + dynViscosity3.setStyle("-fx-font-weight: bold"); + + dynViscosity_TextFlow.getChildren().addAll(dynViscosity1,dynViscosity2,dynViscosity3); + + + //kinViscosity + Text kinViscosity1 = new Text("kin. viscosity"); + kinViscosity1.setStyle("-fx-font-weight: bold"); + Text kinViscosity2 = new Text(" / cm"); + kinViscosity2.setStyle("-fx-font-weight: bold"); + Text kinViscosity3 = new Text("²"); + kinViscosity3.setStyle("-fx-font-weight: bold"); + Text kinViscosity4 = new Text(" s"); + kinViscosity4.setStyle("-fx-font-weight: bold"); + Text kinViscosity5 = new Text("⁻¹"); + kinViscosity5.setStyle("-fx-font-weight: bold"); + Text kinViscosity6 = new Text(":"); + kinViscosity5.setStyle("-fx-font-weight: bold"); + + kinViscosity_TextFlow.getChildren().addAll(kinViscosity1,kinViscosity2,kinViscosity3,kinViscosity4,kinViscosity5,kinViscosity6); + + + Image img = new Image(getClass().getResourceAsStream("/de/dominikemmel/reflowlab/img/ArrowDown/0.5x/Asset 2@0.5x.png")); ImageView imgViewBtnInputRefDensity = new ImageView(img); imgViewBtnInputRefDensity.setFitHeight(10); imgViewBtnInputRefDensity.setFitWidth(12); diff --git a/src/main/java/de/dominikemmel/reflowlab/controller/solvent/EditSolventOrgController.java b/src/main/java/de/dominikemmel/reflowlab/controller/solvent/EditSolventOrgController.java index 30f763f..909e583 100644 --- a/src/main/java/de/dominikemmel/reflowlab/controller/solvent/EditSolventOrgController.java +++ b/src/main/java/de/dominikemmel/reflowlab/controller/solvent/EditSolventOrgController.java @@ -14,6 +14,9 @@ import javafx.scene.image.Image; import javafx.scene.image.ImageView; import javafx.scene.layout.AnchorPane; +import javafx.scene.text.Font; +import javafx.scene.text.Text; +import javafx.scene.text.TextFlow; import javafx.stage.Stage; import de.dominikemmel.reflowlab.Database; import de.dominikemmel.reflowlab.VariousMethods; @@ -54,6 +57,12 @@ public class EditSolventOrgController implements javafx.fxml.Initializable { @FXML private Button btnInputRefdynViscosity; @FXML private Button btnInputRefElimitCat; + @FXML private TextFlow density_TextFlow; + @FXML private TextFlow dynViscosity_TextFlow; + @FXML private TextFlow kinViscosity_TextFlow; + @FXML private TextFlow ElimitCat_TextFlow; + @FXML private TextFlow ElimitAn_TextFlow; + String table = "solventOrganic"; private ObjOrganicSolvent selection = new ObjOrganicSolvent(); @@ -67,8 +76,81 @@ public void run() { inputSolvent.requestFocus(); } }); + + //density: + Text density1 = new Text("density"); + density1.setStyle("-fx-font-weight: bold"); + Text density2 = new Text(" / g cm"); + density2.setStyle("-fx-font-weight: bold"); + Text density3 = new Text("⁻³"); + density3.setStyle("-fx-font-weight: bold"); + Text density4 = new Text(":"); + density4.setStyle("-fx-font-weight: bold"); + + density_TextFlow.getChildren().addAll(density1,density2,density3,density4); + + + //dynViscosity + Text dynViscosity1 = new Text("dyn. viscosity"); + dynViscosity1.setStyle("-fx-font-weight: bold"); + Text dynViscosity2 = new Text(" / mPa s"); + dynViscosity2.setStyle("-fx-font-weight: bold"); + Text dynViscosity3 = new Text(":"); + dynViscosity3.setStyle("-fx-font-weight: bold"); + + dynViscosity_TextFlow.getChildren().addAll(dynViscosity1,dynViscosity2,dynViscosity3); + + + //kinViscosity + Text kinViscosity1 = new Text("kin. viscosity"); + kinViscosity1.setStyle("-fx-font-weight: bold"); + Text kinViscosity2 = new Text(" / cm"); + kinViscosity2.setStyle("-fx-font-weight: bold"); + Text kinViscosity3 = new Text("²"); + kinViscosity3.setStyle("-fx-font-weight: bold"); + Text kinViscosity4 = new Text(" s"); + kinViscosity4.setStyle("-fx-font-weight: bold"); + Text kinViscosity5 = new Text("⁻¹"); + kinViscosity5.setStyle("-fx-font-weight: bold"); + Text kinViscosity6 = new Text(":"); + kinViscosity6.setStyle("-fx-font-weight: bold"); + + kinViscosity_TextFlow.getChildren().addAll(kinViscosity1,kinViscosity2,kinViscosity3,kinViscosity4,kinViscosity5,kinViscosity6); + + + + //ElimitCat + Text ElimitCat1 = new Text("E"); + ElimitCat1.setStyle("-fx-font-weight: bold; -fx-font-style: italic"); + Text ElimitCat2 = new Text("limit"); + ElimitCat2.setStyle("-fx-font-weight: bold"); + ElimitCat2.setTranslateY(ElimitCat1.getFont().getSize() * 0.3); + ElimitCat2.setFont(Font.font(ElimitCat1.getFont().getStyle(),ElimitCat1.getFont().getSize()*0.75)); + Text ElimitCat3 = new Text(" (cathodic) / V"); + ElimitCat3.setStyle("-fx-font-weight: bold"); + Text ElimitCat4 = new Text(":"); + ElimitCat4.setStyle("-fx-font-weight: bold"); + + ElimitCat_TextFlow.getChildren().addAll(ElimitCat1,ElimitCat2,ElimitCat3,ElimitCat4); + + + + //ElimitAn + Text ElimitAn1 = new Text("E"); + ElimitAn1.setStyle("-fx-font-weight: bold; -fx-font-style: italic"); + Text ElimitAn2 = new Text("limit"); + ElimitAn2.setStyle("-fx-font-weight: bold"); + ElimitAn2.setTranslateY(ElimitAn1.getFont().getSize() * 0.3); + ElimitAn2.setFont(Font.font(ElimitAn1.getFont().getStyle(),ElimitAn1.getFont().getSize()*0.75)); + Text ElimitAn3 = new Text(" (anodic) / V"); + ElimitAn3.setStyle("-fx-font-weight: bold"); + Text ElimitAn4 = new Text(":"); + ElimitAn4.setStyle("-fx-font-weight: bold"); + + ElimitAn_TextFlow.getChildren().addAll(ElimitAn1,ElimitAn2,ElimitAn3,ElimitAn4); + - Image img = new Image(getClass().getResourceAsStream("/de/dominikemmel/reflowlab/img/ArrowDown/1x/arrowDownmdpi.png")); + Image img = new Image(getClass().getResourceAsStream("/de/dominikemmel/reflowlab/img/ArrowDown/0.5x/Asset 2@0.5x.png")); ImageView imgViewBtnInputRefDensity = new ImageView(img); imgViewBtnInputRefDensity.setFitHeight(10); imgViewBtnInputRefDensity.setFitWidth(12); diff --git a/src/main/java/de/dominikemmel/reflowlab/controller/solvent/SolventInorgController.java b/src/main/java/de/dominikemmel/reflowlab/controller/solvent/SolventInorgController.java index 254a12f..7c6451a 100644 --- a/src/main/java/de/dominikemmel/reflowlab/controller/solvent/SolventInorgController.java +++ b/src/main/java/de/dominikemmel/reflowlab/controller/solvent/SolventInorgController.java @@ -96,10 +96,8 @@ private void addColumnNames() { c1.setStyle("-fx-font-style: italic"); Text c2 = new Text(" / mol L"); c2.setStyle("-fx-font-weight: bold"); - Text c3 = new Text("-1"); + Text c3 = new Text("⁻¹"); c3.setStyle("-fx-font-weight: bold"); - c3.setTranslateY(c1.getFont().getSize() * -0.3); - c3.setFont(Font.font(c2.getFont().getStyle(),c2.getFont().getSize()*0.75)); c_TextFlow.getChildren().addAll(c1,c2,c3); @@ -109,10 +107,8 @@ private void addColumnNames() { density1.setStyle("-fx-font-weight: bold"); Text density2 = new Text(" / g cm"); density2.setStyle("-fx-font-weight: bold"); - Text density3 = new Text("-3"); + Text density3 = new Text("⁻³"); density3.setStyle("-fx-font-weight: bold"); - density3.setTranslateY(density1.getFont().getSize() * -0.3); - density3.setFont(Font.font(density2.getFont().getStyle(),density2.getFont().getSize()*0.75)); density_TextFlow.getChildren().addAll(density1,density2,density3); @@ -131,16 +127,12 @@ private void addColumnNames() { kinViscosity1.setStyle("-fx-font-weight: bold"); Text kinViscosity2 = new Text(" / cm"); kinViscosity2.setStyle("-fx-font-weight: bold"); - Text kinViscosity3 = new Text("2"); + Text kinViscosity3 = new Text("²"); kinViscosity3.setStyle("-fx-font-weight: bold"); - kinViscosity3.setTranslateY(kinViscosity1.getFont().getSize() * -0.3); - kinViscosity3.setFont(Font.font(kinViscosity2.getFont().getStyle(),kinViscosity2.getFont().getSize()*0.75)); Text kinViscosity4 = new Text(" s"); kinViscosity4.setStyle("-fx-font-weight: bold"); - Text kinViscosity5 = new Text("-1"); + Text kinViscosity5 = new Text("⁻¹"); kinViscosity5.setStyle("-fx-font-weight: bold"); - kinViscosity5.setTranslateY(kinViscosity1.getFont().getSize() * -0.3); - kinViscosity5.setFont(Font.font(kinViscosity2.getFont().getStyle(),kinViscosity2.getFont().getSize()*0.75)); kinViscosity_TextFlow.getChildren().addAll(kinViscosity1,kinViscosity2,kinViscosity3,kinViscosity4,kinViscosity5); diff --git a/src/main/java/de/dominikemmel/reflowlab/controller/solvent/SolventOrgController.java b/src/main/java/de/dominikemmel/reflowlab/controller/solvent/SolventOrgController.java index 44d6cf4..c82911b 100644 --- a/src/main/java/de/dominikemmel/reflowlab/controller/solvent/SolventOrgController.java +++ b/src/main/java/de/dominikemmel/reflowlab/controller/solvent/SolventOrgController.java @@ -110,10 +110,8 @@ private void addColumnNames() { density1.setStyle("-fx-font-weight: bold"); Text density2 = new Text(" / g cm"); density2.setStyle("-fx-font-weight: bold"); - Text density3 = new Text("-3"); + Text density3 = new Text("⁻³"); density3.setStyle("-fx-font-weight: bold"); - density3.setTranslateY(density1.getFont().getSize() * -0.3); - density3.setFont(Font.font(density2.getFont().getStyle(),density2.getFont().getSize()*0.75)); density_TextFlow.getChildren().addAll(density1,density2,density3); @@ -132,16 +130,12 @@ private void addColumnNames() { kinViscosity1.setStyle("-fx-font-weight: bold"); Text kinViscosity2 = new Text(" / cm"); kinViscosity2.setStyle("-fx-font-weight: bold"); - Text kinViscosity3 = new Text("2"); + Text kinViscosity3 = new Text("²"); kinViscosity3.setStyle("-fx-font-weight: bold"); - kinViscosity3.setTranslateY(kinViscosity1.getFont().getSize() * -0.3); - kinViscosity3.setFont(Font.font(kinViscosity2.getFont().getStyle(),kinViscosity2.getFont().getSize()*0.75)); Text kinViscosity4 = new Text(" s"); kinViscosity4.setStyle("-fx-font-weight: bold"); - Text kinViscosity5 = new Text("-1"); + Text kinViscosity5 = new Text("⁻¹"); kinViscosity5.setStyle("-fx-font-weight: bold"); - kinViscosity5.setTranslateY(kinViscosity1.getFont().getSize() * -0.3); - kinViscosity5.setFont(Font.font(kinViscosity2.getFont().getStyle(),kinViscosity2.getFont().getSize()*0.75)); kinViscosity_TextFlow.getChildren().addAll(kinViscosity1,kinViscosity2,kinViscosity3,kinViscosity4,kinViscosity5); diff --git a/src/main/resources/de/dominikemmel/reflowlab/controller/activematerials/fxml/addActiveMaterial.fxml b/src/main/resources/de/dominikemmel/reflowlab/controller/activematerials/fxml/addActiveMaterial.fxml index 91aeb99..e35f614 100644 --- a/src/main/resources/de/dominikemmel/reflowlab/controller/activematerials/fxml/addActiveMaterial.fxml +++ b/src/main/resources/de/dominikemmel/reflowlab/controller/activematerials/fxml/addActiveMaterial.fxml @@ -10,6 +10,8 @@ + + @@ -35,22 +37,103 @@
- + diff --git a/src/main/resources/de/dominikemmel/reflowlab/controller/activematerials/fxml/editActiveMaterial.fxml b/src/main/resources/de/dominikemmel/reflowlab/controller/activematerials/fxml/editActiveMaterial.fxml index f5bfe5d..581d88d 100644 --- a/src/main/resources/de/dominikemmel/reflowlab/controller/activematerials/fxml/editActiveMaterial.fxml +++ b/src/main/resources/de/dominikemmel/reflowlab/controller/activematerials/fxml/editActiveMaterial.fxml @@ -10,6 +10,8 @@ + + @@ -37,22 +39,103 @@
- + diff --git a/src/main/resources/de/dominikemmel/reflowlab/controller/costs/fxml/addCostsSalt.fxml b/src/main/resources/de/dominikemmel/reflowlab/controller/costs/fxml/addCostsSalt.fxml index d4e418b..ea70f39 100644 --- a/src/main/resources/de/dominikemmel/reflowlab/controller/costs/fxml/addCostsSalt.fxml +++ b/src/main/resources/de/dominikemmel/reflowlab/controller/costs/fxml/addCostsSalt.fxml @@ -10,8 +10,10 @@ + + - + @@ -35,12 +37,29 @@
- + @@ -51,7 +70,7 @@ diff --git a/src/main/resources/de/dominikemmel/reflowlab/controller/costs/fxml/addCostsSolvent.fxml b/src/main/resources/de/dominikemmel/reflowlab/controller/costs/fxml/addCostsSolvent.fxml index 8f19fbd..361c5d8 100644 --- a/src/main/resources/de/dominikemmel/reflowlab/controller/costs/fxml/addCostsSolvent.fxml +++ b/src/main/resources/de/dominikemmel/reflowlab/controller/costs/fxml/addCostsSolvent.fxml @@ -10,8 +10,10 @@ + + - + @@ -35,12 +37,29 @@
- + @@ -51,7 +70,7 @@ diff --git a/src/main/resources/de/dominikemmel/reflowlab/controller/costs/fxml/addSeparatorParameter.fxml b/src/main/resources/de/dominikemmel/reflowlab/controller/costs/fxml/addSeparatorParameter.fxml index a0504f3..c7fb24e 100644 --- a/src/main/resources/de/dominikemmel/reflowlab/controller/costs/fxml/addSeparatorParameter.fxml +++ b/src/main/resources/de/dominikemmel/reflowlab/controller/costs/fxml/addSeparatorParameter.fxml @@ -10,12 +10,14 @@ + + - + - + @@ -35,11 +37,21 @@
- + @@ -49,7 +61,7 @@ diff --git a/src/main/resources/de/dominikemmel/reflowlab/controller/costs/fxml/editCostsSalt.fxml b/src/main/resources/de/dominikemmel/reflowlab/controller/costs/fxml/editCostsSalt.fxml index 6386b17..7017b11 100644 --- a/src/main/resources/de/dominikemmel/reflowlab/controller/costs/fxml/editCostsSalt.fxml +++ b/src/main/resources/de/dominikemmel/reflowlab/controller/costs/fxml/editCostsSalt.fxml @@ -10,8 +10,10 @@ + + - + @@ -37,12 +39,29 @@
- + @@ -53,7 +72,7 @@ diff --git a/src/main/resources/de/dominikemmel/reflowlab/controller/costs/fxml/editCostsSolvent.fxml b/src/main/resources/de/dominikemmel/reflowlab/controller/costs/fxml/editCostsSolvent.fxml index 5b9a11f..f2b3121 100644 --- a/src/main/resources/de/dominikemmel/reflowlab/controller/costs/fxml/editCostsSolvent.fxml +++ b/src/main/resources/de/dominikemmel/reflowlab/controller/costs/fxml/editCostsSolvent.fxml @@ -10,8 +10,10 @@ + + - + @@ -40,9 +42,26 @@ @@ -53,7 +72,7 @@ diff --git a/src/main/resources/de/dominikemmel/reflowlab/controller/costs/fxml/editSeparatorParameter.fxml b/src/main/resources/de/dominikemmel/reflowlab/controller/costs/fxml/editSeparatorParameter.fxml index aecbe85..30846d7 100644 --- a/src/main/resources/de/dominikemmel/reflowlab/controller/costs/fxml/editSeparatorParameter.fxml +++ b/src/main/resources/de/dominikemmel/reflowlab/controller/costs/fxml/editSeparatorParameter.fxml @@ -10,12 +10,14 @@ + + - + - + @@ -37,11 +39,21 @@
- + @@ -51,7 +63,7 @@ diff --git a/src/main/resources/de/dominikemmel/reflowlab/controller/electrolytes/fxml/addElectrolytes.fxml b/src/main/resources/de/dominikemmel/reflowlab/controller/electrolytes/fxml/addElectrolytes.fxml index a858650..3bf6a68 100644 --- a/src/main/resources/de/dominikemmel/reflowlab/controller/electrolytes/fxml/addElectrolytes.fxml +++ b/src/main/resources/de/dominikemmel/reflowlab/controller/electrolytes/fxml/addElectrolytes.fxml @@ -12,10 +12,12 @@ + + - + @@ -25,8 +27,8 @@ - - diff --git a/src/main/resources/de/dominikemmel/reflowlab/controller/solvent/fxml/addSolventInorg.fxml b/src/main/resources/de/dominikemmel/reflowlab/controller/solvent/fxml/addSolventInorg.fxml index e4f5a35..27591db 100644 --- a/src/main/resources/de/dominikemmel/reflowlab/controller/solvent/fxml/addSolventInorg.fxml +++ b/src/main/resources/de/dominikemmel/reflowlab/controller/solvent/fxml/addSolventInorg.fxml @@ -10,8 +10,10 @@ + + - + @@ -35,14 +37,45 @@
- + diff --git a/src/main/resources/de/dominikemmel/reflowlab/controller/solvent/fxml/addSolventOrg.fxml b/src/main/resources/de/dominikemmel/reflowlab/controller/solvent/fxml/addSolventOrg.fxml index 2ca511b..a1853f5 100644 --- a/src/main/resources/de/dominikemmel/reflowlab/controller/solvent/fxml/addSolventOrg.fxml +++ b/src/main/resources/de/dominikemmel/reflowlab/controller/solvent/fxml/addSolventOrg.fxml @@ -10,8 +10,10 @@ + + - + @@ -35,16 +37,57 @@
- + diff --git a/src/main/resources/de/dominikemmel/reflowlab/controller/solvent/fxml/editSolventInorg.fxml b/src/main/resources/de/dominikemmel/reflowlab/controller/solvent/fxml/editSolventInorg.fxml index 85ec820..e976ced 100644 --- a/src/main/resources/de/dominikemmel/reflowlab/controller/solvent/fxml/editSolventInorg.fxml +++ b/src/main/resources/de/dominikemmel/reflowlab/controller/solvent/fxml/editSolventInorg.fxml @@ -10,8 +10,10 @@ + + - + @@ -37,14 +39,45 @@
- + diff --git a/src/main/resources/de/dominikemmel/reflowlab/controller/solvent/fxml/editSolventOrg.fxml b/src/main/resources/de/dominikemmel/reflowlab/controller/solvent/fxml/editSolventOrg.fxml index 225e0e8..02a892a 100644 --- a/src/main/resources/de/dominikemmel/reflowlab/controller/solvent/fxml/editSolventOrg.fxml +++ b/src/main/resources/de/dominikemmel/reflowlab/controller/solvent/fxml/editSolventOrg.fxml @@ -10,10 +10,12 @@ + + - + - + @@ -37,16 +39,57 @@
- + diff --git a/src/main/resources/de/dominikemmel/reflowlab/img/ArrowDown/0.5x/Asset 2@0.5x.png b/src/main/resources/de/dominikemmel/reflowlab/img/ArrowDown/0.5x/Asset 2@0.5x.png new file mode 100644 index 0000000000000000000000000000000000000000..5a1205fa9b601ef880c32b0e65dc87a9d2e65a9e GIT binary patch literal 423 zcmeAS@N?(olHy`uVBq!ia0vp^;vhB$8<2EL{~8OVI14-?iy0VLJ3*K+H)HNE1_s7R zPZ!4!i{7L;cP=L%IB>wAv9VE6Vfl_9%*?F`Uit5t*x1^bEsq}M2I^<{|39foDu-Wa z!K8y9d3bnOftUv(&Lk-Z)LbyJvC&ap%X8&Hh0QV&KmgVB=l_3u4=09KMYTZFT7jl< zrbzvn(Aap8L1quah@Ep7PchzP+hjUVL|#GikD%&3xCu*sPz3h{rd08yOft z3~rM4Tg4h&Rqe>hxcnfJW7;jndKXwQXihsW#txGH^YaH!T0%ksM3+;cs9 qVpVXMf@H7Kse(-m%*@PSEzArz0vp4huTBXBneOT8=d#Wzp$Pz1dW(zz literal 0 HcmV?d00001 diff --git a/src/main/resources/de/dominikemmel/reflowlab/img/ArrowDown/1.5x/Asset 2@1.5x.png b/src/main/resources/de/dominikemmel/reflowlab/img/ArrowDown/1.5x/Asset 2@1.5x.png new file mode 100644 index 0000000000000000000000000000000000000000..35eb3c97744c939657f54023d15cb53d5b664984 GIT binary patch literal 1063 zcmeAS@N?(olHy`uVBq!ia0vp^&Oofn!3HEH(?d*v6lZ})WHAGSz-$m^Ea{x%&A`BX z)6>N+rpBV0nOKjpXE+=9vbNlx4x0vFN~5-bdsZVzwhd$(A+ zVHwAlh6ErmfEbX}w2Y<1K!-WSD_?(wM?)%a2+%N?*=>hCI0P~r&Ky^qJ0m#e4@}22 zUPc}s9{G(LOza%JcRh<8TpV;jMnbhMq+@CZnpVsuha;3{NA z(){QDe|x)T-UVAZs}A$9h&>Y#Z`P4BNdS6DgX#O@0)e{kMsOo$86_lWEEUK&l6yeW z*WwY}ZHJ^K6bwX|TC_B0G&VwlPf0>Tfq{1dlgyovS;wT5|7Nz=d~!GMLsH_H-khLR;v zOo6#2?W!$Y*~&8q9vSSKrpUsSl(o91|ilLvPgbjl$FrHFpq&z zw8n+?gacBfE~)}bs4^M_FdhV^X-EJq@&t-mG8#=l7RzGn;(eeQ;^@qzaK4c{l!=is zXtl#-O@D;zBY`du3gXDP#UJi)q3+#uSQIU)1WGVzvP@C>Q+VQFFuyM&EF2d_Co~+G zaxZSe^0%EKe%Bj-VVD4QLZz7_^MXE+ZI!Vl4&RX_vJ)IW+pg=(laQEzEL?s{K}3OB z4B5-sGaGppglet`aE<#EV1VpFsSO7tN*ZA9V`gw>EpR+=i0?AUZckS~mvv4FO#tA% BWjFu; literal 0 HcmV?d00001 diff --git a/src/main/resources/de/dominikemmel/reflowlab/img/ArrowDown/1x/Asset 2.png b/src/main/resources/de/dominikemmel/reflowlab/img/ArrowDown/1x/Asset 2.png new file mode 100644 index 0000000000000000000000000000000000000000..9fb00d0da2940568b5138eee9a6ae4b9bdf965a5 GIT binary patch literal 748 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