diff options
Diffstat (limited to 'src/de/fhswf/in/inf/se/projektthemenvergabe/view/ProjektthemenverwaltungsController.java')
| -rw-r--r-- | src/de/fhswf/in/inf/se/projektthemenvergabe/view/ProjektthemenverwaltungsController.java | 54 |
1 files changed, 53 insertions, 1 deletions
diff --git a/src/de/fhswf/in/inf/se/projektthemenvergabe/view/ProjektthemenverwaltungsController.java b/src/de/fhswf/in/inf/se/projektthemenvergabe/view/ProjektthemenverwaltungsController.java index 2731d7c..179ad98 100644 --- a/src/de/fhswf/in/inf/se/projektthemenvergabe/view/ProjektthemenverwaltungsController.java +++ b/src/de/fhswf/in/inf/se/projektthemenvergabe/view/ProjektthemenverwaltungsController.java @@ -3,6 +3,8 @@ package de.fhswf.in.inf.se.projektthemenvergabe.view; import de.fhswf.in.inf.se.projektthemenvergabe.Main; import de.fhswf.in.inf.se.projektthemenvergabe.model.Projekt; import javafx.application.Platform; +import javafx.collections.transformation.FilteredList; +import javafx.collections.transformation.SortedList; import javafx.fxml.FXML; import javafx.scene.control.Button; import javafx.scene.control.MenuItem; @@ -47,6 +49,8 @@ public class ProjektthemenverwaltungsController private Main main; + private FilteredList<Projekt> filterList; + @FXML private void initialize() { @@ -79,7 +83,55 @@ public class ProjektthemenverwaltungsController public void setMain(Main main) { this.main = main; - projektTableView.setItems(main.getProjekte()); + + filterList = new FilteredList<>(main.getProjekte()); + + SortedList<Projekt> sortedList = new SortedList<>(filterList); + sortedList.comparatorProperty() + .bind(projektTableView.comparatorProperty()); + + projektTableView.setItems(sortedList); + } + + @FXML + private void handleShowAll() + { + filterList.setPredicate(null); + } + + @FXML + private void handleShowInBearbeitung() + { + filterList.setPredicate((projekt) -> projekt.getStatus() + .equals(Projekt.getStatusList().get(0))); + } + + @FXML + private void handleShowEingereicht() + { + filterList.setPredicate((projekt) -> projekt.getStatus() + .equals(Projekt.getStatusList().get(1))); + } + + @FXML + private void handleShowInUeberabeitung() + { + filterList.setPredicate((projekt) -> projekt.getStatus() + .equals(Projekt.getStatusList().get(2))); + } + + @FXML + private void handleShowAngenommen() + { + filterList.setPredicate((projekt) -> projekt.getStatus() + .equals(Projekt.getStatusList().get(3))); + } + + @FXML + private void handleShowAbgelehnt() + { + filterList.setPredicate((projekt) -> projekt.getStatus() + .equals(Projekt.getStatusList().get(4))); } @FXML |
