diff --git a/tavaranpaikka/src/fxTavaranPaikka/LisaaTagGUIController.java b/tavaranpaikka/src/fxTavaranPaikka/LisaaTagGUIController.java new file mode 100644 index 0000000000000000000000000000000000000000..74567411b51b42e7847b80acc1576770f1d83598 --- /dev/null +++ b/tavaranpaikka/src/fxTavaranPaikka/LisaaTagGUIController.java @@ -0,0 +1,60 @@ +package fxTavaranPaikka; + +import fi.jyu.mit.fxgui.Dialogs; +import fi.jyu.mit.fxgui.ModalController; +import fi.jyu.mit.fxgui.ModalControllerInterface; +import javafx.fxml.FXML; +import javafx.scene.control.Button; +import javafx.scene.control.TextField; + +/** + * @author lpjsilve, alilakj + * @version 15.2.2024 + * Kontrolleri tägin lisäämiseen. + */ +public class LisaaTagGUIController implements ModalControllerInterface<String>{ + @FXML private TextField textKentta; + @FXML private Button buttonPeruuta; + @FXML private Button buttonTallenna; + + @FXML void onActionPeruuta() { + peruuta(); + } + + @FXML void onActionTallenna() { + tallenna(); + } + + /***************koodia***************/ + + /***ModalControllerinMetodit***/ + @Override + public String getResult() { + return null; + } + + @Override + public void handleShown() { + textKentta.requestFocus(); + } + + @Override + public void setDefault(String oletus) { + } + + /** + * Peruuta -painikkeen toiminta. + */ + public void peruuta() { + ModalController.closeStage(buttonPeruuta); + } + + /** + * Tallenna -painikkeen toiminta, (toistaiseksi ei toimi). + */ + public void tallenna() { + Dialogs.showMessageDialog("Tallennetetaan! Mutta ei toimi vielä"); + } + + +} diff --git a/tavaranpaikka/src/fxTavaranPaikka/LisaaTagGUIView.fxml b/tavaranpaikka/src/fxTavaranPaikka/LisaaTagGUIView.fxml index 12b5e72090426057c7e56b5e4d75a4cbbc593b50..7f067dca4c6c9e4b246c85d0bde2ede25f9ee3b4 100644 --- a/tavaranpaikka/src/fxTavaranPaikka/LisaaTagGUIView.fxml +++ b/tavaranpaikka/src/fxTavaranPaikka/LisaaTagGUIView.fxml @@ -7,8 +7,7 @@ <?import javafx.scene.layout.BorderPane?> <?import javafx.scene.layout.HBox?> - -<BorderPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="150.0" prefWidth="200.0" xmlns="http://javafx.com/javafx/21" xmlns:fx="http://javafx.com/fxml/1"> +<BorderPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="150.0" prefWidth="200.0" xmlns="http://javafx.com/javafx/21" xmlns:fx="http://javafx.com/fxml/1" fx:controller="fxTavaranPaikka.LisaaTagGUIController"> <top> <Label text="Luo tavaralle uusi Tag" BorderPane.alignment="CENTER"> <BorderPane.margin> @@ -17,7 +16,7 @@ </Label> </top> <center> - <TextField BorderPane.alignment="CENTER"> + <TextField fx:id="textKentta" BorderPane.alignment="CENTER"> <BorderPane.margin> <Insets left="20.0" right="20.0" /> </BorderPane.margin> @@ -26,12 +25,12 @@ <bottom> <HBox prefHeight="50.0" prefWidth="200.0" BorderPane.alignment="CENTER"> <children> - <Button mnemonicParsing="false" text="Tallenna"> + <Button fx:id="buttonTallenna" mnemonicParsing="false" onAction="#onActionTallenna" text="Tallenna"> <HBox.margin> <Insets bottom="10.0" left="10.0" right="10.0" top="10.0" /> </HBox.margin> </Button> - <Button mnemonicParsing="false" text="Peru"> + <Button fx:id="buttonPeruuta" mnemonicParsing="false" onAction="#onActionPeruuta" text="Peruuta"> <HBox.margin> <Insets bottom="10.0" left="10.0" right="10.0" top="10.0" /> </HBox.margin> diff --git a/tavaranpaikka/src/fxTavaranPaikka/TavaranPaikkaGUIController.java b/tavaranpaikka/src/fxTavaranPaikka/TavaranPaikkaGUIController.java index e76dbc5f2c3043b6780cbb24d7e2e345bf861537..e4b2c0b6834d6d1fe40164356e984264fb6c2384 100644 --- a/tavaranpaikka/src/fxTavaranPaikka/TavaranPaikkaGUIController.java +++ b/tavaranpaikka/src/fxTavaranPaikka/TavaranPaikkaGUIController.java @@ -3,8 +3,14 @@ package fxTavaranPaikka; import fi.jyu.mit.fxgui.ModalController; //import fi.jyu.mit.fxgui.ModalControllerInterface; import javafx.fxml.FXML; +import javafx.scene.control.Alert; +import javafx.scene.control.Alert.AlertType; +import javafx.scene.control.ButtonBar.ButtonData; +import javafx.scene.control.ButtonType; +import javafx.scene.control.ChoiceBox; import javafx.scene.layout.GridPane; import java.net.URL; +import java.util.Optional; import fi.jyu.mit.fxgui.Dialogs; @@ -16,6 +22,7 @@ import fi.jyu.mit.fxgui.Dialogs; */ public class TavaranPaikkaGUIController { @FXML private GridPane GridPaneTavaranTiedot; + @FXML private ChoiceBox<String> ChoiceBoxHakuehdot; @FXML void onActionTallenna() { tallenna(); @@ -35,10 +42,23 @@ public class TavaranPaikkaGUIController { avaaMuokkaaTiloja(); } + @FXML void onActionPoista() { + avaaPoistaVahvistus(); + } + + + @FXML void onMouseReleasedHakuehdot() { + avaaHakuehtolista(); + } + @FXML void onActionNaytaSisalto() { avaaSisalto(); } + @FXML void onActionLisaaTagi() { + avaaTaginLisays(); + } + /**************Toteutukset****************/ @@ -88,6 +108,16 @@ public class TavaranPaikkaGUIController { } + /** + * Avataan hakuehtolista näkyville. Toistaiseksi ei toimi. + * Pohditaan minkälainen komponentti paras (ChoiceBox vai mallin ComboBoxChooser tjsp.) + */ + public void avaaHakuehtolista() { + Dialogs.showMessageDialog("Avataan hakuehtolista, mutta ei toimi vielä"); + + } + + /** * Toteutetaan Näytä Sisältö-painikkeen toiminta, * eli avataan modaalisena ikkunana suunniteltu sisältöikkuna. @@ -96,5 +126,28 @@ public class TavaranPaikkaGUIController { URL url = TavaranSisaltoGUIController.class.getResource("TavaranSisaltoGUIView.fxml"); ModalController.showModal(url, null, null, null); } + + + /** + * Toteutetaan Lisää Täg-painikkeen toiminta, + * eli avataan modaalinen ikkuna, joka pyytää uuden + * tägin nimen. + */ + public void avaaTaginLisays() { + URL url = LisaaTagGUIController.class.getResource("LisaaTagGUIView.fxml"); + ModalController.showModal(url, null, null, null); + } + + + /** + * Kysytään käyttäjältä halutaanko valittu asia varmasti poistaa. + */ + public void avaaPoistaVahvistus() { + boolean vastaus = Dialogs.showQuestionDialog("Poisto?", + "Haluatko poistaa: ", "Kyllä", "Ei"); + if (vastaus == true) { + Dialogs.showMessageDialog("Poistetaan, mutta ei toimi vielä"); + } + } } diff --git a/tavaranpaikka/src/fxTavaranPaikka/TavaranPaikkaGUIView.fxml b/tavaranpaikka/src/fxTavaranPaikka/TavaranPaikkaGUIView.fxml index f4e47ecb3f0607a1e5cd6e008350bcbf8ec58f2c..65a8f7cf86b48f7ba5df957f4ea5604399d61fb8 100644 --- a/tavaranpaikka/src/fxTavaranPaikka/TavaranPaikkaGUIView.fxml +++ b/tavaranpaikka/src/fxTavaranPaikka/TavaranPaikkaGUIView.fxml @@ -34,7 +34,7 @@ <MenuItem mnemonicParsing="false" onAction="#onActionLisaaTavara" text="Lisää uusi tavara" /> <MenuItem mnemonicParsing="false" onAction="#onActionMuokkaaTavaraa" text="Muokkaa tavaraa" /> <MenuItem mnemonicParsing="false" onAction="#onActionMuokkaaTiloja" text="Muokkaa tiloja" /> - <MenuItem mnemonicParsing="false" text="Delete" /> + <MenuItem mnemonicParsing="false" onAction="#onActionPoista" text="Poista" /> </items> </Menu> <Menu mnemonicParsing="false" text="Info"> @@ -56,7 +56,7 @@ <padding> <Insets bottom="5.0" left="10.0" right="5.0" top="5.0" /> </padding></Label> - <ChoiceBox prefWidth="150.0"> + <ChoiceBox fx:id="ChoiceBoxHakuehdot" onMouseReleased="#onMouseReleasedHakuehdot" prefWidth="150.0"> <VBox.margin> <Insets left="5.0" right="5.0" /> </VBox.margin></ChoiceBox> @@ -140,7 +140,7 @@ <HBox.margin> <Insets bottom="10.0" left="10.0" right="10.0" top="10.0" /> </HBox.margin></Button> - <Button mnemonicParsing="false" text="Lisää tag"> + <Button mnemonicParsing="false" onAction="#onActionLisaaTagi" text="Lisää tag"> <HBox.margin> <Insets bottom="10.0" left="10.0" right="10.0" top="10.0" /> </HBox.margin></Button>