From fac95bfae49fc8130a0dc5d3cdf33857e5839755 Mon Sep 17 00:00:00 2001
From: Lahtinen Konsta Aleksi <konsta.a.lahtinen@student.jyu.fi>
Date: Thu, 20 Feb 2025 15:41:44 +0200
Subject: [PATCH] uudempi versio jar:ista

---
 DynamicComboBox/DynamicComboBox.jar           | Bin 216389 -> 216535 bytes
 Ohj2HT/src/Luokat/Saalis.java                 |  10 +++--
 Ohj2HT/src/fxKaljoja/KalojaGUIController.java |  26 ++++++------
 .../LisaaReissuGUIController.java             |  37 ++++++++++++++----
 .../src/fxLisaaReissu/LisaaReissuGUIView.fxml |   2 +-
 5 files changed, 50 insertions(+), 25 deletions(-)

diff --git a/DynamicComboBox/DynamicComboBox.jar b/DynamicComboBox/DynamicComboBox.jar
index 80f7a498589c2d34bc9d2952f7e7c8f42155bf86..f1697663bb7c8733a6693bafbc899cfe78f83193 100644
GIT binary patch
delta 6193
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

delta 5899
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
F{SPISEgt{?

diff --git a/Ohj2HT/src/Luokat/Saalis.java b/Ohj2HT/src/Luokat/Saalis.java
index c6f45c8..ca953b6 100644
--- a/Ohj2HT/src/Luokat/Saalis.java
+++ b/Ohj2HT/src/Luokat/Saalis.java
@@ -4,7 +4,7 @@ public class Saalis {
     private static int saaliinId = 0;
     private final String koko;
     private final String laji;
-    private final int reissunTagi;
+    private int reissunTagi;
 
     /**
      * muodostin merkkijono taulukosta, tarvitaan saaliin muodostamiseen tiedostosta
@@ -28,15 +28,17 @@ public class Saalis {
      * muodostin suoraan arvoista
      * @param koko saaliin koko
      * @param laji saaliin laji
-     * @param reissunTagi millä reissulla saatu
      */
-    public Saalis(String koko, String laji, int reissunTagi) {
+    public Saalis(String koko, String laji) {
         this.koko = koko;
         this.laji = laji;
-        this.reissunTagi = reissunTagi;
         saaliinId++;
     }
 
+    public void setReissunTagi(int reissunTagi) {
+        this.reissunTagi = reissunTagi;
+    }
+
     /**
      * Tarvittavat getterit jokanen tekee sen mitä nimi sanoo
      * @return jonkin attribuuttinsa
diff --git a/Ohj2HT/src/fxKaljoja/KalojaGUIController.java b/Ohj2HT/src/fxKaljoja/KalojaGUIController.java
index d6b13cf..093dc38 100644
--- a/Ohj2HT/src/fxKaljoja/KalojaGUIController.java
+++ b/Ohj2HT/src/fxKaljoja/KalojaGUIController.java
@@ -2,13 +2,17 @@ package fxKaljoja;
 
 import DynamicComboBox.DynamicComboBox;
 import fi.jyu.mit.fxgui.Dialogs;
+import fi.jyu.mit.fxgui.ModalController;
 import fi.jyu.mit.fxgui.ModalControllerInterface;
+import fxLisaaReissu.LisaaReissuGUIController;
 import javafx.collections.FXCollections;
 import javafx.fxml.FXML;
 import javafx.fxml.Initializable;
 import javafx.scene.control.*;
 
 import java.net.URL;
+import java.util.ArrayList;
+import java.util.List;
 import java.util.ResourceBundle;
 import Luokat.*;
 
@@ -18,7 +22,7 @@ import Luokat.*;
  * @version 29.1.2025
  *
  */
-public class KalojaGUIController implements Initializable, ModalControllerInterface<String> {
+public class KalojaGUIController implements Initializable, ModalControllerInterface<List<Saalis>> {
 	@FXML private ComboBox<String> koko;
 
 	@FXML private DynamicComboBox lajit;
@@ -27,14 +31,11 @@ public class KalojaGUIController implements Initializable, ModalControllerInterf
 
 	@FXML private DynamicComboBox vieheet;
 
-	private String ReissuTagi;
+	private List<Saalis> saalis ;
 	
    @Override
    public void initialize(URL url, ResourceBundle resourceBundle){
 		koko.setItems(FXCollections.observableArrayList("Sintti", "Keskikokoinen", "Iso", "Kalavalhe"));
-		
-
-
    }
 
    
@@ -55,7 +56,8 @@ public class KalojaGUIController implements Initializable, ModalControllerInterf
 
 	 private void Tallenna() {
 
-	   Saalis s = new Saalis(koko.getSelectionModel().getSelectedItem(), lajit.getSelectionModel().getSelectedItem(), Integer.parseInt(ReissuTagi));
+	   Saalis s = new Saalis(koko.getSelectionModel().getSelectedItem(), lajit.getSelectionModel().getSelectedItem());
+	   saalis.add(s);
 	   System.out.println("saalis : koko " + s.getKoko() + " laji " + s.getLaji() + " id " + s.getSaaliinId() + " Reissulta " + s.getReissunTagi());
 	   Viehe v  = new Viehe(s.getSaaliinId(), vieheet.getSelectionModel().getSelectedItem(), vieheVarit.getText());
 	   System.out.println("saatu vieheellä " + v.getTypyppi() + " " + v.getVari());
@@ -63,23 +65,23 @@ public class KalojaGUIController implements Initializable, ModalControllerInterf
 	   System.out.println("Tiedot tallennetaan muodossa: " + tiedot);
 	   Saalis s2 = new Saalis(tiedot);
 	   System.out.println("saalis muutettuna tiedoista: koko " + s2.getKoko() + " laji " + s2.getLaji() + " id " + s2.getSaaliinId() + " Reissulta " + s2.getReissunTagi());
-		 
+		 ModalController.closeStage(koko);
 	 }
 	
 
 	@Override
-	public String getResult() {
-		return "";
+	public List<Saalis> getResult() {
+		return new ArrayList<>();
 	}
 
 	@Override
-	public void setDefault(String s) {
-	   ReissuTagi = s;
+	public void setDefault(List<Saalis> saaliit) {
+	   this.saalis = saaliit;
+
 	}
 
 	@Override
 	public void handleShown() {
-
 	}
 }
 
diff --git a/Ohj2HT/src/fxLisaaReissu/LisaaReissuGUIController.java b/Ohj2HT/src/fxLisaaReissu/LisaaReissuGUIController.java
index a78c855..6882052 100644
--- a/Ohj2HT/src/fxLisaaReissu/LisaaReissuGUIController.java
+++ b/Ohj2HT/src/fxLisaaReissu/LisaaReissuGUIController.java
@@ -1,12 +1,17 @@
 package fxLisaaReissu;
 
 import java.io.IOException;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.ResourceBundle;
 
 import fi.jyu.mit.fxgui.Dialogs;
 import fi.jyu.mit.fxgui.ModalController;
 import fi.jyu.mit.fxgui.ModalControllerInterface;
 import fxKalenteri.KalenteriMain;
 import fxKaljoja.KalojaGUIController;
+import javafx.application.Platform;
 import javafx.fxml.FXML;
 import javafx.fxml.FXMLLoader;
 import javafx.fxml.Initializable;
@@ -25,7 +30,7 @@ import fxKaljoja.*;
  * @version 29.1.2025
  *
  */
-public class LisaaReissuGUIController implements ModalControllerInterface<String> {
+public class LisaaReissuGUIController implements Initializable, ModalControllerInterface<String> {
 
 	@FXML
 	private Label tiedot;
@@ -34,7 +39,7 @@ public class LisaaReissuGUIController implements ModalControllerInterface<String
     private TextField Pvm;
 
 	 @FXML
-	    private TextArea kaloja;
+	 private TextArea kaloja;
 
     @FXML
     private TextField keli;
@@ -42,7 +47,7 @@ public class LisaaReissuGUIController implements ModalControllerInterface<String
     @FXML
     private TextField sijainti;
     
-    
+    private List<Saalis> saaliit = new ArrayList<>();
 
 	
 	
@@ -62,12 +67,16 @@ public class LisaaReissuGUIController implements ModalControllerInterface<String
 	 //-------------------------//
 	 
 	 private void Kaloja() {
-		  ModalController.showModal(KalenteriMain.class.getResource("/fxKaljoja/KalojaGUIView.fxml"),
-				 "Lisää Kala",null,"1");
+
+		ModalController.showModal(KalenteriMain.class.getResource("/fxKaljoja/KalojaGUIView.fxml"),
+				 "Lisää Kala",null,saaliit);
+		 liitaKaloja();
 	 }
 	 
-	 public void liitaKaloja(String tulos) {
-		 
+	 public void liitaKaloja() {
+		 for(Saalis s : saaliit){
+			 Platform.runLater(()->{kaloja.appendText(s.getLaji() + " " + s.getKoko());kaloja.appendText("\n");});
+		 }
 	 }
 	 
 	 private void Poista() {
@@ -75,8 +84,12 @@ public class LisaaReissuGUIController implements ModalControllerInterface<String
 	 }
 	 
 	 public void Tallenna() {
-		 
+
 		 Reissu a = new Reissu(1 , Pvm.getText(), sijainti.getText(),keli.getText());
+		 for(Saalis saalis : saaliit) {
+			 saalis.setReissunTagi(a.getTag());
+			 System.out.println(saalis.tiedotTallenusMuodossa());
+		 }
 		 System.out.println(a);
 		 
 	 }
@@ -97,4 +110,12 @@ public class LisaaReissuGUIController implements ModalControllerInterface<String
 	public void handleShown() {
 
 	}
+
+	@Override
+	public void initialize(URL url, ResourceBundle resourceBundle) {
+		kaloja = new TextArea();
+		kaloja.setEditable(true);
+		kaloja.setWrapText(true);
+		Platform.runLater(() -> kaloja.appendText("Hei kaikki"));
+	}
 }
\ No newline at end of file
diff --git a/Ohj2HT/src/fxLisaaReissu/LisaaReissuGUIView.fxml b/Ohj2HT/src/fxLisaaReissu/LisaaReissuGUIView.fxml
index 9040229..6d3cce6 100644
--- a/Ohj2HT/src/fxLisaaReissu/LisaaReissuGUIView.fxml
+++ b/Ohj2HT/src/fxLisaaReissu/LisaaReissuGUIView.fxml
@@ -76,7 +76,7 @@
                   <Font size="14.0" />
                </font>
             </Button>
-            <TextArea fx:id="kaloja" layoutX="72.0" layoutY="264.0" prefHeight="200.0" prefWidth="250.0" />
+            <TextArea fx:id="kaloja" editable="false" layoutX="72.0" layoutY="264.0" prefHeight="200.0" prefWidth="250.0" />
          </children>
       </Pane>
    </bottom>
-- 
GitLab