summaryrefslogtreecommitdiffstats
path: root/src/de/fhswf/in/inf/se/projektthemenvergabe/view/ProjektHinzufuegenController.java
diff options
context:
space:
mode:
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.java131
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();
+ }
+}