diff --git a/src/main/java/fr/univlille/sae/classification/controller/AxesSettingsController.java b/src/main/java/fr/univlille/sae/classification/controller/AxesSettingsController.java index 8c890f287f75bcf97175c66402b68f004278a50e..16c52b1329fb9fd7842620cba9c2f817ef54300e 100644 --- a/src/main/java/fr/univlille/sae/classification/controller/AxesSettingsController.java +++ b/src/main/java/fr/univlille/sae/classification/controller/AxesSettingsController.java @@ -1,7 +1,7 @@ package fr.univlille.sae.classification.controller; import fr.univlille.sae.classification.model.ClassificationModel; -import fr.univlille.sae.classification.view.MainStageView; +import fr.univlille.sae.classification.view.DataVisualizationView; import javafx.fxml.FXML; import javafx.scene.control.Button; import javafx.scene.control.ChoiceBox; @@ -21,31 +21,31 @@ public class AxesSettingsController{ @FXML Button confirmAxes; - MainStageView mainStageView; + DataVisualizationView dataVisualizationView; public void setSelectOrd(String[] fields){ selectOrd.getItems().clear(); selectOrd.getItems().addAll(fields); - selectOrd.setValue(mainStageView.getActualY()); + selectOrd.setValue(dataVisualizationView.getActualY()); } public void setSelectAbs(String[] fields){ selectAbs.getItems().clear(); selectAbs.getItems().addAll(fields); - selectAbs.setValue(mainStageView.getActualX()); + selectAbs.setValue(dataVisualizationView.getActualX()); } - public void setMainStageView(MainStageView mainStageView) { - this.mainStageView = mainStageView; + public void setdataVisualizationView(DataVisualizationView dataVisualizationView) { + this.dataVisualizationView = dataVisualizationView; } public void validate(){ - mainStageView.setActualX(selectAbs.getValue().toString()); - mainStageView.setActualY(selectOrd.getValue().toString()); - mainStageView.getController().getScatterChart().getXAxis().setLabel(mainStageView.getActualX()); - mainStageView.getController().getScatterChart().getYAxis().setLabel(mainStageView.getActualY()); + dataVisualizationView.setActualX(selectAbs.getValue().toString()); + dataVisualizationView.setActualY(selectOrd.getValue().toString()); + dataVisualizationView.getScatterChart().getXAxis().setLabel(dataVisualizationView.getActualX()); + dataVisualizationView.getScatterChart().getYAxis().setLabel(dataVisualizationView.getActualY()); - mainStageView.update(ClassificationModel.getClassificationModel()); + dataVisualizationView.reload(); stage.close(); } } diff --git a/src/main/java/fr/univlille/sae/classification/view/AxesSettingsView.java b/src/main/java/fr/univlille/sae/classification/view/AxesSettingsView.java index 8f959e2fd2358dc7c65f63f0d1849b9b4a183cd9..2a1f23424e2d78a964eaae7a13df1d7b1f23802f 100644 --- a/src/main/java/fr/univlille/sae/classification/view/AxesSettingsView.java +++ b/src/main/java/fr/univlille/sae/classification/view/AxesSettingsView.java @@ -20,19 +20,12 @@ public class AxesSettingsView { private ClassificationModel model; private Stage owner; - private MainStageView mainStageView; - private DataStageView dataStageView; + private DataVisualizationView dataVisualizationView; - public AxesSettingsView(ClassificationModel model, Stage owner, MainStageView mainStageView){ + public AxesSettingsView(ClassificationModel model, Stage owner, DataVisualizationView dataVisualizationView){ this.model = model; this.owner = owner; - this.mainStageView = mainStageView; - } - - public AxesSettingsView(ClassificationModel model, Stage owner, DataStageView dataStageView) { - this.model = model; - this.owner = owner; - this.dataStageView = dataStageView; + this.dataVisualizationView = dataVisualizationView; } public void show() throws IOException { @@ -53,7 +46,7 @@ public class AxesSettingsView { root.setTitle("Configuration des axes"); AxesSettingsController controller = loader.getController(); - controller.setMainStageView(mainStageView); + controller.setdataVisualizationView(dataVisualizationView); if(model.getDatas().isEmpty()) { Alert alert = new Alert(Alert.AlertType.WARNING); diff --git a/src/main/java/fr/univlille/sae/classification/view/DataStageView.java b/src/main/java/fr/univlille/sae/classification/view/DataStageView.java index 3362f0c6fdffe57671224c9d92e1bb2724bb18cc..2cf2f84225f9101e4a4a766392047b18c07b11a4 100644 --- a/src/main/java/fr/univlille/sae/classification/view/DataStageView.java +++ b/src/main/java/fr/univlille/sae/classification/view/DataStageView.java @@ -22,14 +22,11 @@ import java.net.URL; import java.util.ArrayList; import java.util.List; -public class DataStageView implements Observer { +public class DataStageView extends DataVisualizationView implements Observer { private ClassificationModel model; - private ScatterChart scatterChart; private DataStageController controller; - private String actualX; - private String actualY; private Stage root; public DataStageView(ClassificationModel model) { @@ -56,6 +53,10 @@ public class DataStageView implements Observer { controller.setDataStageView(this); scatterChart = controller.getScatterChart(); controller.setAxesSelected("Aucun fichier sélectionné"); + + if (!model.getDatas().isEmpty()) { + update(model); + } } @Override @@ -137,23 +138,12 @@ public class DataStageView implements Observer { } } - public void setActualX(String actualX) { - this.actualX = actualX; - } - - public void setActualY(String actualY) { - this.actualY = actualY; - } - - public String getActualX() { - return actualX; - } - - public String getActualY() { - return actualY; - } - public DataStageController getController() { return controller; } + + @Override + public void reload() { + this.update(ClassificationModel.getClassificationModel()); + } } diff --git a/src/main/java/fr/univlille/sae/classification/view/DataVisualizationView.java b/src/main/java/fr/univlille/sae/classification/view/DataVisualizationView.java new file mode 100644 index 0000000000000000000000000000000000000000..fd6757379be8e74f0903511c25872f56b27db1cd --- /dev/null +++ b/src/main/java/fr/univlille/sae/classification/view/DataVisualizationView.java @@ -0,0 +1,32 @@ +package fr.univlille.sae.classification.view; + +import javafx.scene.chart.ScatterChart; + +public abstract class DataVisualizationView { + protected DataVisualizationView() {} + protected String actualX; + protected String actualY; + protected ScatterChart scatterChart; + + public String getActualX() { + return actualX; + } + + public void setActualX(String actualX) { + this.actualX = actualX; + } + + public String getActualY() { + return actualY; + } + + public void setActualY(String actualY) { + this.actualY = actualY; + } + + public ScatterChart getScatterChart() { + return this.scatterChart; + } + + public abstract void reload(); +} diff --git a/src/main/java/fr/univlille/sae/classification/view/MainStageView.java b/src/main/java/fr/univlille/sae/classification/view/MainStageView.java index 9fe2d12ccfa1a9f28748a435b0db46fd9fc83443..78545eedf055ab4c96c3051096169b79efc20afc 100644 --- a/src/main/java/fr/univlille/sae/classification/view/MainStageView.java +++ b/src/main/java/fr/univlille/sae/classification/view/MainStageView.java @@ -24,14 +24,11 @@ import java.io.IOException; import java.net.URL; import java.util.*; -public class MainStageView implements Observer { +public class MainStageView extends DataVisualizationView implements Observer { private ClassificationModel model; - private ScatterChart scatterChart; private MainStageController controller; - private String actualX; - private String actualY; private Stage root; public MainStageView(ClassificationModel model) { @@ -144,24 +141,12 @@ public class MainStageView implements Observer { } } - public void setActualX(String actualX) { - this.actualX = actualX; - } - - public void setActualY(String actualY) { - this.actualY = actualY; - } - - public String getActualX() { - return actualX; - } - - public String getActualY() { - return actualY; - } - public MainStageController getController() { return controller; } + @Override + public void reload() { + this.update(ClassificationModel.getClassificationModel()); + } }