diff options
| author | Stefan Suhren <suhren.stefan@fh-swf.de> | 2016-01-12 13:16:15 +0100 |
|---|---|---|
| committer | Stefan Suhren <suhren.stefan@fh-swf.de> | 2016-01-12 13:16:15 +0100 |
| commit | 73a8dd6ebd286ea9de3af32d9b5e7751cbc7ab72 (patch) | |
| tree | 7ccd342b1c1322269a689d6c508f3c1f8dd38768 /src/de/fhswf/in | |
| parent | 993cba579295a06209fc9109243837f101ae0010 (diff) | |
| download | Projektthemenvergabe-73a8dd6ebd286ea9de3af32d9b5e7751cbc7ab72.tar.gz Projektthemenvergabe-73a8dd6ebd286ea9de3af32d9b5e7751cbc7ab72.zip | |
Update extractors for the model
Diffstat (limited to 'src/de/fhswf/in')
3 files changed, 27 insertions, 10 deletions
diff --git a/src/de/fhswf/in/inf/se/projektthemenvergabe/Main.java b/src/de/fhswf/in/inf/se/projektthemenvergabe/Main.java index 9c93b5a..53bcd7f 100644 --- a/src/de/fhswf/in/inf/se/projektthemenvergabe/Main.java +++ b/src/de/fhswf/in/inf/se/projektthemenvergabe/Main.java @@ -38,7 +38,7 @@ public class Main extends Application .observableArrayList(Projekt.extractor()); private ObservableList<Student> studenten = FXCollections - .observableArrayList(); + .observableArrayList(Student.extractor()); private Stage primaryStage; diff --git a/src/de/fhswf/in/inf/se/projektthemenvergabe/model/Projekt.java b/src/de/fhswf/in/inf/se/projektthemenvergabe/model/Projekt.java index bcaba6f..ca017cd 100644 --- a/src/de/fhswf/in/inf/se/projektthemenvergabe/model/Projekt.java +++ b/src/de/fhswf/in/inf/se/projektthemenvergabe/model/Projekt.java @@ -1,14 +1,12 @@ package de.fhswf.in.inf.se.projektthemenvergabe.model; -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - import javafx.beans.Observable; import javafx.beans.property.ObjectProperty; import javafx.beans.property.SimpleObjectProperty; import javafx.beans.property.SimpleStringProperty; import javafx.beans.property.StringProperty; +import javafx.collections.FXCollections; +import javafx.collections.ObservableList; import javafx.util.Callback; /** @@ -28,7 +26,8 @@ public class Projekt private StringProperty projekteinhalte = new SimpleStringProperty(""); - private ArrayList<Student> student = new ArrayList<Student>(); + private ObservableList<Student> student = FXCollections + .observableArrayList(Student.extractor()); private ObjectProperty<Ansprechpartner> ansprechpartner = new SimpleObjectProperty<>(); @@ -45,7 +44,10 @@ public class Projekt */ public static Callback<Projekt, Observable[]> extractor() { - return projekt -> new Observable[] { projekt.statusProperty() }; + return projekt -> new Observable[] { projekt.projektthemaProperty(), + projekt.skizzeProperty(), projekt.projektbeschreibungProperty(), + projekt.projekteinhalteProperty(), projekt.getStudents(), + projekt.ansprechpartnerProperty(), projekt.statusProperty() }; } /** @@ -276,11 +278,11 @@ public class Projekt /** * Getter for an unmodifiable list of students. * - * @return Collection.unmodifiableList(student) + * @return FXCollections.unmodifiableObservableList(student) */ - public List<Student> getStudents() + public ObservableList<Student> getStudents() { - return Collections.unmodifiableList(student); + return FXCollections.unmodifiableObservableList(student); } /** diff --git a/src/de/fhswf/in/inf/se/projektthemenvergabe/model/Student.java b/src/de/fhswf/in/inf/se/projektthemenvergabe/model/Student.java index 7265b94..89c80bb 100644 --- a/src/de/fhswf/in/inf/se/projektthemenvergabe/model/Student.java +++ b/src/de/fhswf/in/inf/se/projektthemenvergabe/model/Student.java @@ -1,11 +1,13 @@ package de.fhswf.in.inf.se.projektthemenvergabe.model; +import javafx.beans.Observable; import javafx.beans.property.IntegerProperty; import javafx.beans.property.ObjectProperty; import javafx.beans.property.SimpleIntegerProperty; import javafx.beans.property.SimpleObjectProperty; import javafx.beans.property.SimpleStringProperty; import javafx.beans.property.StringProperty; +import javafx.util.Callback; /** * @@ -25,6 +27,19 @@ public class Student private ObjectProperty<Projekt> projekt = new SimpleObjectProperty<>(); /** + * Generates an extractor that fires when a property of a list value + * changes. + * + * @return The extractor. + */ + public static Callback<Student, Observable[]> extractor() + { + return student -> new Observable[] { student.matrikelnummerProperty(), + student.vornameProperty(), student.nachnameProperty(), + student.projektProperty() }; + } + + /** * Constructor of {@link Student}. * * @param matrikelnummer |
