diff options
Diffstat (limited to 'src/de/fhswf/in/inf/se/projektthemenvergabe/view/ProjektHinzufuegenController.java')
| -rw-r--r-- | src/de/fhswf/in/inf/se/projektthemenvergabe/view/ProjektHinzufuegenController.java | 131 |
1 files changed, 131 insertions, 0 deletions
diff --git a/src/de/fhswf/in/inf/se/projektthemenvergabe/view/ProjektHinzufuegenController.java b/src/de/fhswf/in/inf/se/projektthemenvergabe/view/ProjektHinzufuegenController.java new file mode 100644 index 0000000..f5a1491 --- /dev/null +++ b/src/de/fhswf/in/inf/se/projektthemenvergabe/view/ProjektHinzufuegenController.java @@ -0,0 +1,131 @@ +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<Ansprechpartner> ansprechpartnerComboBox; + + @FXML + private ComboBox<Student> student1ComboBox; + + @FXML + private ComboBox<Student> student2ComboBox; + + @FXML + private ComboBox<Student> student3ComboBox; + + @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) + { + ansprechpartnerComboBox.setDisable(true); + student1ComboBox.setDisable(true); + student2ComboBox.setDisable(true); + student3ComboBox.setDisable(true); + + projektthemaTextField.setText(projekt.getProjektthema()); + projektskizzeTextField.setText(projekt.getSkizze()); + projekthintergrundTextField + .setText(projekt.getProjektbeschreibung()); + projektinhalteTextField.setText(projekt.getProjekteinhalte()); + + ansprechpartnerComboBox.setValue(projekt.getAnsprechpartner()); + student1ComboBox.setValue(projekt.getStudents().get(0)); + student2ComboBox.setValue(projekt.getStudents().get(1)); + student3ComboBox.setValue(projekt.getStudents().get(2)); + } + + // 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() + .or(student2ComboBox.valueProperty() + .isNull() + .or(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(); + } +} |
