7 Commits

Author SHA1 Message Date
33ebabe083 RechnungFilter View+Controller 2023-12-13 18:19:02 +01:00
7eea5b2a50 ListView Item Controller + View 2023-12-13 18:08:20 +01:00
e8d29f851c Inhaltsstoffe-Filtern View+Controller 2023-12-13 17:27:57 +01:00
7f4fde9f4a Merge pull request 'samu' (#4) from samu into master
Reviewed-on: #4
2023-12-13 00:03:21 +01:00
ca919637a3 Kommentare + Regions 2023-12-13 00:01:35 +01:00
d69a3d6010 Klassen erstellt 2023-12-12 23:50:10 +01:00
aa9baabb5c weiß nicht was das ist 2023-12-12 23:21:00 +01:00
12 changed files with 447 additions and 1 deletions

3
.idea/misc.xml generated
View File

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

View File

@@ -0,0 +1,50 @@
// Programmiert von Samuel Wolff
// Noch nicht getestet
package Logik;
public class Account {
// region Felder
private String passwort;
private int id;
private String benutzername;
// endregion
// region Getter & Setter
public String getPasswort() {
return passwort;
}
public void setPasswort(String passwort) {
this.passwort = passwort;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getBenutzername() {
return benutzername;
}
public void setBenutzername(String benutzername) {
this.benutzername = benutzername;
}
// endregion
// region Konstruktoren
public Account(String passwort, String benutzername) {
this.passwort = passwort;
this.benutzername = benutzername;
}
// endregion
}

View File

@@ -0,0 +1,72 @@
// Programmiert von Samuel Wolff
// Noch nicht getestet
//
// TODO: Methoden implementieren!
//
package Logik;
import java.nio.file.WatchEvent;
import java.util.ArrayList;
public class Benutzer extends Account {
// region Felder
private String email;
private ArrayList<Kind> kinder;
// endregion
// region Getter & Setter
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public ArrayList<Kind> getKinder() {
return kinder;
}
public void setKinder(ArrayList<Kind> kinder) {
this.kinder = kinder;
}
// endregion
// region Konstruktoren
public Benutzer(String passwort, String benutzername, String email) {
super(passwort, benutzername);
this.email = email;
kinder = new ArrayList<>();
}
// endregion
// region Methoden
/**
* Lädt eine Rechnung herunter
*/
public void rechnungHerunterladen() {
}
/**
* Bestellt eine Mahlzeit
*/
public void mahlzeitBestellen() {
}
/**
* Zeigt Rechnungen gefiltert an
* @param params Die Filter Argumente
*/
public void rechnungAnzeigen(String params) {
}
// endregion
}

View File

@@ -0,0 +1,59 @@
package Logik;
import java.util.ArrayList;
public class Kind {
// region Felder
private String name;
private String vorname;
private int id;
// TODO Zutat implementieren!
// private ArrayList<Zutat> filter;
// endregion
// region Getter & Setter
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 void setId(int id) {
this.id = id;
}
// TODO Zutat implementieren!
/*
public ArrayList<Zutat> getFilter() {
return filter;
}
public void setFilter(ArrayList<Zutat> filter) {
this.filter = filter;
}
*/
// endregion
// region Konstruktoren
public Kind(String name, String vorname) {
this.name = name;
this.vorname = vorname;
}
// endregion
}

View File

@@ -0,0 +1,87 @@
// Programmiert von Samuel Wolff
// Noch nicht getestet
//
// TODO Methoden implementieren
//
package Logik;
import java.util.ArrayList;
public class MitarbeiterAccount extends Account {
// region Konstrukoren
public MitarbeiterAccount(String passwort, String benutzername) {
super(passwort, benutzername);
}
//endregion
// region Methoden
/**
* Setzt das Passwort eines gegebenen Accounts auf das gegebene Passwort zurück
* @param other Der Accout dessen Passwort zurückgesetzt wird
* @param passwort Das neue Passwort
*/
public void passwortZurzecksetzen(Account other, String passwort) {
// Soll das so?
other.setPasswort(passwort);
}
/**
* Bestellt eine Mahlzeit
*/
public void mahlzeitBestellen() {
}
/**
* Ändert einen Tagesplan
*/
public void tagesplanAendern() {
}
/**
* Erstellt einen neuen Account und fügt ihn in die Datenbank ein
* @param passwort Passwort des neuen Accounts
* @param benutzername Benutzername des neuen Accounts
* @param email Die E-Mail mit der sich der User einloggt
* @param kinder Eine Liste mit allen zugehörigen Kindern des Accounts
*/
public void accountErstellen(String passwort, String benutzername, String email, ArrayList<Kind> kinder) {
Benutzer newAccount = new Benutzer(passwort, benutzername, email);
newAccount.setKinder(kinder);
// Id muss aus der Datenbank geholt werden und dann gesetzt werden
}
/**
* Zeigt Rechnungen gefilter nach params an
* @param params Die Filter Arguemente
*/
public void rechnungAnzeigen(String[] params) {
}
// TODO sollte hier nicht noch ein User mitgegeben werden?
/**
* Weist ein Kind einem Account zu
* @param kind Das zuzuweisende Kind
*/
public void kinderZuweisen(Kind kind) {
}
// TODO hier auch?
/**
* Zeigt einen Benutzer an
*/
public void zeigeBenutzer() {
}
// endregion
}

View File

@@ -0,0 +1,29 @@
// Programmiert von Samuel Wolff
// Noch nicht getestet
// TODO Alle Zutaten einlesen und Listview mit zutatListView Objekten füllen
package de.subway_surfers.vpr_app;
import Logik.Kind;
import javafx.fxml.FXML;
import javafx.scene.control.Button;
import javafx.scene.control.CheckBox;
import javafx.scene.control.ListView;
public class InhaltsstoffeFilternController {
private @FXML ListView<zutatListViewController> zutatListView;
private @FXML CheckBox speichernCheckBox;
private @FXML Button abbrechenButton;
private @FXML Button fortfahrenButton;
public void initialize(){
// hier ListView füllen
}
}

View File

@@ -0,0 +1,29 @@
// Programmiert von Samuel Wolff
// Noch nicht getestet
package de.subway_surfers.vpr_app;
import javafx.fxml.FXML;
import javafx.scene.control.Button;
import javafx.scene.control.RadioButton;
import javafx.scene.control.ToggleGroup;
public class RechnungFilterViewController {
private @FXML RadioButton alle;
private @FXML RadioButton nichtBezahlt;
private @FXML RadioButton bezahlt;
private ToggleGroup rButtons;
private @FXML Button abbrechenButton;
private @FXML Button fortfahrenButton;
public void initialize(){
rButtons = new ToggleGroup();
alle.setToggleGroup(rButtons);
nichtBezahlt.setToggleGroup(rButtons);
bezahlt.setToggleGroup(rButtons);
}
}

View File

@@ -0,0 +1,29 @@
// Programmiert von Samuel Wolff
// Noch nicht getestet
// TODO Sobald Zutat-Klasse implementiert ist Kommentare entfernen
package de.subway_surfers.vpr_app;
import javafx.fxml.FXML;
import javafx.scene.control.CheckBox;
import javafx.scene.control.Label;
public class zutatListViewController {
//private Zutat zutat;
private @FXML CheckBox isChecked;
private @FXML Label nameLabel;
/*public zutatListViewController(Zutat zutat){
this.zutat = zutat;
}*/
public void initialize(){
nameLabel.setText("ZutatA");
}
}

View File

@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- Programmiert von Samuel Wolff
Noch nicht getestet
TODO Style einbauen
-->
<?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">
<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>

View File

@@ -82,3 +82,18 @@
-fx-background-color: #FFDCDC;
-fx-text-fill: #FFDCDC;
}
/* Inhaltsstoffe filtern View */
.bottomHbox{
-fx-padding: 5px;
-fx-border-insets: 5px;
-fx-background-insets: 5px;
-fx-alignment: CENTER_LEFT;
}
.bottomHbox > CheckBox{
}

View File

@@ -0,0 +1,30 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Programmiert von Samuel Wolff
Noch nicht getestet
TODO Style einbinden
-->
<?import java.lang.*?>
<?import java.util.*?>
<?import javafx.scene.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<VBox xmlns="http://javafx.com/javafx"
xmlns:fx="http://javafx.com/fxml"
fx:controller="de.subway_surfers.vpr_app.RechnungFilterViewController"
prefHeight="400.0" prefWidth="600.0"
stylesheets="@layout.css">
<RadioButton fx:id="alle" text="Alle anzeigen" />
<RadioButton fx:id="nichtBezahlt" text="Alle nicht bezahlten Anzeigen" />
<RadioButton fx:id="bezahlt" text="Alle bezahlten Anzeigen" />
<HBox>
<Button fx:id="abbrechenButton" text="Abbruch" />
<Button fx:id="fortfahrenButton" text="Fortfahren" />
</HBox>
</VBox>

View File

@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
Programmiert von Samuel Wolff
Noch nicht getestet
TODO Style einbauen
-->
<?import java.lang.*?>
<?import java.util.*?>
<?import javafx.scene.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<HBox xmlns="http://javafx.com/javafx"
xmlns:fx="http://javafx.com/fxml"
fx:controller="de.subway_surfers.vpr_app.zutatListViewController"
prefHeight="400.0" prefWidth="600.0"
stylesheets="@layout.css">
<CheckBox fx:id="isChecked" />
<Label fx:id="nameLabel" text="placeholder" />
</HBox>