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(); } }