From 25bb48704820b1ef85ab8a2b7e25a48f295c9a43 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?L=C3=A4sp=C3=A4=20Vili=20Valtteri?=
 <vili.v.laspa@student.jyu.fi>
Date: Wed, 5 Mar 2025 17:11:29 +0200
Subject: [PATCH] =?UTF-8?q?Alustava=20liikken=20lis=C3=A4ys=20lis=C3=A4tty?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 puntti/src/fxPuntti/PunttiGUIController.java | 76 +++++++++++++++++++-
 puntti/src/fxPuntti/PunttiGUIView.fxml       |  2 +-
 puntti/src/fxPuntti/PunttiMain.java          |  6 ++
 puntti/src/puntti/Liike.java                 | 12 +++-
 puntti/src/puntti/Puntti.java                |  5 +-
 5 files changed, 92 insertions(+), 9 deletions(-)

diff --git a/puntti/src/fxPuntti/PunttiGUIController.java b/puntti/src/fxPuntti/PunttiGUIController.java
index 0752407..37c2e0a 100644
--- a/puntti/src/fxPuntti/PunttiGUIController.java
+++ b/puntti/src/fxPuntti/PunttiGUIController.java
@@ -1,8 +1,16 @@
 package fxPuntti;
 
+import java.net.URL;
+import java.util.ResourceBundle;
+
 import fi.jyu.mit.fxgui.Dialogs;
+import fi.jyu.mit.fxgui.ListChooser;
 import fi.jyu.mit.fxgui.ModalController;
 import javafx.fxml.FXML;
+import javafx.fxml.Initializable;
+import puntti.Liike;
+import puntti.Puntti;
+import puntti.SailoException;
 
 
 /**
@@ -10,10 +18,17 @@ import javafx.fxml.FXML;
  * @version 20.1.2025
  *
  */
-public class PunttiGUIController {
+public class PunttiGUIController implements Initializable{
+    
+    @FXML private ListChooser<Liike> chooserLiikkeet;
 
 
     
+    @Override
+    public void initialize(URL url, ResourceBundle bundle) {
+        alusta();
+    }
+    
     @FXML void handleDefaultTallenna() {
         Dialogs.showMessageDialog("Ei osata vielä tallentaa");
     }
@@ -36,13 +51,28 @@ public class PunttiGUIController {
     }
 
     @FXML void handleDefaultUusiLiike() {
-        ModalController.showModal(PunttiGUIController.class.getResource("LisaaUusiLiikeGUIView.fxml"), "Liike", null, "");
+        //ModalController.showModal(PunttiGUIController.class.getResource("LisaaUusiLiikeGUIView.fxml"), "Liike", null, "");
+        uusiLiike();
     }
 
     @FXML private void handleUusiTulos() {
         ModalController.showModal(PunttiGUIController.class.getResource("LisaaUusiTulosGUIView.fxml"), "Tulos", null, "");
     }
 
+    //___________________________________________________________________ ALLE JAVA
+    
+    
+    
+    
+    /**
+     * puntti mitä käytetään
+     */
+    private Puntti puntti;
+    
+    
+    private void alusta() {
+        chooserLiikkeet.clear();
+    }
     
     private void lueTiedosto(@SuppressWarnings("unused") String nimi) {
 //        punttinimi = nimi;
@@ -61,7 +91,47 @@ public class PunttiGUIController {
         lueTiedosto(uusinimi);
         return true;
     }
-      // TODO
+      
+
+
+    /**
+     * Asetetaan käytettävä puntti
+     * @param puntti jota käytetään
+     */
+    public void setPuntti(Puntti puntti) {
+        this.puntti = puntti;
+        
+    }
+    
+    
+    private void hae(int lid) {
+        chooserLiikkeet.clear();
+        
+        int index = 0;
+        for (int i=0; i < puntti.getLiikkeita(); i++) {
+            Liike liike = puntti.annaLiike(i);
+            if(liike.getLid() == lid) index = i;
+            chooserLiikkeet.add(""+liike.getNimi(), liike);
+        }
+        chooserLiikkeet.setSelectedIndex(index);
+        
+    }
+    
+    
+    /**
+     * Lisätään Punttiin uusi liike
+     */
+    private void uusiLiike() {
+        Liike uusi = new Liike();
+        uusi.lisaaLiike();
+        uusi.taytaKyykky();
+        try {
+            puntti.lisaa(uusi);
+        } catch (SailoException e) {
+            Dialogs.showMessageDialog("Ounou ongelma lisätessä liikettä" + e.getMessage());
+        }
+        hae(uusi.getLid());
+    }
     
    
 
diff --git a/puntti/src/fxPuntti/PunttiGUIView.fxml b/puntti/src/fxPuntti/PunttiGUIView.fxml
index 8d5b0dc..0e21fda 100644
--- a/puntti/src/fxPuntti/PunttiGUIView.fxml
+++ b/puntti/src/fxPuntti/PunttiGUIView.fxml
@@ -116,7 +116,7 @@
                <left>
                   <BorderPane maxWidth="160.0" minHeight="100.0" prefHeight="200.0" prefWidth="138.0" BorderPane.alignment="CENTER">
                      <center>
-                        <ListChooser rivit="Penkkipunnerrus&#10;Pystypunnerrus&#10;Kyykky&#10;Maastaveto&#10;Leuanveto&#10;Rinnalleveto&#10;Tempaus&#10;Etukyykky&#10;&#10;&#10;&#10;" BorderPane.alignment="CENTER" />
+                        <ListChooser fx:id="chooserLiikkeet" rivit="Penkkipunnerrus&#10;Pystypunnerrus&#10;Kyykky&#10;Maastaveto&#10;Leuanveto&#10;Rinnalleveto&#10;Tempaus&#10;Etukyykky&#10;&#10;&#10;&#10;" BorderPane.alignment="CENTER" />
                      </center>
                      <top>
                         <VBox BorderPane.alignment="CENTER">
diff --git a/puntti/src/fxPuntti/PunttiMain.java b/puntti/src/fxPuntti/PunttiMain.java
index ad95f75..32eab0d 100644
--- a/puntti/src/fxPuntti/PunttiMain.java
+++ b/puntti/src/fxPuntti/PunttiMain.java
@@ -3,6 +3,7 @@ package fxPuntti;
 import javafx.application.Application;
 import javafx.application.Platform;
 import javafx.stage.Stage;
+import puntti.Puntti;
 import javafx.scene.Scene;
 import javafx.scene.layout.Pane;
 import javafx.fxml.FXMLLoader;
@@ -28,6 +29,11 @@ public class PunttiMain extends Application {
             scene.getStylesheets().add(getClass().getResource("puntti.css").toExternalForm());
             primaryStage.setScene(scene);
             primaryStage.setTitle("Puntti");
+            
+            
+            Puntti puntti = new Puntti();
+            punttiCtrl.setPuntti(puntti);
+            
             primaryStage.show();
             if ( !punttiCtrl.avaa() ) Platform.exit();
         } catch(Exception e) {
diff --git a/puntti/src/puntti/Liike.java b/puntti/src/puntti/Liike.java
index 752eaf3..fbcdfb0 100644
--- a/puntti/src/puntti/Liike.java
+++ b/puntti/src/puntti/Liike.java
@@ -89,7 +89,7 @@ public class Liike {
      * täyttää liikkeen tiedot
      */
     public void taytaKyykky() {
-        liike = "Kyykky";
+        liike = "Kyykky" + ErilaisetArvonnat.arvontaS(1,20);
         oteLeveys = ErilaisetArvonnat.arvontaL();
         stoppi = ErilaisetArvonnat.arvontaS(1,10);
         syvyys = "Syvä";
@@ -105,6 +105,13 @@ public class Liike {
         return lid;
     }
     
+    /**
+     * @return liikkeen nimi
+     */
+    public String getNimi() {
+        return this.liike;
+    }
+    
     
 
     /**
@@ -129,5 +136,8 @@ public class Liike {
     
     }
 
+
+
+
 }
 
diff --git a/puntti/src/puntti/Puntti.java b/puntti/src/puntti/Puntti.java
index 09978fe..beab5db 100644
--- a/puntti/src/puntti/Puntti.java
+++ b/puntti/src/puntti/Puntti.java
@@ -73,10 +73,7 @@ public class Puntti {
         try {
             puntti.lisaa(kyykky);
             puntti.lisaa(kyykky2);
-            puntti.lisaa(kyykky);
-            puntti.lisaa(kyykky2);
-            puntti.lisaa(kyykky);
-            puntti.lisaa(kyykky2);
+            
         } catch (SailoException e) {
             System.err.println(e.getMessage());
             
-- 
GitLab