From 869bbdd24a6c360cb2aab91d7c925d7191a5f07e Mon Sep 17 00:00:00 2001 From: Stefan Suhren Date: Wed, 16 Dec 2015 02:24:36 +0100 Subject: It partially works (TM) --- .../view/ProjektthemenverwaltungsController.java | 125 +++++++++++++++++++++ 1 file changed, 125 insertions(+) create mode 100644 src/de/fhswf/in/inf/se/projektthemenvergabe/view/ProjektthemenverwaltungsController.java (limited to 'src/de/fhswf/in/inf/se/projektthemenvergabe/view/ProjektthemenverwaltungsController.java') diff --git a/src/de/fhswf/in/inf/se/projektthemenvergabe/view/ProjektthemenverwaltungsController.java b/src/de/fhswf/in/inf/se/projektthemenvergabe/view/ProjektthemenverwaltungsController.java new file mode 100644 index 0000000..7d0badb --- /dev/null +++ b/src/de/fhswf/in/inf/se/projektthemenvergabe/view/ProjektthemenverwaltungsController.java @@ -0,0 +1,125 @@ +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.fxml.FXML; +import javafx.scene.control.Button; +import javafx.scene.control.TableColumn; +import javafx.scene.control.TableView; +import javafx.scene.control.cell.ComboBoxTableCell; + +public class ProjektthemenverwaltungsController +{ + @FXML + private TableView projektTableView; + + @FXML + private TableColumn projektThemaTableColumn; + + @FXML + private TableColumn ansprechpatnerTableColumn; + + @FXML + private TableColumn student1TableColumn; + + @FXML + private TableColumn student2TableColumn; + + @FXML + private TableColumn student3TableColumn; + + @FXML + private TableColumn statusTableColumn; + + @FXML + private Button editProjektButton; + + @FXML + private Button deleteProjektButton; + + private Main main; + + @FXML + private void initialize() + { + projektThemaTableColumn.setCellValueFactory( + (data) -> data.getValue().projektthemaProperty()); + ansprechpatnerTableColumn.setCellValueFactory((data) -> data.getValue() + .getAnsprechpartner().nachnameProperty()); + student1TableColumn.setCellValueFactory((data) -> data.getValue() + .getStudents().get(0).matrikelnummerProperty().asObject()); + student2TableColumn.setCellValueFactory((data) -> data.getValue() + .getStudents().get(1).matrikelnummerProperty().asObject()); + student3TableColumn.setCellValueFactory((data) -> data.getValue() + .getStudents().get(2).matrikelnummerProperty().asObject()); + statusTableColumn + .setCellValueFactory((data) -> data.getValue().statusProperty()); + statusTableColumn.setCellFactory( + ComboBoxTableCell.forTableColumn(Projekt.getStatusList())); + + editProjektButton.disableProperty().bind(projektTableView + .getSelectionModel().selectedItemProperty().isNull()); + deleteProjektButton.disableProperty().bind(projektTableView + .getSelectionModel().selectedItemProperty().isNull()); + } + + public void setMain(Main main) + { + this.main = main; + projektTableView.setItems(main.getProjekte()); + } + + @FXML + private void handleAddProjekt() + { + Projekt projekt = main.showProjekthinzufuegenStage(null); + + if (projekt != null) + { + main.getProjekte().add(projekt); + } + } + + @FXML + private void handleEditProjekt() + { + Projekt selectedItem = projektTableView.getSelectionModel() + .getSelectedItem(); + + if (selectedItem != null) + { + main.showProjekthinzufuegenStage(selectedItem); + } + } + + @FXML + private void handleDeleteProjekt() + { + Projekt selectedItem = projektTableView.getSelectionModel() + .getSelectedItem(); + + if (selectedItem != null) + { + main.getProjekte().remove(selectedItem); + } + } + + @FXML + private void handleStudentenverwaltung() + { + main.showStudentenverwaltung(); + } + + @FXML + private void handleAnsprechpartnerverwaltungs() + { + main.showAnsprechpartnerverwaltungsStage(); + } + + @FXML + private void handleClose() + { + Platform.exit(); + } +} -- cgit v1.2.3-70-g09d2