Skip to content
Snippets Groups Projects
Commit fd05f394 authored by Matisse DEKEISER's avatar Matisse DEKEISER
Browse files

Added data visualization in multiview

parent 48d23c18
No related branches found
No related tags found
No related merge requests found
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();
}
}
......@@ -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);
......
......@@ -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());
}
}
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();
}
......@@ -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());
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment