summaryrefslogtreecommitdiffstats
path: root/src/de/fhswf/in/inf
diff options
context:
space:
mode:
Diffstat (limited to 'src/de/fhswf/in/inf')
-rw-r--r--src/de/fhswf/in/inf/se/projektthemenvergabe/model/Projekt.java52
-rw-r--r--src/de/fhswf/in/inf/se/projektthemenvergabe/view/ProjektthemenverwaltungsController.java17
2 files changed, 45 insertions, 24 deletions
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 f9ab493..a2bd162 100644
--- a/src/de/fhswf/in/inf/se/projektthemenvergabe/model/Projekt.java
+++ b/src/de/fhswf/in/inf/se/projektthemenvergabe/model/Projekt.java
@@ -9,8 +9,6 @@ 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;
public class Projekt
@@ -27,8 +25,10 @@ public class Projekt
private Ansprechpartner ansprechpartner;
- private StringProperty status = new SimpleStringProperty(
- getStatusList().get(0));
+ private ObjectProperty<StatusTypes> status = new SimpleObjectProperty<>(
+ StatusTypes.IN_BEARBEITUNG);
+
+ private StringProperty dozentenkommentar = new SimpleStringProperty("");
/**
* Generates an extractor that fires when a property of a list value
@@ -41,17 +41,22 @@ public class Projekt
return projekt -> new Observable[] { projekt.statusProperty() };
}
- public static ObservableList<String> getStatusList()
- {
- ObservableList<String> status = FXCollections.observableArrayList();
+ public static enum StatusTypes {
+ IN_BEARBEITUNG("In Bearbeitung"), EINGEREICHT(
+ "Eingereicht"), IN_UEBERARBEITUNG("In Überarbeitung"), ANGENOMMEN(
+ "Angenommen"), ABGELEHNT("Abgelehnt");
- status.add("In Bearbeitung");
- status.add("Eingereicht");
- status.add("In Überarbeitung");
- status.add("Angenommen");
- status.add("Abgelehnt");
+ private String text;
+
+ StatusTypes(String text)
+ {
+ this.text = text;
+ }
- return FXCollections.unmodifiableObservableList(status);
+ public String toString()
+ {
+ return text;
+ }
}
public Projekt(
@@ -165,21 +170,36 @@ public class Projekt
return this.ansprechpartner;
}
- public final StringProperty statusProperty()
+ public final ObjectProperty<StatusTypes> statusProperty()
{
return this.status;
}
- public final String getStatus()
+ public final StatusTypes getStatus()
{
return this.statusProperty().get();
}
- public final void setStatus(final String status)
+ public final void setStatus(final StatusTypes status)
{
this.statusProperty().set(status);
}
+ public final StringProperty dozentenkommentarProperty()
+ {
+ return this.dozentenkommentar;
+ }
+
+ public final String getDozentenkommentar()
+ {
+ return this.dozentenkommentarProperty().get();
+ }
+
+ public final void setDozentenkommentar(final String dozentenkommentar)
+ {
+ this.dozentenkommentarProperty().set(dozentenkommentar);
+ }
+
/*
* (non-Javadoc)
*
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 179ad98..aa74270 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,7 @@ 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.FXCollections;
import javafx.collections.transformation.FilteredList;
import javafx.collections.transformation.SortedList;
import javafx.fxml.FXML;
@@ -33,7 +34,7 @@ public class ProjektthemenverwaltungsController
private TableColumn<Projekt, Integer> student3TableColumn;
@FXML
- private TableColumn<Projekt, String> statusTableColumn;
+ private TableColumn<Projekt, Projekt.StatusTypes> statusTableColumn;
@FXML
private MenuItem editProjektMenuItem;
@@ -66,8 +67,8 @@ public class ProjektthemenverwaltungsController
.getStudents().get(2).matrikelnummerProperty().asObject());
statusTableColumn
.setCellValueFactory((data) -> data.getValue().statusProperty());
- statusTableColumn.setCellFactory(
- ComboBoxTableCell.forTableColumn(Projekt.getStatusList()));
+ statusTableColumn.setCellFactory(ComboBoxTableCell.forTableColumn(
+ FXCollections.observableArrayList(Projekt.StatusTypes.values())));
editProjektButton.disableProperty().bind(projektTableView
.getSelectionModel().selectedItemProperty().isNull());
@@ -103,35 +104,35 @@ public class ProjektthemenverwaltungsController
private void handleShowInBearbeitung()
{
filterList.setPredicate((projekt) -> projekt.getStatus()
- .equals(Projekt.getStatusList().get(0)));
+ .equals(Projekt.StatusTypes.IN_BEARBEITUNG));
}
@FXML
private void handleShowEingereicht()
{
filterList.setPredicate((projekt) -> projekt.getStatus()
- .equals(Projekt.getStatusList().get(1)));
+ .equals(Projekt.StatusTypes.EINGEREICHT));
}
@FXML
private void handleShowInUeberabeitung()
{
filterList.setPredicate((projekt) -> projekt.getStatus()
- .equals(Projekt.getStatusList().get(2)));
+ .equals(Projekt.StatusTypes.IN_UEBERARBEITUNG));
}
@FXML
private void handleShowAngenommen()
{
filterList.setPredicate((projekt) -> projekt.getStatus()
- .equals(Projekt.getStatusList().get(3)));
+ .equals(Projekt.StatusTypes.ANGENOMMEN));
}
@FXML
private void handleShowAbgelehnt()
{
filterList.setPredicate((projekt) -> projekt.getStatus()
- .equals(Projekt.getStatusList().get(4)));
+ .equals(Projekt.StatusTypes.ABGELEHNT));
}
@FXML