refactor: removed MainFXMLController from dependencies

Replaced MainFXMLController-based scene-changing with event-based scene-changing to remove cyclic dependency
This commit is contained in:
David Guler
2022-11-15 08:40:42 +01:00
parent 5ef3f6c587
commit 2b7cec7e6a
10 changed files with 110 additions and 40 deletions
@@ -2,6 +2,7 @@ package ch.zhaw.gartenverwaltung;
import ch.zhaw.gartenverwaltung.bootstrap.AfterInject;
import ch.zhaw.gartenverwaltung.bootstrap.AppLoader;
import ch.zhaw.gartenverwaltung.bootstrap.ChangeViewEvent;
import ch.zhaw.gartenverwaltung.bootstrap.Inject;
import ch.zhaw.gartenverwaltung.io.PlantList;
import ch.zhaw.gartenverwaltung.models.Garden;
@@ -17,6 +18,7 @@ import javafx.scene.control.Button;
import javafx.scene.control.ButtonType;
import javafx.scene.control.Label;
import javafx.scene.image.ImageView;
import javafx.scene.layout.AnchorPane;
import javafx.scene.layout.HBox;
import javafx.scene.layout.Priority;
import javafx.scene.layout.VBox;
@@ -30,16 +32,15 @@ import java.util.logging.Logger;
public class MyGardenController {
private static final Logger LOG = Logger.getLogger(MyGardenController.class.getName());
@Inject
AppLoader appLoader;
@Inject
MainFXMLController mainController;
@Inject
private Garden garden;
@Inject
private PlantList plantList;
@FXML
public AnchorPane myGardenRoot;
@FXML
private VBox myPlants_vbox;
@@ -61,8 +62,8 @@ public class MyGardenController {
}
@FXML
void addPlant(ActionEvent event) throws IOException {
mainController.showPaneAsMainView("Plants.fxml");
void addPlant() {
myGardenRoot.fireEvent(new ChangeViewEvent(ChangeViewEvent.CHANGE_MAIN_VIEW, "Plants.fxml"));
}
private void createPlantView(List<Crop> crops) throws HardinessZoneNotSetException, IOException {