From 60566bb3887ef4f2db7c8b2862517ed18899db18 Mon Sep 17 00:00:00 2001
From: "hugo.debuyser.etu" <hugo.debuyser.etu@univ-lille.fr>
Date: Fri, 29 Nov 2024 21:33:16 +0100
Subject: [PATCH] =?UTF-8?q?R=C3=A9glage=20de=20bug=20au=20niveau=20des=20p?=
 =?UTF-8?q?oint=20du=20graphique=20avant=20la=20s=C3=A9lection=20des=20axe?=
 =?UTF-8?q?s=20et=20ajout=20d'une=20fonctionnalit=C3=A9=20pour=20entourer?=
 =?UTF-8?q?=20le=20point=20s=C3=A9lectionn=C3=A9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 .../controller/DataVisualizationController.java           | 4 ++--
 .../fr/univlille/sae/classification/utils/ViewUtil.java   | 8 ++++++++
 .../sae/classification/view/DataVisualizationView.java    | 8 +++++---
 3 files changed, 15 insertions(+), 5 deletions(-)

diff --git a/src/main/java/fr/univlille/sae/classification/controller/DataVisualizationController.java b/src/main/java/fr/univlille/sae/classification/controller/DataVisualizationController.java
index 5ef74cc..334070e 100644
--- a/src/main/java/fr/univlille/sae/classification/controller/DataVisualizationController.java
+++ b/src/main/java/fr/univlille/sae/classification/controller/DataVisualizationController.java
@@ -142,8 +142,8 @@ public abstract class DataVisualizationController {
         this.AxesSelected.setText(texte);
     }
 
-    public void setAxesSelectedDisable(){
-        this.AxesSelected.setDisable(true);
+    public void setAxesSelectedDisability(boolean disability){
+        this.AxesSelected.setDisable(disability);
     }
 
 
diff --git a/src/main/java/fr/univlille/sae/classification/utils/ViewUtil.java b/src/main/java/fr/univlille/sae/classification/utils/ViewUtil.java
index 01357ad..124b5f1 100644
--- a/src/main/java/fr/univlille/sae/classification/utils/ViewUtil.java
+++ b/src/main/java/fr/univlille/sae/classification/utils/ViewUtil.java
@@ -26,6 +26,8 @@ import java.util.Map;
  */
 public class ViewUtil {
 
+    private static Shape clickedForm;
+
     /**
      * Définit la couleur de la forme
      * @param form       forme à configurer.
@@ -39,14 +41,20 @@ public class ViewUtil {
             form.setFill(color);
 
             form.setOnMouseClicked(e -> {
+                if(clickedForm!=null) {
+                    clickedForm.setStyle("-fx-stroke-width: 0;");
+                }
                 if (controller instanceof DataStageController) {
                     DataStageController dataController = (DataStageController) controller;
                     dataController.getPointInfo().getItems().clear();
                     dataController.getPointInfo().getItems().add(dataLoaded.toString());
+                    form.setStyle("-fx-stroke-width: 2;");
                 } else if (controller instanceof MainStageController) {
                     MainStageController mainController = (MainStageController) controller;
                     mainController.getPointInfo().getItems().clear();
                     mainController.getPointInfo().getItems().add(dataLoaded.toString());
+                    form.setStyle("-fx-stroke: #60ffc6; -fx-stroke-width: 3;");
+                    clickedForm = form;
                 } else {
                     System.err.println("Contrôleur inconnu");
                 }
diff --git a/src/main/java/fr/univlille/sae/classification/view/DataVisualizationView.java b/src/main/java/fr/univlille/sae/classification/view/DataVisualizationView.java
index 39a043e..3ab3443 100644
--- a/src/main/java/fr/univlille/sae/classification/view/DataVisualizationView.java
+++ b/src/main/java/fr/univlille/sae/classification/view/DataVisualizationView.java
@@ -124,11 +124,12 @@ public abstract class DataVisualizationView {
             scatterChart.getData().clear();
             serieList.clear();
 
-            if (actualX == null && actualY == null) {
+            if (actualX == null && actualY == null || actualY.isEmpty() || actualX.isEmpty()) {
                 controller.setAxesSelected("Aucuns axes sélectionnés");
+                controller.setAxesSelectedDisability(false);
             } else {
                 controller.setAxesSelected("");
-                controller.setAxesSelectedDisable();
+                controller.setAxesSelectedDisability(true);
 
                 List<LoadableData> points = new ArrayList<>(model.getDatas());
                 points.addAll(model.getDataToClass().keySet());
@@ -207,8 +208,9 @@ public abstract class DataVisualizationView {
             }
 
             LoadableData newData = (LoadableData) data;
-            if (actualX == null || actualY == null) {
+            if (actualX == null || actualY == null || actualY.isEmpty() || actualX.isEmpty()) {
                 controller.setAxesSelected("Aucuns axes sélectionnés");
+                controller.setAxesSelectedDisability(false);
                 return;
             }
             Object attrX = newData.getAttributesNames().get(actualX);
-- 
GitLab