diff --git a/src/main/java/net/cgro/votemanager/controller/MainWindowController.java b/src/main/java/net/cgro/votemanager/controller/MainWindowController.java index a82c573..be2107f 100644 --- a/src/main/java/net/cgro/votemanager/controller/MainWindowController.java +++ b/src/main/java/net/cgro/votemanager/controller/MainWindowController.java @@ -57,6 +57,8 @@ public class MainWindowController implements Initializable { private TableColumn columnUrnenName; @FXML private TableColumn columnUrnenNummer; + @FXML + private TableColumn columnUrnenStandort; @FXML private Button buttonListeAdd; @@ -126,6 +128,7 @@ public void initializeGUI() { // Initialisiere Tabelle und verbinde mit Model columnUrnenName.setCellValueFactory(new PropertyValueFactory("name")); columnUrnenNummer.setCellValueFactory(new PropertyValueFactory("nummer")); + columnUrnenStandort.setCellValueFactory(new PropertyValueFactory("standort")); tableUrnen.setItems(wahl.getUrnen()); // Nur einzelne Zeilen auswählen tableUrnen.getSelectionModel().setSelectionMode(SelectionMode.SINGLE); diff --git a/src/main/java/net/cgro/votemanager/controller/UrneAddDialogController.java b/src/main/java/net/cgro/votemanager/controller/UrneAddDialogController.java index 0177f54..91fbae2 100644 --- a/src/main/java/net/cgro/votemanager/controller/UrneAddDialogController.java +++ b/src/main/java/net/cgro/votemanager/controller/UrneAddDialogController.java @@ -31,6 +31,8 @@ public class UrneAddDialogController implements Initializable { private TextField inputName; @FXML private TextField inputNummer; + @FXML + private TextField inputStandort; /** * Initializes the controller class. @@ -39,13 +41,14 @@ public class UrneAddDialogController implements Initializable { public void initialize(URL url, ResourceBundle rb) { inputName.setPromptText("Name der Urne eingeben"); inputNummer.setPromptText("Nummer der Urne eingeben"); + inputStandort.setPromptText("Standort der Urne eingeben"); } @FXML private void handleButtonAdd(ActionEvent event) { // Füge neue Urne zur Wahl hinzu Wahl wahl = Wahl.getInstance(); - Urne urne = new Urne(inputName.getText(), Integer.parseInt(inputNummer.getText())); + Urne urne = new Urne(inputName.getText(), Integer.parseInt(inputNummer.getText()), inputStandort.getText()); wahl.addUrne(urne); // Schließe das Fenster diff --git a/src/main/java/net/cgro/votemanager/controller/UrneRenameDialogController.java b/src/main/java/net/cgro/votemanager/controller/UrneRenameDialogController.java index 55142a5..962142a 100644 --- a/src/main/java/net/cgro/votemanager/controller/UrneRenameDialogController.java +++ b/src/main/java/net/cgro/votemanager/controller/UrneRenameDialogController.java @@ -31,6 +31,8 @@ public class UrneRenameDialogController implements Initializable { private TextField inputName; @FXML private TextField inputNummer; + @FXML + private TextField inputStandort; private Urne urne; @@ -46,6 +48,7 @@ public void setUrne(Urne urne) { this.urne = urne; inputName.setText(this.urne.getName()); inputNummer.setText(Integer.toString(this.urne.getNummer())); + inputStandort.setText(this.urne.getStandort()); } @FXML @@ -53,6 +56,7 @@ private void handleButtonRename(ActionEvent event) { // Ändere Name der Urne this.urne.setName(inputName.getText()); this.urne.setNummer(Integer.parseInt(inputNummer.getText())); + this.urne.setStandort(inputStandort.getText()); // Pseudo-Update auf die Liste, damit Änderung in GUI sichtbar wird int index = Wahl.getInstance().getUrnen().indexOf(this.urne); diff --git a/src/main/java/net/cgro/votemanager/model/Urne.java b/src/main/java/net/cgro/votemanager/model/Urne.java index 21e1b11..90a09fc 100644 --- a/src/main/java/net/cgro/votemanager/model/Urne.java +++ b/src/main/java/net/cgro/votemanager/model/Urne.java @@ -13,10 +13,17 @@ public class Urne { private final SimpleIntegerProperty nummer; private final SimpleStringProperty status; + private final SimpleStringProperty standort; + public Urne(String name, int nummer) { + this(name, nummer, ""); + } + + public Urne(String name, int nummer, String standort) { this.name = new SimpleStringProperty(name); this.nummer = new SimpleIntegerProperty(nummer); this.status = new SimpleStringProperty(); + this.standort = new SimpleStringProperty(standort); this.updateStatus(); } @@ -24,6 +31,7 @@ private Urne() { this.name = new SimpleStringProperty(); this.nummer = new SimpleIntegerProperty(); this.status = new SimpleStringProperty(); + this.standort = new SimpleStringProperty(); this.updateStatus(); } @@ -46,6 +54,19 @@ public void setNummer(int nummer) { this.nummer.set(nummer); } + @XmlAttribute + public String getStandort() { + return standort.get(); + } + + public void setStandort(String standort) { + this.standort.set(standort); + } + + public SimpleStringProperty standortProperty() { + return standort; + } + public void updateStatus() { if (!Wahl.getInstance().existiertErgebnis(this)) { status.set("Kein Ergebnis"); diff --git a/src/main/resources/fxml/MainWindow.fxml b/src/main/resources/fxml/MainWindow.fxml index 56241d6..9813b6a 100644 --- a/src/main/resources/fxml/MainWindow.fxml +++ b/src/main/resources/fxml/MainWindow.fxml @@ -1,12 +1,27 @@ - - - - - + + + + + + + + + + + + + + + + + + + + - + @@ -76,7 +91,8 @@ - + + diff --git a/src/main/resources/fxml/UrneAddDialog.fxml b/src/main/resources/fxml/UrneAddDialog.fxml index 8013e35..c8a0b19 100644 --- a/src/main/resources/fxml/UrneAddDialog.fxml +++ b/src/main/resources/fxml/UrneAddDialog.fxml @@ -23,6 +23,16 @@ + + + + + +