summaryrefslogtreecommitdiffstats
path: root/src/de/fhswf/in/inf/se/projektthemenvergabe/view/ProjektthemenverwaltungsController.java
diff options
context:
space:
mode:
authorStefan Suhren <suhren.stefan@fh-swf.de>2015-12-16 13:04:59 +0100
committerStefan Suhren <suhren.stefan@fh-swf.de>2015-12-16 13:04:59 +0100
commit23e28615373b2b5b3c12766aaa49cbc9c4c3d7d8 (patch)
treeffacc4ebf8406f7328b3789a202b87e6f70b2b9c /src/de/fhswf/in/inf/se/projektthemenvergabe/view/ProjektthemenverwaltungsController.java
parent4212a6f91b1a5298e1ad935bbc91b8af3084e49e (diff)
downloadProjektthemenvergabe-23e28615373b2b5b3c12766aaa49cbc9c4c3d7d8.tar.gz
Projektthemenvergabe-23e28615373b2b5b3c12766aaa49cbc9c4c3d7d8.zip
Add filter to the ProjektTableView
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.java54
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