add: createFood
This commit is contained in:
parent
5ee0288736
commit
f71aba3505
@ -0,0 +1,71 @@
|
||||
package com.bib.essensbestellungsverwaltung;
|
||||
|
||||
import javafx.event.ActionEvent;
|
||||
import javafx.fxml.FXML;
|
||||
import javafx.scene.control.RadioButton;
|
||||
import javafx.scene.control.TextArea;
|
||||
import javafx.scene.control.TextField;
|
||||
import javafx.scene.text.Text;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
public class CreateFoodController {
|
||||
@FXML
|
||||
public TextField name;
|
||||
@FXML
|
||||
public TextArea description;
|
||||
@FXML
|
||||
public RadioButton isHauptgerichtRadio;
|
||||
@FXML
|
||||
public RadioButton isDessertRadio;
|
||||
@FXML
|
||||
public RadioButton isVegetarischRadio;
|
||||
@FXML
|
||||
public RadioButton isVeganRadio;
|
||||
@FXML
|
||||
public RadioButton isFleischRadio;
|
||||
@FXML
|
||||
public TextArea allergienTextBox;
|
||||
@FXML
|
||||
public Text responseText;
|
||||
|
||||
@FXML
|
||||
public void onAbbrechen(ActionEvent actionEvent) {
|
||||
clearInputs();
|
||||
}
|
||||
|
||||
@FXML
|
||||
public void onHinzufügen(ActionEvent actionEvent) {
|
||||
String gerichtName = name.getText();
|
||||
String beschreibung = description.getText();
|
||||
if(!isHauptgerichtRadio.isSelected() && !isDessertRadio.isSelected()){
|
||||
// art auswähelen
|
||||
}
|
||||
boolean isNachtisch = !isHauptgerichtRadio.isSelected();
|
||||
if(!isVegetarischRadio.isSelected() && !isVeganRadio.isSelected() && isFleischRadio.isSelected()){
|
||||
// Typ auswählen
|
||||
}
|
||||
int ft = isVeganRadio.isSelected() ? 1 : isVeganRadio.isSelected() ? 2 : 3;
|
||||
FoodType foodType = new FoodType(ft, "Vegan");
|
||||
List<Allergy> allergies = new ArrayList<>();
|
||||
// TODO: allergien hinzufügen
|
||||
|
||||
long id = FoodMgr.createFood(new Food(gerichtName, beschreibung, isNachtisch, foodType, allergies));
|
||||
System.out.println("Food created with id: " + id);
|
||||
responseText.setText("New Food Created");
|
||||
clearInputs();
|
||||
}
|
||||
|
||||
private void clearInputs(){
|
||||
name.setText("");
|
||||
description.setText("");
|
||||
isHauptgerichtRadio.setSelected(false);
|
||||
isDessertRadio.setSelected(false);
|
||||
isVeganRadio.setSelected(false);
|
||||
isVegetarischRadio.setSelected(false);
|
||||
isFleischRadio.setSelected(false);
|
||||
allergienTextBox.setText("");
|
||||
}
|
||||
}
|
@ -1,102 +1,107 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<?import javafx.geometry.Insets?>
|
||||
<?import javafx.scene.control.Button?>
|
||||
<?import javafx.scene.control.Label?>
|
||||
<?import javafx.scene.control.RadioButton?>
|
||||
<?import javafx.scene.control.TextArea?>
|
||||
<?import javafx.scene.control.TextField?>
|
||||
<?import javafx.scene.layout.AnchorPane?>
|
||||
<?import javafx.scene.layout.HBox?>
|
||||
<?import javafx.scene.layout.VBox?>
|
||||
<?import javafx.scene.text.Font?>
|
||||
<?import javafx.geometry.*?>
|
||||
<?import javafx.scene.control.*?>
|
||||
<?import javafx.scene.layout.*?>
|
||||
<?import javafx.scene.text.*?>
|
||||
|
||||
<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="521.0" prefWidth="731.0" stylesheets="@createFood.css" xmlns="http://javafx.com/javafx/19" xmlns:fx="http://javafx.com/fxml/1">
|
||||
<children>
|
||||
<Label alignment="CENTER" layoutX="234.0" layoutY="29.0" prefHeight="44.0" prefWidth="237.0" text="Gericht hinzufügen">
|
||||
<font>
|
||||
<Font size="18.0" />
|
||||
</font>
|
||||
</Label>
|
||||
<VBox layoutX="112.0" layoutY="73.0" prefHeight="389.0" prefWidth="459.0">
|
||||
<children>
|
||||
<HBox prefHeight="75.0" prefWidth="459.0">
|
||||
<children>
|
||||
<Label prefHeight="33.0" prefWidth="121.0" text="Name des Gerichts" />
|
||||
<TextField prefHeight="25.0" prefWidth="290.0">
|
||||
<HBox.margin>
|
||||
<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="600.0" prefWidth="731.0" stylesheets="@createFood.css" xmlns="http://javafx.com/javafx/17.0.2-ea" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.bib.essensbestellungsverwaltung.CreateFoodController">
|
||||
<children>
|
||||
<Label alignment="CENTER" layoutX="247.0" layoutY="29.0" prefHeight="44.0" prefWidth="237.0" text="Gericht hinzufügen">
|
||||
<font>
|
||||
<Font size="18.0" />
|
||||
</font>
|
||||
</Label>
|
||||
<VBox layoutX="136.0" layoutY="73.0" prefHeight="388.0" prefWidth="459.0">
|
||||
<children>
|
||||
<HBox prefHeight="75.0" prefWidth="459.0">
|
||||
<children>
|
||||
<Label prefHeight="33.0" prefWidth="121.0" text="Name des Gerichts" />
|
||||
<TextField fx:id="name" prefHeight="25.0" prefWidth="290.0">
|
||||
<HBox.margin>
|
||||
<Insets top="5.0" />
|
||||
</HBox.margin>
|
||||
</TextField>
|
||||
</children>
|
||||
</HBox>
|
||||
<HBox prefHeight="75.0" prefWidth="459.0">
|
||||
<children>
|
||||
<Label prefHeight="33.0" prefWidth="121.0" text="Beschreibung" />
|
||||
<TextArea fx:id="description" prefHeight="75.0" prefWidth="290.0" />
|
||||
</children>
|
||||
<padding>
|
||||
<Insets top="5.0" />
|
||||
</HBox.margin>
|
||||
</TextField>
|
||||
</children>
|
||||
</HBox>
|
||||
<HBox prefHeight="75.0" prefWidth="459.0">
|
||||
<children>
|
||||
<Label prefHeight="33.0" prefWidth="121.0" text="Beschreibung" />
|
||||
<TextArea prefHeight="75.0" prefWidth="290.0" />
|
||||
</children>
|
||||
<padding>
|
||||
<Insets top="5.0" />
|
||||
</padding>
|
||||
</HBox>
|
||||
<HBox prefHeight="75.0" prefWidth="459.0">
|
||||
<children>
|
||||
<Label text="Art des Gerichts">
|
||||
<HBox.margin>
|
||||
<Insets top="20.0" />
|
||||
</HBox.margin>
|
||||
</Label>
|
||||
<RadioButton mnemonicParsing="false" text="Dessert">
|
||||
<HBox.margin>
|
||||
<Insets left="35.0" top="20.0" />
|
||||
</HBox.margin>
|
||||
</RadioButton>
|
||||
<RadioButton mnemonicParsing="false" text="Kein Dessert">
|
||||
<HBox.margin>
|
||||
<Insets left="50.0" top="20.0" />
|
||||
</HBox.margin>
|
||||
</RadioButton>
|
||||
</children>
|
||||
</padding>
|
||||
</HBox>
|
||||
<HBox prefHeight="75.0" prefWidth="459.0">
|
||||
<children>
|
||||
<Label text="Art des Gerichts">
|
||||
<HBox.margin>
|
||||
<Insets top="20.0" />
|
||||
</HBox.margin>
|
||||
</Label>
|
||||
<RadioButton fx:id="isHauptgerichtRadio" mnemonicParsing="false" text="Hauptgericht">
|
||||
<HBox.margin>
|
||||
<Insets left="35.0" top="20.0" />
|
||||
</HBox.margin>
|
||||
<toggleGroup>
|
||||
<ToggleGroup fx:id="art" />
|
||||
</toggleGroup>
|
||||
</RadioButton>
|
||||
<RadioButton fx:id="isDessertRadio" mnemonicParsing="false" text="Dessert" toggleGroup="$art">
|
||||
<HBox.margin>
|
||||
<Insets left="50.0" top="20.0" />
|
||||
</HBox.margin>
|
||||
</RadioButton>
|
||||
</children>
|
||||
<VBox.margin>
|
||||
<Insets />
|
||||
</VBox.margin>
|
||||
<padding>
|
||||
<Insets top="5.0" />
|
||||
</padding>
|
||||
</HBox>
|
||||
<HBox prefHeight="75.0" prefWidth="459.0">
|
||||
<children>
|
||||
<Label text="Typ">
|
||||
<HBox.margin>
|
||||
<Insets top="20.0" />
|
||||
</HBox.margin>
|
||||
</Label>
|
||||
<RadioButton fx:id="isVegetarischRadio" mnemonicParsing="false" prefHeight="17.0" prefWidth="91.0" text="Vegetarisch">
|
||||
<HBox.margin>
|
||||
<Insets left="100.0" top="20.0" />
|
||||
</HBox.margin>
|
||||
<toggleGroup>
|
||||
<ToggleGroup fx:id="typ" />
|
||||
</toggleGroup>
|
||||
</RadioButton>
|
||||
<RadioButton fx:id="isVeganRadio" mnemonicParsing="false" text="Vegan" toggleGroup="$typ">
|
||||
<HBox.margin>
|
||||
<Insets left="20.0" top="20.0" />
|
||||
</HBox.margin>
|
||||
</RadioButton>
|
||||
<RadioButton fx:id="isFleischRadio" mnemonicParsing="false" text="Fleisch" toggleGroup="$typ">
|
||||
<HBox.margin>
|
||||
<Insets left="40.0" top="20.0" />
|
||||
</HBox.margin>
|
||||
</RadioButton>
|
||||
</children>
|
||||
</HBox>
|
||||
<HBox prefHeight="76.0" prefWidth="459.0">
|
||||
<children>
|
||||
<Label prefHeight="41.0" prefWidth="171.0" text="Allergien mit Komma getrennt" />
|
||||
<TextArea fx:id="allergienTextBox" prefHeight="76.0" prefWidth="246.0" />
|
||||
</children>
|
||||
</HBox>
|
||||
<Text fx:id="responseText" fill="RED" strokeType="OUTSIDE" strokeWidth="0.0" textAlignment="CENTER" wrappingWidth="459.13673400878906">
|
||||
<VBox.margin>
|
||||
<Insets />
|
||||
<Insets top="20.0" />
|
||||
</VBox.margin>
|
||||
<padding>
|
||||
<Insets top="5.0" />
|
||||
</padding>
|
||||
</HBox>
|
||||
<HBox prefHeight="75.0" prefWidth="459.0">
|
||||
<children>
|
||||
<Label text="Typ">
|
||||
<HBox.margin>
|
||||
<Insets top="20.0" />
|
||||
</HBox.margin>
|
||||
</Label>
|
||||
<RadioButton mnemonicParsing="false" prefHeight="17.0" prefWidth="91.0" text="Vegetarisch">
|
||||
<HBox.margin>
|
||||
<Insets left="100.0" top="20.0" />
|
||||
</HBox.margin>
|
||||
</RadioButton>
|
||||
<RadioButton mnemonicParsing="false" text="Vegan">
|
||||
<HBox.margin>
|
||||
<Insets left="20.0" top="20.0" />
|
||||
</HBox.margin>
|
||||
</RadioButton>
|
||||
<RadioButton mnemonicParsing="false" text="Fleisch">
|
||||
<HBox.margin>
|
||||
<Insets left="40.0" top="20.0" />
|
||||
</HBox.margin>
|
||||
</RadioButton>
|
||||
</children>
|
||||
</HBox>
|
||||
<HBox prefHeight="76.0" prefWidth="459.0">
|
||||
<children>
|
||||
<Label prefHeight="41.0" prefWidth="171.0" text="Allergien mit Komma getrennt" />
|
||||
<TextArea prefHeight="76.0" prefWidth="246.0" />
|
||||
</children>
|
||||
</HBox>
|
||||
</children>
|
||||
</VBox>
|
||||
<Button id="btCreateFood" layoutX="106.0" layoutY="457.0" mnemonicParsing="false" prefHeight="50.0" prefWidth="145.0" text="Hinzufügen" />
|
||||
<Button id="btCancelFood" layoutX="366.0" layoutY="457.0" mnemonicParsing="false" prefHeight="50.0" prefWidth="162.0" text="Abbrechen" />
|
||||
</children>
|
||||
</Text>
|
||||
</children>
|
||||
</VBox>
|
||||
<Button id="btCreateFood" layoutX="484.0" layoutY="481.0" mnemonicParsing="false" onAction="#onHinzufügen" prefHeight="34.0" prefWidth="146.0" text="Hinzufügen" />
|
||||
<Button id="btCancelFood" layoutX="102.0" layoutY="473.0" mnemonicParsing="false" onAction="#onAbbrechen" prefHeight="50.0" prefWidth="162.0" text="Abbrechen" />
|
||||
</children>
|
||||
</AnchorPane>
|
||||
|
Loading…
Reference in New Issue
Block a user