Compare commits

...

22 Commits

Author SHA1 Message Date
c967746bba Misc changes + Kommentare 2024-01-08 09:14:17 +01:00
19b9e17d0f Merge remote-tracking branch 'origin/master' into samu_masken 2024-01-08 08:35:09 +01:00
98826d1b9f Erster Commit 2024. *smileyface*
keinen Plan was der macht tho
2024-01-08 08:34:13 +01:00
a4c908c1ba Merge branch 'master' into samu_masken 2024-01-08 08:32:40 +01:00
3832d5a326 Merge pull request 'samu_masken' (#9) from samu_masken into master
Reviewed-on: #9
2023-12-20 09:56:31 +01:00
eddd8d14dd Danke Max, dass ich deine Arbeit erledigen darf. :3 2023-12-20 08:34:58 +01:00
8dd43b212e Einbindung Filter in Gerichtsverwaltung 2023-12-20 08:30:57 +01:00
20db36e70e Merge remote-tracking branch 'origin/stefan'
# Conflicts:
#	src/main/resources/de/subway_surfers/vpr_app/layout.css
2023-12-20 08:18:52 +01:00
4ce1fa5204 Einbindung Filter in Gerichtsverwaltung 2023-12-19 12:16:53 +01:00
Avapox
62521c5b5c BestelluebersichtMitarbeiter Maske (fast fertig) 2023-12-18 09:03:28 +01:00
e12d6e6157 Merge pull request 'samu_masken' (#8) from samu_masken into master
Reviewed-on: #8
2023-12-18 08:48:21 +01:00
ffd85c6519 Merge remote-tracking branch 'origin/samu_masken' 2023-12-14 09:20:07 +01:00
bd3bf8e07c Merge pull request 'samu_masken' (#7) from samu_masken into master
Reviewed-on: #7 Der Fehler war eine Leerzeile am Ende
2023-12-14 08:59:58 +01:00
SvenAlte
99419ed471 Gericht erstellen Maske 2023-12-13 18:51:01 +01:00
SvenAlte
cf4014f552 Merge remote-tracking branch 'origin/Max_EssensverwaltungMitarbeiter'
# Conflicts:
#	.idea/misc.xml
#	src/main/resources/de/subway_surfers/vpr_app/layout.css
2023-12-13 13:03:00 +01:00
2b719ea39f test 2023-12-13 12:47:18 +01:00
2652f5e9ac EssensverwaltungMitarbeiter Maske 2023-12-13 12:43:22 +01:00
Avapox
05c829a633 BestelluebersichtMitarbeiter Maske (nicht fertig) 2023-12-13 11:05:06 +01:00
SvenAlte
7422271b9d Kind,Zutat,Tagesplan,Mahlzeit 2023-12-13 09:52:45 +01:00
ce161a6caf Merge pull request 'AccounterstellungVornameUndNachname' (#5) from KindImplementierung into master
Reviewed-on: #5
2023-12-13 08:16:44 +01:00
SvenAlte
b552284f21 AccounterstellungVornameUndNachname 2023-12-13 08:16:01 +01:00
Avapox
d24616fe00 BestelluebersichtMitarbeiter Maske (nicht fertig) 2023-12-11 16:03:05 +01:00
23 changed files with 631 additions and 65 deletions

View File

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

View File

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

View File

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

View File

@ -0,0 +1,34 @@
package Logik;
import java.util.ArrayList;
public class Mahlzeit {
private String name;
private float preis;
private ArrayList<Zutat> 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<Zutat> getZutaten() {
return zutaten;
}
public String getBeschreibung() {
return beschreibung;
}
}

View File

@ -0,0 +1,22 @@
package Logik;
import java.util.ArrayList;
public class Tagesplan {
private ArrayList<Mahlzeit> gerichte;
private String datum;
public Tagesplan(String datum) {
this.datum = datum;
}
public ArrayList<Mahlzeit> getGerichte() {
return gerichte;
}
public String getDatum() {
return datum;
}
}

View File

@ -0,0 +1,12 @@
package Logik;
public class Zutat {
private String name;
public Zutat (String name) {
this.name = name;
}
public String getName(){
return this.name;
}
}

View File

@ -5,7 +5,6 @@ import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.nio.charset.StandardCharsets;
import java.nio.file.WatchEvent;
import Logik.Kind;
import com.google.gson.Gson;
@ -28,20 +27,10 @@ public class RestApiClient implements IRestAPI{
gson = new Gson();
}
public static void main(String[] args){
Kind kind = new Kind("Klein", "Kevin", 2);
String json = new Gson().toJson(kind);
new RestApiClient().post("Kind", json);
}
/**
* @param controllerName
* Methode für einen Get-Aufruf. Ruft alle Elemente einer Tabelle auf.
*
* @param controllerName Name des aufzurufenden Controllers
*/
@Override
public void get(String controllerName) {
@ -67,8 +56,10 @@ public class RestApiClient implements IRestAPI{
}
/**
* @param controllerName
* @param id
* Methode für einen Get-Aufruf. Ruft ein spezifisches Element auf.
*
* @param controllerName Name des aufzurufenden Controllers
* @param id Id der Aufzurufenden Zeile
*/
@Override
public void get(String controllerName, int id) {
@ -97,9 +88,11 @@ public class RestApiClient implements IRestAPI{
}
/**
* @param controllerName
* @param id
* @param bezahlt
* Methode für einen Get-Aufruf. Ruft ein spezielles Element auf.
*
* @param controllerName Name des aufzurufenden Controllers
* @param id Id der Aufzurufenden Zeile
* @param bezahlt TODO Warum ist das hier?
*/
@Override
public void get(String controllerName, int id, boolean bezahlt) {
@ -123,8 +116,11 @@ public class RestApiClient implements IRestAPI{
}
/**
* @param controllerName
* @param id
* Methode für einen Put-Aufruf. Aktualisiert einen Eintrag.
*
* @param controllerName Name des aufzurufenden Controllers.
* @param id Id des zu änderenden Eintrags.
* @param jsonData JsonString mit den neuen Daten.
*/
@Override
public void put(String controllerName, int id, String jsonData) {
@ -150,7 +146,10 @@ public class RestApiClient implements IRestAPI{
}
/**
* @param controllerName
* Methode für einen Post-Aufruf. Fügt einen Eintrag in eine Datenbank hinzu.
*
* @param controllerName Name des aufzurufenden Controllers.
* @param jsonData JsonString mit den Daten des Eintrags.
*/
@Override
public void post(String controllerName, String jsonData) {
@ -177,12 +176,33 @@ public class RestApiClient implements IRestAPI{
}
/**
* @param controllerName
* @param id
* Methode für einen Delete-Aufruf. Löscht einen Eintrag mit einer Id.
*
* @param controllerName Name des aufzurufenden Controllers
* @param id Id des zu löschenden Eintrags.
*/
@Override
public void delete(String controllerName, int id) {
URI apiUri = URI.create(String.format("%s/%s/%d", urlBase,controllerName, id));
System.out.println(apiUri);
HttpRequest httpRequest = HttpRequest.newBuilder()
.uri(apiUri)
.header("Content-Type", "application/json")
.DELETE()
.build();
try {
// Send the request and get the response
HttpResponse<String> httpResponse = client.send(httpRequest, HttpResponse.BodyHandlers.ofString());
// Print the response status code and body
System.out.println("Status Code: " + httpResponse.statusCode());
System.out.println("Response Body: " + httpResponse.body());
} catch (Exception e) {
e.printStackTrace();
}
}
}

View File

@ -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("");
}
});
@ -102,6 +114,7 @@ public class AccounterstellungMitarbeiter {
}
private boolean eingabenGueltig() {
return true;
}
@ -109,6 +122,7 @@ public class AccounterstellungMitarbeiter {
if (eingabenGueltig()) {
status.setText("Daten Erfolgreich gespeichert");
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

@ -0,0 +1,62 @@
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) {
VerwaltungApplication.sceneWechseln(new Stage(), 600, 400, "inhaltsstoffe_filtern-view.fxml");
}
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) {
VerwaltungApplication.sceneWechseln("hauptmenue_mitarbeiter-view.fxml");
}
}

View File

@ -0,0 +1,51 @@
package de.subway_surfers.vpr_app;
import Logik.Zutat;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
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<Zutat> 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);
});
}
}
}

View File

@ -8,8 +8,16 @@ 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");
}
public void onBestellungenAnzeigen(ActionEvent actionEvent) {
VerwaltungApplication.sceneWechseln("bestelluebersicht_mitarbeiter-view.fxml");
}
}

View File

@ -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;
@ -23,7 +26,7 @@ public class VerwaltungApplication extends Application {
stage.setMinWidth(960);
stage.setMinHeight(540);
stage.setTitle("Hello!");
//stage.setTitle("Hello!");
stage.setScene(scene);
stage.show();
@ -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();
}

View File

@ -0,0 +1,44 @@
package de.subway_surfers.vpr_app.logik;
import Logik.Zutat;
import java.util.ArrayList;
public class Kind {
private String name;
private String vorname;
private int id;
private ArrayList<Zutat> filter;
public Kind(String name, String vorname, int id) {
ArrayList<Zutat> 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<Zutat> getFilter() {
return filter;
}
}

View File

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

@ -0,0 +1,65 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--Erstellt von Max Heer-->
<?import java.lang.*?>
<?import java.util.*?>
<?import javafx.scene.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<BorderPane xmlns="http://javafx.com/javafx"
xmlns:fx="http://javafx.com/fxml"
fx:controller="de.subway_surfers.vpr_app.EssensverwaltungMitarbeiterView"
prefHeight="400.0" prefWidth="600.0"
stylesheets="@layout.css">
<top>
<BorderPane styleClass="kopfzeile">
<right>
<Button text="Abmelden" onAction="#onAbmelden"/>
</right>
<left>
<Button text="Zurück" onAction="#onZurueck"/>
</left>
</BorderPane>
</top>
<center>
<BorderPane>
<top>
<BorderPane>
<left>
<HBox styleClass="test" spacing="10">
<Button text="Filter" onAction="#onFilter"/>
<Button text="Hinzufügen" onAction="#onHinzufuegen"/>
</HBox>
</left>
<right>
<HBox styleClass="test" spacing="10">
<Button styleClass="pfeil, links"/>
<Label text="Montag DD.MM.YY"/>
<Button styleClass="pfeil"/>
</HBox>
</right>
</BorderPane>
</top>
<center>
<AnchorPane>
<GridPane fx:id="tagesplan" AnchorPane.bottomAnchor="20" AnchorPane.rightAnchor="20" AnchorPane.leftAnchor="20" AnchorPane.topAnchor="20" styleClass="essensuebersicht_gridlines">
<Label text="GerichtName" GridPane.columnIndex="0" GridPane.rowIndex="0"/>
<Label GridPane.columnIndex="1" GridPane.rowIndex="0"/>
<Label GridPane.columnIndex="2" GridPane.rowIndex="0"/>
<Label GridPane.columnIndex="3" GridPane.rowIndex="0"/>
<Label GridPane.columnIndex="0" GridPane.rowIndex="1"/>
</GridPane>
</AnchorPane>
</center>
</BorderPane>
</center>
<bottom>
<BorderPane styleClass="button-untenrechts">
<right>
<Button text="Bestätigen" defaultButton="true" styleClass=".button"/>
</right>
</BorderPane>
</bottom>
</BorderPane>

View File

@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8"?>
<?import java.lang.*?>
<?import java.util.*?>
<?import javafx.scene.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<BorderPane xmlns="http://javafx.com/javafx"
xmlns:fx="http://javafx.com/fxml"
fx:controller="de.subway_surfers.vpr_app.GerichterstellungMitarbeiterView"
prefHeight="400.0" prefWidth="600.0"
stylesheets="@layout.css" styleClass="main">
<center>
<VBox styleClass="gerichterstellung_felder">
<TextField fx:id="eingabeName" promptText="Name des Gerichtes" focusTraversable="false"/>
<TextArea fx:id="eingabeBeschreibung" promptText="Beschreibung" focusTraversable="false"/>
<HBox>
<TextField fx:id="eingabeInhaltsstoffe" promptText="Inhaltsstoffe" focusTraversable="false"/>
<Button fx:id="buttonInhaltsstoffe" onAction="#onButtonInhaltsstoffeClick" text="Hinzufügen"/>
</HBox>
<HBox fx:id="anzeigeInhaltsstoffe" />
</VBox>
</center>
<bottom>
<BorderPane>
<right>
<HBox styleClass="button_untenrechts">
<Button text="Speichern" defaultButton="true"/>
</HBox>
</right>
</BorderPane>
</bottom>
</BorderPane>

View File

@ -23,11 +23,11 @@
<BorderPane styleClass="main">
<left>
<VBox styleClass="hauptmenue_buttons_links">
<Button text="Speiseplan"/>
<Button text="Alle Bestellungen anzeigen"/>
<Button text="Speiseplan" onAction="#onSpeiseplanClick"/>
<Button text="Alle Bestellungen anzeigen" onAction="#onBestellungenAnzeigen"/>
<Button text="Rechnungen herunterladen"/>
<Button text="Daten importieren/Exportieren"/>
<Button text="Account anlegen" onAction="#onAccountAnlegen"/>
<Button text="Account anlegen" onAction="#onAccountAnlegenClick"/>
</VBox>
</left>
<right>

View File

@ -8,14 +8,22 @@
<?import javafx.scene.control.*?>
<?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" />
<ListView fx:id="zutatListView" />
<HBox prefHeight="128.0" prefWidth="600.0" styleClass="bottomHbox">
<CheckBox fx:id="speichernCheckBox" text="Auswahl für KindA speichern " />
<Button fx:id="abbrechenButton" cancelButton="true" text="Abbrechen" />
<Button fx:id="fortfahrenButton" defaultButton="true" text="Fortfahren" />
</HBox>
</VBox>
<BorderPane prefHeight="128.0" prefWidth="600.0" styleClass="filter_unten">
<left>
<HBox>
<CheckBox fx:id="speichernCheckBox" text="Auswahl speichern " />
</HBox>
</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;
}
.hauptmenue_buttons_links{
.hauptmenue_buttons_links, .gerichterstellung_felder, .filter, .main, .filter_unten{
-fx-spacing: 20;
}
@ -73,6 +73,13 @@
-fx-vgap: 10;
-fx-hgap: 10;
}
.test {
-fx-padding: 10 20;
}
.essensuebersicht_gridlines {
-fx-grid-lines-visible: true;
}
.accounterstellung_links {
-fx-spacing: 20;
@ -81,4 +88,25 @@
.falscheEingabe {
-fx-background-color: #FFDCDC;
-fx-text-fill: #FFDCDC;
}
.essensuebersicht_gridlines > * {
-fx-alignment: center;
}
.pfeil{
-fx-background-color: -fx-mark-highlight-color, -fx-mark-color;
-fx-background-insets: 0 0 -1 0, 0;
-fx-padding: 0.25em;
-fx-shape: "M 0 -3.5 v 7 l 4 -3.5 z";
-fx-pref-width: 25;
}
.links {
-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>
<right>
<VBox styleClass="button-untenrechts">
<Button text="Anmelden" onAction="#onAnmeldenClick"/>
<Button text="Anmelden" defaultButton="true" onAction="#onAnmeldenClick"/>
</VBox>
</right>

View File

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