package de.fhswf.in.inf.se.projektthemenvergabe.view; import de.fhswf.in.inf.se.projektthemenvergabe.Main; import de.fhswf.in.inf.se.projektthemenvergabe.model.Ansprechpartner; import de.fhswf.in.inf.se.projektthemenvergabe.model.Projekt; import de.fhswf.in.inf.se.projektthemenvergabe.model.Student; import javafx.fxml.FXML; import javafx.scene.control.Button; import javafx.scene.control.ComboBox; import javafx.scene.control.TextArea; import javafx.scene.control.TextField; import javafx.stage.Stage; public class ProjektHinzufuegenController { @FXML private TextField projektthemaTextField; @FXML private TextArea projektskizzeTextField; @FXML private TextArea projekthintergrundTextField; @FXML private TextArea projektinhalteTextField; @FXML private ComboBox ansprechpartnerComboBox; @FXML private ComboBox student1ComboBox; @FXML private ComboBox student2ComboBox; @FXML private ComboBox student3ComboBox; @FXML private TextArea dozentenkommentar; @FXML private Button saveButton; private Projekt projekt; private Stage projekthinzufuegenStage; private boolean wasAborted = true; public void setMain(Main main, Projekt projekt) { this.projekt = projekt; projekthinzufuegenStage = main.getProjekthinzufuegenStage(); ansprechpartnerComboBox.setItems(main.getAnsprechpartner()); student1ComboBox.setItems(main.getStudenten()); student2ComboBox.setItems(main.getStudenten()); student3ComboBox.setItems(main.getStudenten()); if (projekt != null) { main.getProjekthinzufuegenStage().setTitle("Projekt bearbeiten"); ansprechpartnerComboBox.setDisable(!projekt.getStatus() .equals(Projekt.StatusTypes.IN_BEARBEITUNG)); student1ComboBox.setDisable(!projekt.getStatus() .equals(Projekt.StatusTypes.IN_BEARBEITUNG)); student2ComboBox.setDisable(!projekt.getStatus() .equals(Projekt.StatusTypes.IN_BEARBEITUNG)); student3ComboBox.setDisable(!projekt.getStatus() .equals(Projekt.StatusTypes.IN_BEARBEITUNG)); projektthemaTextField.setText(projekt.getProjektthema()); projektskizzeTextField.setText(projekt.getSkizze()); projekthintergrundTextField .setText(projekt.getProjektbeschreibung()); projektinhalteTextField.setText(projekt.getProjekteinhalte()); ansprechpartnerComboBox.setValue(projekt.getAnsprechpartner()); if (projekt.getStudents().size() > 0) { student1ComboBox.setValue(projekt.getStudents().get(0)); } if (projekt.getStudents().size() > 1) { student2ComboBox.setValue(projekt.getStudents().get(1)); } if (projekt.getStudents().size() > 2) { student3ComboBox.setValue(projekt.getStudents().get(2)); } dozentenkommentar.setText(projekt.getDozentenkommentar()); } else { main.getProjekthinzufuegenStage().setTitle("Projekt anlegen"); } // It's art saveButton.disableProperty().bind(projektthemaTextField.textProperty() .isEmpty() .or(projektskizzeTextField.textProperty().isEmpty() .or(projekthintergrundTextField.textProperty().isEmpty() .or(projektinhalteTextField.textProperty().isEmpty() .or(ansprechpartnerComboBox.valueProperty() .isNull() .or(student1ComboBox.valueProperty() .isNull() .and(student2ComboBox .valueProperty().isNull() .and(student3ComboBox .valueProperty() .isNull())))))))); } public Projekt getProjekt() { if (wasAborted) { return null; } return projekt; } @FXML private void handleSave() { if (projekt == null) { projekt = new Projekt(student1ComboBox.getValue(), student2ComboBox.getValue(), student3ComboBox.getValue(), ansprechpartnerComboBox.getValue()); } projekt.setProjektthema(projektthemaTextField.getText().trim()); projekt.setSkizze(projektskizzeTextField.getText().trim()); projekt.setProjektbeschreibung( projekthintergrundTextField.getText().trim()); projekt.setProjekteinhalte(projektinhalteTextField.getText().trim()); wasAborted = false; projekthinzufuegenStage.close(); } @FXML private void handleCancel() { projekthinzufuegenStage.close(); } }