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