Merge remote-tracking branch 'origin/master' into samu_masken

This commit is contained in:
Samuel Wolff 2024-01-08 08:35:09 +01:00
commit 19b9e17d0f
22 changed files with 204 additions and 36 deletions

View File

@ -7,9 +7,8 @@
<option value="$PROJECT_DIR$/pom.xml" /> <option value="$PROJECT_DIR$/pom.xml" />
</list> </list>
</option> </option>
<option name="workspaceImportForciblyTurnedOn" value="true" />
</component> </component>
<component name="ProjectRootManager" version="2" languageLevel="JDK_21" default="true" project-jdk-name="21" project-jdk-type="JavaSDK"> <component name="ProjectRootManager" version="2" languageLevel="JDK_X" default="true" project-jdk-name="21" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" /> <output url="file://$PROJECT_DIR$/out" />
</component> </component>
</project> </project>

View File

@ -2,5 +2,6 @@
<project version="4"> <project version="4">
<component name="VcsDirectoryMappings"> <component name="VcsDirectoryMappings">
<mapping directory="" vcs="Git" /> <mapping directory="" vcs="Git" />
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component> </component>
</project> </project>

View File

@ -12,7 +12,7 @@ public class Kind {
private int bid; private int bid;
// TODO Zutat implementieren! // TODO Zutat implementieren!
// private ArrayList<Zutat> filter; private ArrayList<Zutat> filter;
// endregion // endregion
// region Getter & Setter // region Getter & Setter
@ -49,7 +49,7 @@ public class Kind {
} }
// TODO Zutat implementieren! // TODO Zutat implementieren!
/*
public ArrayList<Zutat> getFilter() { public ArrayList<Zutat> getFilter() {
return filter; return filter;
} }
@ -57,7 +57,6 @@ public class Kind {
public void setFilter(ArrayList<Zutat> filter) { public void setFilter(ArrayList<Zutat> filter) {
this.filter = filter; this.filter = filter;
} }
*/
// endregion // endregion
// region Konstruktoren // region Konstruktoren
@ -69,4 +68,10 @@ public class Kind {
// endregion // endregion
@Override
public String toString() {
return String.format("%s %s, %d", vorname, name, id);
}
} }

View File

@ -1,12 +1,12 @@
package de.subway_surfers.vpr_app.logik; package Logik;
import java.util.ArrayList; import java.util.ArrayList;
public class Mahlzeit { public class Mahlzeit {
private String name; private String name;
private float preis; private float preis;
private ArrayList<Zutat> zutaten; private ArrayList<Zutat> zutaten;
private String beschreibung; private String beschreibung;
public Mahlzeit (String name, float preis, String beschreibung) { public Mahlzeit (String name, float preis, String beschreibung) {
this.name = name; this.name = name;

View File

@ -1,11 +1,11 @@
package de.subway_surfers.vpr_app.logik; package Logik;
import java.util.ArrayList; import java.util.ArrayList;
public class Tagesplan { public class Tagesplan {
private ArrayList<Mahlzeit> gerichte; private ArrayList<Mahlzeit> gerichte;
private String datum; private String datum;
public Tagesplan(String datum) { public Tagesplan(String datum) {
this.datum = datum; this.datum = datum;

View File

@ -1,4 +1,4 @@
package de.subway_surfers.vpr_app.logik; package Logik;
public class Zutat { public class Zutat {
private String name; private String name;

View File

@ -114,6 +114,7 @@ public class AccounterstellungMitarbeiter {
} }
private boolean eingabenGueltig() { private boolean eingabenGueltig() {
return true; return true;
} }
@ -121,6 +122,7 @@ public class AccounterstellungMitarbeiter {
if (eingabenGueltig()) { if (eingabenGueltig()) {
status.setText("Daten Erfolgreich gespeichert"); status.setText("Daten Erfolgreich gespeichert");
einmalpw.setText(einmalPwGenerieren()); einmalpw.setText(einmalPwGenerieren());
} }
} }

View File

@ -0,0 +1,111 @@
package de.subway_surfers.vpr_app;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.geometry.Insets;
import javafx.scene.control.Accordion;
import javafx.scene.control.ScrollPane;
import javafx.scene.control.TitledPane;
import java.util.ArrayList;
import java.util.List;
public class BestelluebersichtMitarbeiter {
@FXML
private ScrollPane scrollPane;
@FXML
private Accordion accordion;
public void initialize() {
List<String> datum = new ArrayList<>();
datum.add("15.10.1999");
datum.add("23.12.2002");
datum.add("05.01.2020");
accordion.setStyle("-fx-box-border: transparent;");
for (String s : datum) {
TitledPane datumUeberschrift = new TitledPane(s, createGerichtAkkordion());
datumUeberschrift.getStyleClass().add("titledPaneUeberschrift");
datumUeberschrift.animatedProperty().set(false);
datumUeberschrift.setPadding(new Insets(0, 0, 15, 0));
accordion.getPanes().add(datumUeberschrift);
}
scrollPane.setHbarPolicy(ScrollPane.ScrollBarPolicy.NEVER);
scrollPane.setVbarPolicy(ScrollPane.ScrollBarPolicy.ALWAYS);
}
private Accordion createGerichtAkkordion() {
Accordion accordion = new Accordion();
int anzahlGerichtA = 1;
int anzahlGerichtB = 15;
int anzahlGerichtC = 3;
int anzahlGerichtD = 2;
double preisGerichtA = 4.99;
double preisGerichtB = 9.99;
double preisGerichtC = 3.99;
double preisGerichtD = 12.49;
int anzahlNachtischA = 2;
int anzahlNachtischB = 213;
double preisNachtischA = 0.49;
double preisNachtischB = 99.49;
if (anzahlGerichtA >= 1) {
TitledPane tp = new TitledPane();
tp.setText("GerichtA " + anzahlGerichtA + "-Mal " + preisGerichtA * anzahlGerichtA + "");
accordion.getPanes().addAll(tp);
}
if (anzahlGerichtB >= 1) {
TitledPane tp = new TitledPane();
tp.setText("GerichtB " + anzahlGerichtB + "-Mal " + preisGerichtB * anzahlGerichtB + "");
accordion.getPanes().addAll(tp);
}
if (anzahlGerichtC >= 1) {
TitledPane tp = new TitledPane();
tp.setText("GerichtC " + anzahlGerichtC + "-Mal " + preisGerichtC * anzahlGerichtC + "");
accordion.getPanes().addAll(tp);
}
if (anzahlGerichtD >= 1) {
TitledPane tp = new TitledPane();
tp.setText("GerichtD " + anzahlGerichtD + "-Mal " + preisGerichtD * anzahlGerichtD + "");
accordion.getPanes().addAll(tp);
}
if(anzahlNachtischA >= 1){
TitledPane tp = new TitledPane();
tp.setText("NachtischA " + anzahlNachtischA + "-Mal " + preisNachtischA * anzahlNachtischA + "");
accordion.getPanes().addAll(tp);
}
if(anzahlNachtischA >= 1){
TitledPane tp = new TitledPane();
tp.setText("NachtischB " + anzahlNachtischB + "-Mal " + preisNachtischB * anzahlNachtischB + "");
accordion.getPanes().addAll(tp);
}
return accordion;
}
public void onAbmelden(ActionEvent event) {
VerwaltungApplication.abmelden();
}
public void onZurueck(ActionEvent actionEvent) {
VerwaltungApplication.sceneWechseln("hauptmenue_mitarbeiter-view.fxml");
}
}

View File

@ -41,6 +41,7 @@ public class EssensverwaltungMitarbeiterView {
} }
public void onFilter(ActionEvent actionEvent) { public void onFilter(ActionEvent actionEvent) {
VerwaltungApplication.sceneWechseln(new Stage(), 600, 400, "inhaltsstoffe_filtern-view.fxml");
} }
public void onHinzufuegen(ActionEvent actionEvent) { public void onHinzufuegen(ActionEvent actionEvent) {
@ -56,6 +57,6 @@ public class EssensverwaltungMitarbeiterView {
} }
public void onZurueck(ActionEvent actionEvent) { public void onZurueck(ActionEvent actionEvent) {
VerwaltungApplication.sceneWechseln("hauptmenue_mitarbeiter-view.fxml");
} }
} }

View File

@ -1,9 +1,8 @@
package de.subway_surfers.vpr_app; package de.subway_surfers.vpr_app;
import de.subway_surfers.vpr_app.logik.Zutat; import Logik.Zutat;
import javafx.event.ActionEvent; import javafx.event.ActionEvent;
import javafx.fxml.FXML; import javafx.fxml.FXML;
import javafx.scene.Node;
import javafx.scene.control.Button; import javafx.scene.control.Button;
import javafx.scene.control.TextArea; import javafx.scene.control.TextArea;
import javafx.scene.control.TextField; import javafx.scene.control.TextField;

View File

@ -15,4 +15,9 @@ public class HauptmenueMitarbeiterView {
public void onSpeiseplanClick(ActionEvent actionEvent) { public void onSpeiseplanClick(ActionEvent actionEvent) {
VerwaltungApplication.sceneWechseln("essensverwaltung_mitarbeiter-view.fxml"); VerwaltungApplication.sceneWechseln("essensverwaltung_mitarbeiter-view.fxml");
} }
public void onBestellungenAnzeigen(ActionEvent actionEvent) {
VerwaltungApplication.sceneWechseln("bestelluebersicht_mitarbeiter-view.fxml");
}
} }

View File

@ -26,7 +26,7 @@ public class VerwaltungApplication extends Application {
stage.setMinWidth(960); stage.setMinWidth(960);
stage.setMinHeight(540); stage.setMinHeight(540);
stage.setTitle("Hello!"); //stage.setTitle("Hello!");
stage.setScene(scene); stage.setScene(scene);
stage.show(); stage.show();

View File

@ -1,18 +1,21 @@
package de.subway_surfers.vpr_app.logik; package de.subway_surfers.vpr_app.logik;
import Logik.Zutat;
import java.util.ArrayList; import java.util.ArrayList;
public class Kind { public class Kind {
private String name;
private String vorname; private String name;
private int id; private String vorname;
private int id;
private ArrayList<Zutat> filter; private ArrayList<Zutat> filter;
public Kind(String name, String vorname, int id) { public Kind(String name, String vorname, int id) {
ArrayList<Zutat> filter = new ArrayList<>(); ArrayList<Zutat> filter = new ArrayList<>();
this.name = name; this.name = name;
this.vorname = vorname; this.vorname = vorname;
this.id = id; this.id = id;
} }
public String getName() { public String getName() {
@ -38,4 +41,4 @@ public class Kind {
public ArrayList<Zutat> getFilter() { public ArrayList<Zutat> getFilter() {
return filter; return filter;
} }
} }

View File

@ -51,7 +51,7 @@
<right> <right>
<HBox styleClass="button-untenrechts"> <HBox styleClass="button-untenrechts">
<Label fx:id="status"/> <Label fx:id="status"/>
<Button text="Speichern" onAction="#onSpeichern"/> <Button text="Speichern" defaultButton="true" onAction="#onSpeichern"/>
</HBox> </HBox>
</right> </right>
</BorderPane> </BorderPane>

View File

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.geometry.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<!-- Erstellt von Stefan Groß -->
<VBox prefHeight="400.0" prefWidth="600.0" stylesheets="@layout.css" xmlns="http://javafx.com/javafx/17.0.2-ea" xmlns:fx="http://javafx.com/fxml/1" fx:controller="de.subway_surfers.vpr_app.BestelluebersichtMitarbeiter">
<BorderPane styleClass="kopfzeile">
<left>
<Button fx:id="zurueck" text="Zurück" onAction="#onZurueck"/>
</left>
<right>
<Button fx:id="abmelden" text="Abmelden" onAction="#onAbmelden"/>
</right>
</BorderPane>
<ScrollPane fx:id="scrollPane" fitToWidth="true" VBox.vgrow="ALWAYS">
<padding>
<Insets bottom="30.0" left="30.0" right="30.0" top="30.0" />
</padding>
<Accordion fx:id="accordion">
</Accordion>
</ScrollPane>
</VBox>

View File

@ -58,7 +58,7 @@
<bottom> <bottom>
<BorderPane styleClass="button-untenrechts"> <BorderPane styleClass="button-untenrechts">
<right> <right>
<Button text="Bestätigen" styleClass=".button"/> <Button text="Bestätigen" defaultButton="true" styleClass=".button"/>
</right> </right>
</BorderPane> </BorderPane>
</bottom> </bottom>

View File

@ -26,7 +26,7 @@
<BorderPane> <BorderPane>
<right> <right>
<HBox styleClass="button_untenrechts"> <HBox styleClass="button_untenrechts">
<Button text="Speichern"/> <Button text="Speichern" defaultButton="true"/>
</HBox> </HBox>
</right> </right>
</BorderPane> </BorderPane>

View File

@ -24,7 +24,7 @@
<left> <left>
<VBox styleClass="hauptmenue_buttons_links"> <VBox styleClass="hauptmenue_buttons_links">
<Button text="Speiseplan" onAction="#onSpeiseplanClick"/> <Button text="Speiseplan" onAction="#onSpeiseplanClick"/>
<Button text="Alle Bestellungen anzeigen"/> <Button text="Alle Bestellungen anzeigen" onAction="#onBestellungenAnzeigen"/>
<Button text="Rechnungen herunterladen"/> <Button text="Rechnungen herunterladen"/>
<Button text="Daten importieren/Exportieren"/> <Button text="Daten importieren/Exportieren"/>
<Button text="Account anlegen" onAction="#onAccountAnlegenClick"/> <Button text="Account anlegen" onAction="#onAccountAnlegenClick"/>

View File

@ -8,14 +8,22 @@
<?import javafx.scene.control.*?> <?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?> <?import javafx.scene.layout.*?>
<VBox prefHeight="400.0" prefWidth="600.0" stylesheets="@layout.css" xmlns="http://javafx.com/javafx/17.0.2-ea" xmlns:fx="http://javafx.com/fxml/1" fx:controller="de.subway_surfers.vpr_app.InhaltsstoffeFilternController"> <VBox prefHeight="400.0" prefWidth="600.0" stylesheets="@layout.css" xmlns="http://javafx.com/javafx/17.0.2-ea" xmlns:fx="http://javafx.com/fxml/1" fx:controller="de.subway_surfers.vpr_app.InhaltsstoffeFilternController" styleClass="main">
<Label text="Nach Inhaltsstoffen filtern" /> <Label text="Nach Inhaltsstoffen filtern" />
<ListView fx:id="zutatListView" /> <ListView fx:id="zutatListView" />
<HBox prefHeight="128.0" prefWidth="600.0" styleClass="bottomHbox"> <BorderPane prefHeight="128.0" prefWidth="600.0" styleClass="filter_unten">
<CheckBox fx:id="speichernCheckBox" text="Auswahl für KindA speichern " /> <left>
<Button fx:id="abbrechenButton" cancelButton="true" text="Abbrechen" /> <HBox>
<Button fx:id="fortfahrenButton" defaultButton="true" text="Fortfahren" /> <CheckBox fx:id="speichernCheckBox" text="Auswahl speichern " />
</HBox> </HBox>
</VBox> </left>
<right>
<HBox styleClass="filter_unten">
<Button fx:id="abbrechenButton" cancelButton="true" text="Abbrechen" />
<Button fx:id="fortfahrenButton" defaultButton="true" text="Fortfahren" />
</HBox>
</right>
</BorderPane>
</VBox>

View File

@ -18,7 +18,7 @@
-fx-padding: 20; -fx-padding: 20;
} }
.hauptmenue_buttons_links, .gerichterstellung_felder{ .hauptmenue_buttons_links, .gerichterstellung_felder, .filter, .main, .filter_unten{
-fx-spacing: 20; -fx-spacing: 20;
} }
@ -103,4 +103,10 @@
.links { .links {
-fx-rotate: 180; -fx-rotate: 180;
}
.titledPaneUeberschrift > .title {
-fx-pref-height: 50;
-fx-padding: 10 10 16 10;
-fx-font-size: 15;
-fx-font-weight: bold;
} }

View File

@ -31,7 +31,7 @@
<BorderPane> <BorderPane>
<right> <right>
<VBox styleClass="button-untenrechts"> <VBox styleClass="button-untenrechts">
<Button text="Anmelden" onAction="#onAnmeldenClick"/> <Button text="Anmelden" defaultButton="true" onAction="#onAnmeldenClick"/>
</VBox> </VBox>
</right> </right>

View File

@ -23,8 +23,8 @@
<RadioButton fx:id="bezahlt" text="Alle bezahlten Anzeigen" /> <RadioButton fx:id="bezahlt" text="Alle bezahlten Anzeigen" />
<HBox> <HBox>
<Button fx:id="abbrechenButton" text="Abbruch" /> <Button fx:id="abbrechenButton" cancelButton="true" text="Abbruch" />
<Button fx:id="fortfahrenButton" text="Fortfahren" /> <Button fx:id="fortfahrenButton" defaultButton="true" text="Fortfahren" />
</HBox> </HBox>
</VBox> </VBox>