summaryrefslogtreecommitdiffstats
path: root/src/de/fhswf/in/inf/se/projektthemenvergabe/view
diff options
context:
space:
mode:
Diffstat (limited to 'src/de/fhswf/in/inf/se/projektthemenvergabe/view')
-rw-r--r--src/de/fhswf/in/inf/se/projektthemenvergabe/view/AnsprechpartnerListeController.java32
1 files changed, 25 insertions, 7 deletions
diff --git a/src/de/fhswf/in/inf/se/projektthemenvergabe/view/AnsprechpartnerListeController.java b/src/de/fhswf/in/inf/se/projektthemenvergabe/view/AnsprechpartnerListeController.java
index 2ae8405..27f85c9 100644
--- a/src/de/fhswf/in/inf/se/projektthemenvergabe/view/AnsprechpartnerListeController.java
+++ b/src/de/fhswf/in/inf/se/projektthemenvergabe/view/AnsprechpartnerListeController.java
@@ -92,14 +92,26 @@ public class AnsprechpartnerListeController
});
organisationsNameTableColumn.setCellValueFactory((data) -> {
- data.getValue().getOrganisation().nameProperty()
- .addListener((listener) -> {
- // Hack, aktualisiert TableView, da Organisation kein Observable
+ data.getValue().organisationProperty().addListener((listener) -> {
+ // Hack, aktualisiert TableView, da Organisation kein
+ // Observable
// ist
organisationsNameTableColumn.setVisible(false);
organisationsNameTableColumn.setVisible(true);
});
- return new SimpleObjectProperty<>(data.getValue().getOrganisation());
+ if (data.getValue().getOrganisation() != null)
+ {
+ data.getValue().getOrganisation().nameProperty()
+ .addListener((listener) -> {
+ // Hack, aktualisiert TableView, da Organisation kein
+ // Observable
+ // ist
+ organisationsNameTableColumn.setVisible(false);
+ organisationsNameTableColumn.setVisible(true);
+ });
+ return data.getValue().organisationProperty();
+ }
+ return new SimpleObjectProperty<Organisation>(new Organisation());
});
organisationsNameTableColumn.setOnEditCommit((data) -> {
data.getRowValue().setOrganisation(data.getNewValue());
@@ -203,8 +215,14 @@ public class AnsprechpartnerListeController
if (result == null || result.get() == ButtonType.OK)
{
- main.getAnsprechpartner()
- .removeAll(selectedItem.getAnsprechpartner());
+ Ansprechpartner[] ansArray = selectedItem.getAnsprechpartner()
+ .toArray(new Ansprechpartner[selectedItem
+ .getAnsprechpartner().size()]);
+ for (Ansprechpartner ans : ansArray)
+ {
+ ans.setOrganisation(null);
+ }
+
main.getOrganisation().remove(organisationComboBox.getValue());
}
}
@@ -222,7 +240,7 @@ public class AnsprechpartnerListeController
if (selectedItem != null)
{
- selectedItem.getOrganisation().removeAnsprechpartner(selectedItem);
+ selectedItem.setOrganisation(null);
main.getAnsprechpartner().remove(selectedItem);
}
}