From 540c8981f0c2cc5b10af3758841e7b94895ad341 Mon Sep 17 00:00:00 2001
From: Kiljala Renne Lauri Olavi <renne.l.o.kiljala@student.jyu.fi>
Date: Thu, 27 Mar 2025 21:20:39 +0200
Subject: [PATCH] =?UTF-8?q?projektin=20data=20n=C3=A4kyy=20nyt?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 src/fxHarakka/HarakkaController.java     | 45 +++++++++++++++++++++++-
 src/fxHarakka/HarakkaView.fxml           | 29 +++++++++++++--
 src/fxHarakka/LuoProjektiController.java |  1 -
 src/fxHarakka/luokat/Projektit.java      |  8 +++++
 4 files changed, 78 insertions(+), 5 deletions(-)

diff --git a/src/fxHarakka/HarakkaController.java b/src/fxHarakka/HarakkaController.java
index 03a8131..8aa6028 100644
--- a/src/fxHarakka/HarakkaController.java
+++ b/src/fxHarakka/HarakkaController.java
@@ -151,6 +151,18 @@ public class HarakkaController {
     @FXML
     private TabPane lehti;
 
+    @FXML
+    private TextField tileSuoritettu;
+
+    @FXML
+    private TextField tileAihe;
+
+    @FXML
+    private TextField tileKesto;
+
+    @FXML
+    private Button valitsePro;
+
 
     //-------------------------------------------------------------------------------------------
     private static Harakka harakka = new Harakka();
@@ -199,7 +211,8 @@ public class HarakkaController {
         Projekti uusiProjekti = new Projekti();
         uusiProjekti = lisaaProjekti(); //luotava projekti joka palautetaan kun tullaan pois lisääprojekti ikkunasta
 
-        if (uusiProjekti == null || uusiProjekti.getNimi().isBlank() || onJoProjekti(uusiProjekti)){ //jos tullaan pois nimettömällä projektilla
+        if (uusiProjekti == null || uusiProjekti.getNimi().isBlank() || onJoProjekti(uusiProjekti) ||
+        uusiProjekti.getNimi().isEmpty()){ //jos tullaan pois nimettömällä projektilla
             //sitten pitää poistaa luotu tabi
             lehti.getTabs().removeLast();
         }else {
@@ -343,5 +356,35 @@ public class HarakkaController {
         //suuntaa ProjektinluontiControllerille --> pitää koodin selkeänä tässä controllerissa
     }
 
+    @FXML
+    void paivitaPro(ActionEvent event) {
+        Tab valittu = lehti.getSelectionModel().getSelectedItem(); //valittu projekti
+        String nimi = valittu.getText();
+        String tiedotStrg;
+        try {
+            tiedotStrg = harakka.projektit.annaProjektinTiedot(nimi);
+        }catch (Exception e){return;} //on sampledataa --> ei päivitetä
+
+
+        //projekti lisätty! nimi | aihe | 1 | kesto | 0
+        String[] tiedot = tiedotStrg.split("\\|"); //jaetaan pylväitten mukaan
+
+        for (int i = 0; i < tiedot.length; i++){
+            tiedot[i] = tiedot[i].trim();
+        }
+
+        String kesto = tiedot[3];
+        String suoritettu = tiedot[4];
+        String aihe = tiedot[1];
+
+
+
+        //päivittää ruutuihin tiedot
+        tileKesto.setText(kesto);
+        tileSuoritettu.setText(suoritettu);
+        tileAihe.setText(aihe);
+
+    }
+
 
 }
diff --git a/src/fxHarakka/HarakkaView.fxml b/src/fxHarakka/HarakkaView.fxml
index 82a5f1d..7e91f66 100644
--- a/src/fxHarakka/HarakkaView.fxml
+++ b/src/fxHarakka/HarakkaView.fxml
@@ -11,6 +11,7 @@
 <?import javafx.scene.control.SplitPane?>
 <?import javafx.scene.control.Tab?>
 <?import javafx.scene.control.TabPane?>
+<?import javafx.scene.control.TextField?>
 <?import javafx.scene.layout.AnchorPane?>
 <?import javafx.scene.layout.BorderPane?>
 <?import javafx.scene.layout.TilePane?>
@@ -30,7 +31,7 @@
                         <Font name="Khmer MN" size="26.0" />
                      </font>
                   </Text>
-                  <Button fx:id="uusiPro" layoutX="40.0" layoutY="440.0" mnemonicParsing="false" onAction="#handleLisaaPro" prefHeight="26.0" prefWidth="91.0" text="Uusi Projekti">
+                  <Button fx:id="uusiPro" layoutX="39.0" layoutY="466.0" mnemonicParsing="false" onAction="#handleLisaaPro" prefHeight="26.0" prefWidth="91.0" text="Uusi Projekti">
                      <contextMenu>
                         <ContextMenu>
                           <items>
@@ -104,7 +105,7 @@
                       </Tab>
                     </tabs>
                   </TabPane>
-                  <Button fx:id="uusiTeht" layoutX="138.0" layoutY="440.0" mnemonicParsing="false" onAction="#handleLisaaTeht" prefHeight="26.0" prefWidth="91.0" text="Uusi tehtävä">
+                  <Button fx:id="uusiTeht" layoutX="138.0" layoutY="466.0" mnemonicParsing="false" onAction="#handleLisaaTeht" prefHeight="26.0" prefWidth="91.0" text="Uusi tehtävä">
                      <contextMenu>
                         <ContextMenu>
                            <items>
@@ -479,11 +480,33 @@
                   <Line endX="100.0" layoutX="216.0" layoutY="186.0" startX="-100.0" />
                   <CheckBox fx:id="piilotaVkl" layoutX="80.0" layoutY="395.0" mnemonicParsing="false" onAction="#HandlePiilota" text="Piilota viikonloppu" />
                   <ComboBox layoutX="114.0" layoutY="340.0" prefHeight="26.0" prefWidth="204.0" promptText="Tiles Nro" />
-                  <ColorPicker layoutX="115.0" layoutY="113.0">
+                  <ColorPicker layoutX="76.0" layoutY="432.0">
                      <value>
                         <Color red="1.0" />
                      </value>
                   </ColorPicker>
+                  <Text layoutX="12.0" layoutY="82.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Kesto (viikoissa)">
+                     <font>
+                        <Font size="16.0" />
+                     </font>
+                  </Text>
+                  <Text layoutX="13.0" layoutY="137.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Aihe">
+                     <font>
+                        <Font size="16.0" />
+                     </font>
+                  </Text>
+                  <Text layoutX="13.0" layoutY="109.0" strokeType="OUTSIDE" strokeWidth="0.0" text="Suoritettu (viikoissa)">
+                     <font>
+                        <Font size="16.0" />
+                     </font>
+                  </Text>
+                  <Line endX="100.0" layoutX="111.0" layoutY="86.0" startX="-100.0" />
+                  <Line endX="100.0" layoutX="115.0" layoutY="113.0" startX="-100.0" />
+                  <Line endX="100.0" layoutX="113.0" layoutY="140.0" startX="-100.0" />
+                  <TextField fx:id="tileKesto" layoutX="213.0" layoutY="64.0" prefHeight="26.0" prefWidth="191.0" />
+                  <TextField fx:id="tileSuoritettu" layoutX="213.0" layoutY="91.0" prefHeight="26.0" prefWidth="190.0" />
+                  <TextField fx:id="tileAihe" layoutX="213.0" layoutY="118.0" prefHeight="26.0" prefWidth="189.0" />
+                  <Button fx:id="valitsePro" layoutX="12.0" layoutY="33.0" mnemonicParsing="false" onAction="#paivitaPro" text="Valitse projekti" />
                </children>
             </AnchorPane>
         </items>
diff --git a/src/fxHarakka/LuoProjektiController.java b/src/fxHarakka/LuoProjektiController.java
index 1d60ee4..ebcac81 100644
--- a/src/fxHarakka/LuoProjektiController.java
+++ b/src/fxHarakka/LuoProjektiController.java
@@ -56,7 +56,6 @@ public class LuoProjektiController implements ModalControllerInterface<Projekti>
     @FXML
     void HylkaaProjekti(ActionEvent event) {
         projektiNimi = null; //null koska kun palataan ikkunasta takaisin päämenuun ja jos nimi tai aihe null niin
-        projektiAihe = null; //niin poistetaan alustettu uusi tabi
         ModalController.closeStage(projektiNimi);
     }
 
diff --git a/src/fxHarakka/luokat/Projektit.java b/src/fxHarakka/luokat/Projektit.java
index 24bf771..5fbd92f 100644
--- a/src/fxHarakka/luokat/Projektit.java
+++ b/src/fxHarakka/luokat/Projektit.java
@@ -117,6 +117,14 @@ public class Projektit {
         return -1;
     }
 
+    public String annaProjektinTiedot(String nimi) {
+        int projektinInd = etsiNimi(nimi);
+        Projekti etsittyProjekti = projektiAlkiot.get(projektinInd);
+
+        return etsittyProjekti.toString();
+
+    }
+
     //================================Tiedoston luku ja kirjoitus================================================
 
     String polku = "projektit.dat";
-- 
GitLab