diff --git a/src/main/java/de/subway_surfers/vpr_app/AccounterstellungMitarbeiter.java b/src/main/java/de/subway_surfers/vpr_app/AccounterstellungMitarbeiter.java index a564828..33d8e29 100644 --- a/src/main/java/de/subway_surfers/vpr_app/AccounterstellungMitarbeiter.java +++ b/src/main/java/de/subway_surfers/vpr_app/AccounterstellungMitarbeiter.java @@ -49,43 +49,55 @@ public class AccounterstellungMitarbeiter { kindDaten.add(ueberschrift,0,0); kindDaten.addRow(1); - Label name = new Label("Name:"); - kindDaten.add(name, 0, 1); - TextField nameEingabe = new TextField(); - kindDaten.add(nameEingabe, 1, 1); + Label vname = new Label("Vorname:"); + kindDaten.add(vname, 0, 1); + TextField vnameEingabe = new TextField(); + kindDaten.add(vnameEingabe, 1, 1); kindDaten.addRow(2); - Label geburtstag = new Label("Geburtstag: "); - kindDaten.add(geburtstag, 0, 2); - DatePicker geburtstagEingabe = new DatePicker(); - geburtstagEingabe.setEditable(false); - kindDaten.add(geburtstagEingabe, 1, 2); + Label nname = new Label("Nachname:"); + kindDaten.add(nname, 0, 2); + TextField nnameEingabe = new TextField(); + kindDaten.add(nnameEingabe, 1, 2); kindDaten.addRow(3); - Button hinzufuegen = new Button("hinzufügen"); - kindDaten.add(hinzufuegen, 1, 3); + Label geburtstag = new Label("Geburtstag: "); + kindDaten.add(geburtstag, 0, 3); + DatePicker geburtstagEingabe = new DatePicker(); + geburtstagEingabe.setEditable(false); + kindDaten.add(geburtstagEingabe, 1, 3); kindDaten.addRow(4); + Button hinzufuegen = new Button("hinzufügen"); + kindDaten.add(hinzufuegen, 1, 4); + + kindDaten.addRow(5); hinzufuegen.setOnAction(e -> { - Button neues = new Button(nameEingabe.getText()); + Button neues = new Button(vnameEingabe.getText()); - boolean nameGueltig = false; + boolean vnameGueltig = false; boolean gebGueltig = false; + boolean nnameGueltig = false; - if (!nameEingabe.getText().equals("")) { - nameGueltig = true; + if (!vnameEingabe.getText().equals("")) { + vnameGueltig = true; + } + + if (!nnameEingabe.getText().equals("")) { + nnameGueltig = true; } if (!geburtstagEingabe.getEditor().getText().equals("")) { gebGueltig = true; } - if (nameGueltig && gebGueltig) { + if (vnameGueltig && gebGueltig && nnameGueltig) { kindanzeige.getChildren().add(neues); neues.setOnAction(a -> { ((HBox) neues.getParent()).getChildren().remove(neues); }); - nameEingabe.setText(""); + vnameEingabe.setText(""); + nnameEingabe.setText(""); geburtstagEingabe.getEditor().setText(""); } }); diff --git a/src/main/java/de/subway_surfers/vpr_app/EssensverwaltungMitarbeiterView.java b/src/main/java/de/subway_surfers/vpr_app/EssensverwaltungMitarbeiterView.java new file mode 100644 index 0000000..e642836 --- /dev/null +++ b/src/main/java/de/subway_surfers/vpr_app/EssensverwaltungMitarbeiterView.java @@ -0,0 +1,61 @@ +package de.subway_surfers.vpr_app; + +import javafx.event.ActionEvent; +import javafx.fxml.FXML; +import javafx.geometry.Pos; +import javafx.scene.Node; +import javafx.scene.control.Control; +import javafx.scene.layout.ColumnConstraints; +import javafx.scene.layout.GridPane; +import javafx.scene.layout.Priority; +import javafx.scene.layout.RowConstraints; +import javafx.stage.Modality; +import javafx.stage.Stage; + + +public class EssensverwaltungMitarbeiterView { + @FXML + private GridPane tagesplan; + + public void initialize(){ + for (int i = 0; i < tagesplan.getColumnCount(); i++) { + ColumnConstraints cc = new ColumnConstraints(); + cc.setHgrow(Priority.ALWAYS); + cc.setFillWidth(true); + tagesplan.getColumnConstraints().add(cc); + } + VerwaltungApplication.responsiveBreiteGrid(tagesplan); + + tagesplan.heightProperty().addListener((obs,oldValue,newValue) -> { + final int zeile = 1; + for (Node n : tagesplan.getChildren()){ + if(n instanceof Control && GridPane.getRowIndex(n) == zeile){ + ((Control) n).setPrefHeight(newValue.floatValue()); + } + } + }); + + } + public void onAbmelden(ActionEvent actionEvent) { + VerwaltungApplication.sceneWechseln("login-view.fxml"); + } + + public void onFilter(ActionEvent actionEvent) { + } + + public void onHinzufuegen(ActionEvent actionEvent) { + Stage gerichterstellung = new Stage(); + + //solange das neu geöffnete Fenster offen ist, wird das Hauptfenster gesperrt + gerichterstellung.initModality(Modality.APPLICATION_MODAL); + + VerwaltungApplication.sceneWechseln(gerichterstellung, 400, 530, "gerichterstellung_mitarbeiter-view.fxml"); + + gerichterstellung.minWidthProperty().set(400); + gerichterstellung.minHeightProperty().set(530); + } + + public void onZurueck(ActionEvent actionEvent) { + } + +} diff --git a/src/main/java/de/subway_surfers/vpr_app/GerichterstellungMitarbeiterView.java b/src/main/java/de/subway_surfers/vpr_app/GerichterstellungMitarbeiterView.java new file mode 100644 index 0000000..abe6a62 --- /dev/null +++ b/src/main/java/de/subway_surfers/vpr_app/GerichterstellungMitarbeiterView.java @@ -0,0 +1,52 @@ +package de.subway_surfers.vpr_app; + +import de.subway_surfers.vpr_app.logik.Zutat; +import javafx.event.ActionEvent; +import javafx.fxml.FXML; +import javafx.scene.Node; +import javafx.scene.control.Button; +import javafx.scene.control.TextArea; +import javafx.scene.control.TextField; +import javafx.scene.layout.HBox; +import javafx.scene.layout.Pane; + +import java.util.ArrayList; + +public class GerichterstellungMitarbeiterView { + private @FXML HBox anzeigeInhaltsstoffe; + private @FXML TextArea eingabeBeschreibung; + private @FXML TextField eingabeName; + private @FXML Button buttonInhaltsstoffe; + private @FXML TextField eingabeInhaltsstoffe; + + private ArrayList zutaten; + + public void initialize() { + zutaten = new ArrayList<>(); + + //wird das Fenster vergrößert, wird das Eingabefeld für Inhaltstoffe und den Hinzufügenbutton + // auf die volle breite vergrößert. + ((Pane) eingabeInhaltsstoffe.getParent()).widthProperty().addListener((obs, oldValue, newValue) -> { + //eingabeName, da dieses Feld immer die gesamte breite der Stage haben. + eingabeInhaltsstoffe.setPrefWidth(eingabeName.getWidth() - buttonInhaltsstoffe.getPrefWidth()); + }); + } + + public void onButtonInhaltsstoffeClick(ActionEvent actionEvent) { + String text = eingabeInhaltsstoffe.getText(); + if (!text.equals("")) { + eingabeInhaltsstoffe.setText(""); + + Button neuerInhalt = new Button(); + neuerInhalt.setText(text); + anzeigeInhaltsstoffe.getChildren().add(neuerInhalt); + + Zutat neue = new Zutat(text); + zutaten.add(neue); + neuerInhalt.setOnAction(e -> { + ((HBox) neuerInhalt.getParent()).getChildren().remove(neuerInhalt); + zutaten.remove(neue); + }); + } + } +} diff --git a/src/main/java/de/subway_surfers/vpr_app/HauptmenueMitarbeiterView.java b/src/main/java/de/subway_surfers/vpr_app/HauptmenueMitarbeiterView.java index edf2df1..a9b9e65 100644 --- a/src/main/java/de/subway_surfers/vpr_app/HauptmenueMitarbeiterView.java +++ b/src/main/java/de/subway_surfers/vpr_app/HauptmenueMitarbeiterView.java @@ -8,8 +8,11 @@ public class HauptmenueMitarbeiterView { VerwaltungApplication.abmelden(); } - public void onAccountAnlegen(ActionEvent actionEvent) { + public void onAccountAnlegenClick(ActionEvent actionEvent) { VerwaltungApplication.sceneWechseln("accounterstellung_mitarbeiter.fxml"); } + public void onSpeiseplanClick(ActionEvent actionEvent) { + VerwaltungApplication.sceneWechseln("essensverwaltung_mitarbeiter-view.fxml"); + } } diff --git a/src/main/java/de/subway_surfers/vpr_app/VerwaltungApplication.java b/src/main/java/de/subway_surfers/vpr_app/VerwaltungApplication.java index b7f4ac2..fc62891 100644 --- a/src/main/java/de/subway_surfers/vpr_app/VerwaltungApplication.java +++ b/src/main/java/de/subway_surfers/vpr_app/VerwaltungApplication.java @@ -2,8 +2,11 @@ package de.subway_surfers.vpr_app; import javafx.application.Application; import javafx.fxml.FXMLLoader; +import javafx.scene.Node; import javafx.scene.Scene; import javafx.scene.control.Alert; +import javafx.scene.control.Control; +import javafx.scene.layout.GridPane; import javafx.stage.Stage; import java.io.IOException; @@ -92,10 +95,12 @@ public class VerwaltungApplication extends Application { Stage akt = VerwaltungApplication.getStage(); //neue Scene wird auf eine neue Stage gesetzt try { - Scene scene = new Scene(fxmlLoader.load(), width, height); + Scene scene = new Scene(fxmlLoader.load()); neue.setScene(scene); neue.show(); + neue.setHeight(height); + neue.setWidth(width); } //wird die angegebene fxml Datei nicht gefunden, wird ein Alertfenster geöffnet catch (IOException | RuntimeException e) { @@ -111,6 +116,24 @@ public class VerwaltungApplication extends Application { sceneWechseln("login-view.fxml"); } + /** + * Methode zum automatischen vergrößern und verkleinern von Grids + * + * Geschrieben: Max Heer, Sven Alteköster + * Getestet + * + * @param grid das responsiv sein soll + */ + public static void responsiveBreiteGrid (GridPane grid) { + grid.widthProperty().addListener((obs, oldValue, newValue) -> { + for (Node n : grid.getChildren()) { + if (n instanceof Control) { + ((Control) n).setPrefWidth(newValue.floatValue() / grid.getColumnCount()); + } + } + }); + } + public static void main(String[] args) { launch(); } diff --git a/src/main/java/de/subway_surfers/vpr_app/logik/Kind.java b/src/main/java/de/subway_surfers/vpr_app/logik/Kind.java new file mode 100644 index 0000000..ca8cf0d --- /dev/null +++ b/src/main/java/de/subway_surfers/vpr_app/logik/Kind.java @@ -0,0 +1,41 @@ +package de.subway_surfers.vpr_app.logik; + +import java.util.ArrayList; + +public class Kind { + private String name; + private String vorname; + private int id; + private ArrayList filter; + + public Kind(String name, String vorname, int id) { + ArrayList filter = new ArrayList<>(); + this.name = name; + this.vorname = vorname; + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getVorname() { + return vorname; + } + + public void setVorname(String vorname) { + this.vorname = vorname; + } + + public int getId() { + return id; + } + + public ArrayList getFilter() { + return filter; + } +} diff --git a/src/main/java/de/subway_surfers/vpr_app/logik/Mahlzeit.java b/src/main/java/de/subway_surfers/vpr_app/logik/Mahlzeit.java new file mode 100644 index 0000000..b9e8fb2 --- /dev/null +++ b/src/main/java/de/subway_surfers/vpr_app/logik/Mahlzeit.java @@ -0,0 +1,34 @@ +package de.subway_surfers.vpr_app.logik; + +import java.util.ArrayList; + +public class Mahlzeit { + private String name; + private float preis; + private ArrayList zutaten; + private String beschreibung; + + public Mahlzeit (String name, float preis, String beschreibung) { + this.name = name; + this.preis = preis; + this.beschreibung = beschreibung; + zutaten = new ArrayList<>(); + } + + public String getName() { + return name; + } + + public float getPreis() { + return preis; + } + + public ArrayList getZutaten() { + return zutaten; + } + + public String getBeschreibung() { + return beschreibung; + } + +} diff --git a/src/main/java/de/subway_surfers/vpr_app/logik/Tagesplan.java b/src/main/java/de/subway_surfers/vpr_app/logik/Tagesplan.java new file mode 100644 index 0000000..17db86b --- /dev/null +++ b/src/main/java/de/subway_surfers/vpr_app/logik/Tagesplan.java @@ -0,0 +1,22 @@ +package de.subway_surfers.vpr_app.logik; + +import java.util.ArrayList; + +public class Tagesplan { + + private ArrayList gerichte; + private String datum; + + public Tagesplan(String datum) { + this.datum = datum; + } + + public ArrayList getGerichte() { + return gerichte; + } + + public String getDatum() { + return datum; + } + +} diff --git a/src/main/java/de/subway_surfers/vpr_app/logik/Zutat.java b/src/main/java/de/subway_surfers/vpr_app/logik/Zutat.java new file mode 100644 index 0000000..b739d6a --- /dev/null +++ b/src/main/java/de/subway_surfers/vpr_app/logik/Zutat.java @@ -0,0 +1,12 @@ +package de.subway_surfers.vpr_app.logik; + +public class Zutat { + private String name; + public Zutat (String name) { + this.name = name; + } + + public String getName(){ + return this.name; + } +} diff --git a/src/main/resources/de/subway_surfers/vpr_app/essensverwaltung_mitarbeiter-view.fxml b/src/main/resources/de/subway_surfers/vpr_app/essensverwaltung_mitarbeiter-view.fxml new file mode 100644 index 0000000..7b575b6 --- /dev/null +++ b/src/main/resources/de/subway_surfers/vpr_app/essensverwaltung_mitarbeiter-view.fxml @@ -0,0 +1,65 @@ + + + + + + + + + + + + + +