summaryrefslogtreecommitdiffstats
path: root/src/de/fhswf/in/inf/se/projektthemenvergabe
diff options
context:
space:
mode:
Diffstat (limited to 'src/de/fhswf/in/inf/se/projektthemenvergabe')
-rw-r--r--src/de/fhswf/in/inf/se/projektthemenvergabe/view/AnsprechpartnerHinzufuegen.fxml28
-rw-r--r--src/de/fhswf/in/inf/se/projektthemenvergabe/view/AnsprechpartnerHinzufuegenController.java67
-rw-r--r--src/de/fhswf/in/inf/se/projektthemenvergabe/view/AnsprechpartnerListeController.java22
3 files changed, 113 insertions, 4 deletions
diff --git a/src/de/fhswf/in/inf/se/projektthemenvergabe/view/AnsprechpartnerHinzufuegen.fxml b/src/de/fhswf/in/inf/se/projektthemenvergabe/view/AnsprechpartnerHinzufuegen.fxml
new file mode 100644
index 0000000..2e11c58
--- /dev/null
+++ b/src/de/fhswf/in/inf/se/projektthemenvergabe/view/AnsprechpartnerHinzufuegen.fxml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<?import javafx.scene.control.*?>
+<?import java.lang.*?>
+<?import javafx.scene.layout.*?>
+<?import javafx.scene.layout.AnchorPane?>
+
+<GridPane xmlns="http://javafx.com/javafx/8.0.65" xmlns:fx="http://javafx.com/fxml/1">
+ <columnConstraints>
+ <ColumnConstraints hgrow="SOMETIMES" maxWidth="94.0"
+ minWidth="10.0" prefWidth="78.0" />
+ <ColumnConstraints hgrow="SOMETIMES" maxWidth="122.0"
+ minWidth="10.0" prefWidth="122.0" />
+ </columnConstraints>
+ <rowConstraints>
+ <RowConstraints minHeight="10.0" prefHeight="30.0"
+ vgrow="SOMETIMES" />
+ <RowConstraints minHeight="10.0" prefHeight="30.0"
+ vgrow="SOMETIMES" />
+ </rowConstraints>
+ <children>
+ <Label text="Nachname" GridPane.rowIndex="1" />
+ <TextField fx:id="vornameTextField" GridPane.columnIndex="1" />
+ <TextField fx:id="nachnameTextField" GridPane.columnIndex="1"
+ GridPane.rowIndex="1" />
+ <Label text="Vorname" />
+ </children>
+</GridPane>
diff --git a/src/de/fhswf/in/inf/se/projektthemenvergabe/view/AnsprechpartnerHinzufuegenController.java b/src/de/fhswf/in/inf/se/projektthemenvergabe/view/AnsprechpartnerHinzufuegenController.java
new file mode 100644
index 0000000..0fd15de
--- /dev/null
+++ b/src/de/fhswf/in/inf/se/projektthemenvergabe/view/AnsprechpartnerHinzufuegenController.java
@@ -0,0 +1,67 @@
+package de.fhswf.in.inf.se.projektthemenvergabe.view;
+
+import java.io.IOException;
+
+import de.fhswf.in.inf.se.projektthemenvergabe.model.Ansprechpartner;
+import javafx.application.Platform;
+import javafx.fxml.FXML;
+import javafx.fxml.FXMLLoader;
+import javafx.scene.control.ButtonType;
+import javafx.scene.control.Dialog;
+import javafx.scene.control.TextField;
+import javafx.scene.layout.GridPane;
+import javafx.util.Pair;
+
+public class AnsprechpartnerHinzufuegenController
+ extends Dialog<Pair<String, String>>
+{
+ @FXML
+ private TextField vornameTextField;
+
+ @FXML
+ private TextField nachnameTextField;
+
+ /**
+ * Create a {@link Dialog} for entering Vorname und Nachname of an
+ * {@link Ansprechpartner}
+ *
+ * @throws IOException
+ */
+ public AnsprechpartnerHinzufuegenController()
+ {
+ setTitle("Neuer Ansprechpartner");
+ setHeaderText("Geben Sie den Namen des Ansprechpartners ein.");
+
+ FXMLLoader fxmlLoader = new FXMLLoader(
+ getClass().getResource("AnsprechpartnerHinzufuegen.fxml"));
+ fxmlLoader.setController(this);
+
+ try
+ {
+ getDialogPane().setContent((GridPane) fxmlLoader.load());
+ }
+ catch (IOException e)
+ {
+ // Ignoriert, da die FXML Datei immer da sein sollte :-P
+ e.printStackTrace();
+ }
+
+ // Setze die Button Typen für den Dialog
+ getDialogPane().getButtonTypes().addAll(ButtonType.OK,
+ ButtonType.CANCEL);
+
+ // Setze Focus auf Vorname TextField
+ Platform.runLater(() -> vornameTextField.requestFocus());
+
+ // Wenn OK gedrückt wurde, gib ein Vorname-Nachname-Paar zurück
+ setResultConverter(dialogButton -> {
+ if (dialogButton == ButtonType.OK)
+ {
+ return new Pair<>(vornameTextField.getText(),
+ nachnameTextField.getText());
+ }
+
+ return null;
+ });
+ }
+}
diff --git a/src/de/fhswf/in/inf/se/projektthemenvergabe/view/AnsprechpartnerListeController.java b/src/de/fhswf/in/inf/se/projektthemenvergabe/view/AnsprechpartnerListeController.java
index 27f85c9..ac6bb34 100644
--- a/src/de/fhswf/in/inf/se/projektthemenvergabe/view/AnsprechpartnerListeController.java
+++ b/src/de/fhswf/in/inf/se/projektthemenvergabe/view/AnsprechpartnerListeController.java
@@ -20,6 +20,7 @@ import javafx.scene.control.TableView;
import javafx.scene.control.TextInputDialog;
import javafx.scene.control.cell.ComboBoxTableCell;
import javafx.scene.control.cell.TextFieldTableCell;
+import javafx.util.Pair;
/**
* The controller for the FXML-View AnsprechpartnerListe.
@@ -255,11 +256,24 @@ public class AnsprechpartnerListeController
Organisation organisation = organisationComboBox.getValue();
if (organisation != null)
{
- Ansprechpartner ansprechpartner = new Ansprechpartner(organisation);
- ansprechpartner.setVorname("Petra");
- ansprechpartner.setNachname("Muster");
+ AnsprechpartnerHinzufuegenController dialog;
- main.getAnsprechpartner().add(ansprechpartner);
+ dialog = new AnsprechpartnerHinzufuegenController();
+
+ dialog.initOwner(main.getPrimaryStage());
+
+ Optional<Pair<String, String>> result = dialog.showAndWait();
+
+ if (result.isPresent() && !result.get().getKey().trim().isEmpty()
+ && !result.get().getValue().trim().isEmpty())
+ {
+ Ansprechpartner ansprechpartner = new Ansprechpartner(
+ organisation);
+ ansprechpartner.setVorname(result.get().getKey().trim());
+ ansprechpartner.setNachname(result.get().getValue().trim());
+
+ main.getAnsprechpartner().add(ansprechpartner);
+ }
}
}
}