refactoring of GameSchedule and button "close Tournament" added.
added "informListener()" to method refreshParticipants in GameDecorator.java to be sure the new participants are saved in file.
This commit is contained in:
parent
89e72a1592
commit
afab6dbee3
|
@ -7,24 +7,23 @@ public abstract class FXController {
|
|||
FactoryDecorator factoryDecorator;
|
||||
FileIO fileIO;
|
||||
Pane pane;
|
||||
IsObserver listener;
|
||||
|
||||
public FXController(){
|
||||
listener = new IsObserver() {
|
||||
@Override
|
||||
public void update() {
|
||||
loadContent();
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
public void setup(TournamentDecorator tournamentDecorator, FileIO fileIO, FactoryDecorator factoryDecorator, Pane pane){
|
||||
this.tournamentDecorator = tournamentDecorator;
|
||||
this.fileIO = fileIO;
|
||||
this.factoryDecorator = factoryDecorator;
|
||||
this.pane = pane;
|
||||
tournamentDecorator.addListener(new IsObserver() {
|
||||
@Override
|
||||
public void update() {
|
||||
loadContent();
|
||||
}
|
||||
});
|
||||
factoryDecorator.addListener(new IsObserver() {
|
||||
@Override
|
||||
public void update() {
|
||||
loadContent();
|
||||
}
|
||||
});
|
||||
addListener();
|
||||
}
|
||||
|
||||
public abstract void loadContent();
|
||||
|
@ -33,6 +32,16 @@ public abstract class FXController {
|
|||
this.tournamentDecorator = tournamentDecorator;
|
||||
}
|
||||
|
||||
public void addListener(){
|
||||
tournamentDecorator.addListener(listener);
|
||||
factoryDecorator.addListener(listener);
|
||||
}
|
||||
|
||||
protected void removeListener(){
|
||||
tournamentDecorator.removeListener(listener);
|
||||
factoryDecorator.removeListener(listener);
|
||||
}
|
||||
|
||||
protected TournamentDecorator getTournamentDecorator() {
|
||||
return tournamentDecorator;
|
||||
}
|
||||
|
|
|
@ -55,6 +55,7 @@ public class GameDecorator implements IsObservable{
|
|||
|
||||
public void refreshParticipants(){
|
||||
game.refreshParticipants();
|
||||
informListener();
|
||||
}
|
||||
|
||||
public Place getPlace() {
|
||||
|
|
|
@ -18,6 +18,9 @@ public class GameScheduleController extends FXController {
|
|||
@FXML
|
||||
private Button editParticipantBtn;
|
||||
|
||||
@FXML
|
||||
private Button closeTournamentBtn;
|
||||
|
||||
@FXML
|
||||
private HBox hBoxCenter;
|
||||
|
||||
|
@ -33,14 +36,22 @@ public class GameScheduleController extends FXController {
|
|||
|
||||
@FXML
|
||||
void openPlacesFormular(ActionEvent event) {
|
||||
removeListener();
|
||||
getFactoryDecorator().openPlacesFormular();
|
||||
}
|
||||
|
||||
@FXML
|
||||
void openParticipantFormular(ActionEvent event) {
|
||||
removeListener();
|
||||
getFactoryDecorator().openParticipantFormular();
|
||||
}
|
||||
|
||||
@FXML
|
||||
void closeTournament(ActionEvent event) {
|
||||
removeListener();
|
||||
getFactoryDecorator().openTournamentList();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void loadContent() {
|
||||
getFactoryDecorator().loadGameTree(hBoxCenter, getTournamentDecorator());
|
||||
|
|
|
@ -89,6 +89,7 @@ public class ParticipantFormularController extends FXController {
|
|||
|
||||
@FXML
|
||||
void close(ActionEvent event) {
|
||||
removeListener();
|
||||
getFactoryDecorator().openScheduleView();
|
||||
}
|
||||
|
||||
|
|
|
@ -68,6 +68,7 @@ public class PlacesFormularController extends FXController {
|
|||
|
||||
@FXML
|
||||
void close(ActionEvent event) {
|
||||
removeListener();
|
||||
getFactoryDecorator().openScheduleView();
|
||||
}
|
||||
|
||||
|
|
|
@ -61,6 +61,7 @@ public class TournamentListController extends FXController {
|
|||
|
||||
@FXML
|
||||
void openTournament(ActionEvent event) {
|
||||
removeListener();
|
||||
FileIO.TournamentFile tournamentFile = tournamentListView.getSelectionModel().getSelectedItems().get(0);
|
||||
getFactoryDecorator().openTournament(tournamentFile);
|
||||
}
|
||||
|
|
|
@ -1,11 +1,10 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<?import javafx.geometry.Insets?>
|
||||
<?import javafx.scene.control.Button?>
|
||||
<?import javafx.scene.layout.BorderPane?>
|
||||
<?import javafx.scene.layout.HBox?>
|
||||
<?import javafx.geometry.*?>
|
||||
<?import javafx.scene.control.*?>
|
||||
<?import javafx.scene.layout.*?>
|
||||
|
||||
<BorderPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/18" xmlns:fx="http://javafx.com/fxml/1" fx:controller="ch.zhaw.projekt2.turnierverwaltung.main.gameScheduleView.GameScheduleController">
|
||||
<BorderPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="400.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/11.0.2" xmlns:fx="http://javafx.com/fxml/1" fx:controller="ch.zhaw.projekt2.turnierverwaltung.main.gameScheduleView.GameScheduleController">
|
||||
<top>
|
||||
<HBox alignment="TOP_RIGHT" prefHeight="100.0" prefWidth="200.0" BorderPane.alignment="CENTER">
|
||||
<children>
|
||||
|
@ -24,6 +23,7 @@
|
|||
<Insets right="40.0" />
|
||||
</HBox.margin>
|
||||
</Button>
|
||||
<Button fx:id="closeTournamentBtn" layoutX="470.0" layoutY="10.0" mnemonicParsing="false" onAction="#closeTournament" text="Close Tournament" />
|
||||
</children>
|
||||
</HBox>
|
||||
</top>
|
||||
|
|
Loading…
Reference in New Issue