diff --git a/res/stages/add-data-stage.fxml b/res/stages/add-data-stage.fxml new file mode 100644 index 0000000000000000000000000000000000000000..99a1ad43789b592a394e8cc198cf0ec282d0360b --- /dev/null +++ b/res/stages/add-data-stage.fxml @@ -0,0 +1,38 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<?import javafx.scene.*?> +<?import javafx.scene.control.*?> +<?import javafx.scene.layout.*?> +<?import javafx.stage.*?> + +<Stage fx:id="stage" xmlns="http://javafx.com/javafx/17.0.12" xmlns:fx="http://javafx.com/fxml/1" fx:controller="fr.univlille.sae.classification.controller.AddDataController"> + <scene> + <Scene> + <AnchorPane prefHeight="200" prefWidth="200"> + <children> + <VBox alignment="CENTER" prefHeight="224.0" prefWidth="384.0" spacing="20.0"> + <children> + <HBox alignment="CENTER" prefHeight="18.0" prefWidth="335.0" spacing="20.0"> + <children> + <Label text="Valeur 1" /> + <TextField /> + </children> + </HBox> + <HBox alignment="CENTER" layoutX="10.0" layoutY="47.0" prefHeight="17.0" prefWidth="335.0" spacing="20.0"> + <children> + <Label text="Valeur 2" /> + <ChoiceBox prefHeight="26.0" prefWidth="163.0" /> + </children> + </HBox> + <HBox alignment="CENTER" layoutX="10.0" layoutY="109.0" prefHeight="17.0" prefWidth="335.0" spacing="20.0"> + <children> + <Label text="Valeur 3" /> + <Spinner /> + </children> + </HBox> + <Button fx:id="confirmAdd" mnemonicParsing="false" text="Valider" /> + </children></VBox> + </children></AnchorPane> + </Scene> + </scene> +</Stage> diff --git a/res/stages/axes-settings-stage.fxml b/res/stages/axes-settings-stage.fxml new file mode 100644 index 0000000000000000000000000000000000000000..8fb6b84d1748b83d03cb6f3cce523ab8ab62d8c8 --- /dev/null +++ b/res/stages/axes-settings-stage.fxml @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<?import javafx.scene.*?> +<?import javafx.scene.control.*?> +<?import javafx.scene.layout.*?> +<?import javafx.stage.*?> + +<Stage fx:id="stage" xmlns="http://javafx.com/javafx/17.0.12" xmlns:fx="http://javafx.com/fxml/1" fx:controller="fr.univlille.sae.classification.controller.AxesSettingsController"> + <scene> + <Scene> + <AnchorPane prefHeight="200" prefWidth="200"> + <children> + <VBox alignment="CENTER" prefHeight="200.0" prefWidth="406.0" spacing="15.0"> + <children> + <HBox alignment="CENTER" prefHeight="46.0" prefWidth="406.0" spacing="20.0"> + <children> + <Label text="Valeur des ordonnées" /> + <ChoiceBox fx:id="selectOrd" prefWidth="150.0" /> + </children> + </HBox> + <HBox alignment="CENTER" prefHeight="44.0" prefWidth="406.0" spacing="20.0"> + <children> + <Label text="Valeur des abscisses" /> + <ChoiceBox fx:id="selectAbs" prefWidth="150.0" /> + </children> + </HBox> + <Button fx:id="confirmAxes" mnemonicParsing="false" text="Valider" /> + </children> + </VBox> + </children></AnchorPane> + </Scene> + </scene> +</Stage> diff --git a/res/stages/display-settings-stage.fxml b/res/stages/display-settings-stage.fxml new file mode 100644 index 0000000000000000000000000000000000000000..acc017fdecae5194a5efd858edf264166d7723df --- /dev/null +++ b/res/stages/display-settings-stage.fxml @@ -0,0 +1,25 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<?import javafx.scene.*?> +<?import javafx.scene.control.*?> +<?import javafx.scene.layout.*?> +<?import javafx.stage.*?> + +<Stage fx:id="stage" xmlns="http://javafx.com/javafx/17.0.12" xmlns:fx="http://javafx.com/fxml/1" fx:controller="fr.univlille.sae.classification.controller.DisplaySettingsController"> + <scene> + <Scene> + <AnchorPane prefHeight="200" prefWidth="200"> + <children> + <VBox alignment="CENTER" layoutY="1.0" prefHeight="292.0" prefWidth="438.0" spacing="30.0"> + <children> + <HBox alignment="CENTER" prefHeight="58.0" prefWidth="294.0" spacing="20.0"> + <children> + <Label text="Nouvel ajout" /> + <ColorPicker fx:id="addColor" editable="true" /> + </children></HBox> + <Button fx:id="confirmSettings" mnemonicParsing="false" text="Valider" /> + </children></VBox> + </children></AnchorPane> + </Scene> + </scene> +</Stage> diff --git a/res/stages/load-data-stage.fxml b/res/stages/load-data-stage.fxml index ba97c3cdf5fea292eb84c0fa814cf5542c102a64..111def3aa7063f4b038f0423d602d23b11b0b0a4 100644 --- a/res/stages/load-data-stage.fxml +++ b/res/stages/load-data-stage.fxml @@ -1,14 +1,11 @@ <?xml version="1.0" encoding="UTF-8"?> -<?import javafx.scene.Scene?> -<?import javafx.scene.control.Button?> -<?import javafx.scene.control.Label?> -<?import javafx.scene.layout.AnchorPane?> -<?import javafx.scene.layout.HBox?> -<?import javafx.scene.layout.VBox?> -<?import javafx.stage.Stage?> +<?import javafx.scene.*?> +<?import javafx.scene.control.*?> +<?import javafx.scene.layout.*?> +<?import javafx.stage.*?> -<Stage fx:id="stage" xmlns="http://javafx.com/javafx/21" xmlns:fx="http://javafx.com/fxml/1" fx:controller="fr.univlille.sae.classification.controller.LoadDataController"> +<Stage fx:id="stage" xmlns="http://javafx.com/javafx/17.0.12" xmlns:fx="http://javafx.com/fxml/1" fx:controller="fr.univlille.sae.classification.controller.LoadDataController"> <scene> <Scene> <AnchorPane prefHeight="143.0" prefWidth="363.0"> @@ -17,13 +14,13 @@ <children> <HBox alignment="CENTER" prefHeight="91.0" prefWidth="272.0"> <children> - <Label fx:id="filenamelab" prefHeight="83.0" prefWidth="157.0" text="file name" /> - <Button mnemonicParsing="false" onAction="#openFileChooser" text="Parcourir" /> + <Button fx:id="browseFile" mnemonicParsing="false" onAction="#openFileChooser" text="Parcourir" /> + <TextField fx:id="filePath" prefHeight="26.0" prefWidth="207.0" /> </children> </HBox> <HBox alignment="CENTER" prefHeight="76.0" prefWidth="310.0"> <children> - <Button mnemonicParsing="false" onAction="#validate" text="Valider" /> + <Button fx:id="confirmDataSelection" mnemonicParsing="false" onAction="#validate" text="Valider" /> </children> </HBox> </children> diff --git a/res/stages/main-stage.fxml b/res/stages/main-stage.fxml index e099e011a8ce7681c128ba314ec001f8d8aaeaeb..b7282d0774a121df384a9a84aa448d821c4c33a5 100644 --- a/res/stages/main-stage.fxml +++ b/res/stages/main-stage.fxml @@ -1,47 +1,37 @@ <?xml version="1.0" encoding="UTF-8"?> -<?import javafx.scene.Scene?> -<?import javafx.scene.chart.CategoryAxis?> -<?import javafx.scene.chart.NumberAxis?> -<?import javafx.scene.chart.ScatterChart?> -<?import javafx.scene.control.Button?> -<?import javafx.scene.layout.AnchorPane?> -<?import javafx.scene.layout.HBox?> -<?import javafx.scene.layout.Region?> -<?import javafx.scene.layout.VBox?> -<?import javafx.stage.Stage?> +<?import javafx.scene.*?> +<?import javafx.scene.chart.*?> +<?import javafx.scene.control.*?> +<?import javafx.scene.layout.*?> +<?import javafx.stage.*?> -<Stage fx:id="stage" xmlns="http://javafx.com/javafx/21" xmlns:fx="http://javafx.com/fxml/1" fx:controller="fr.univlille.sae.classification.controller.MainStageController"> +<Stage fx:id="stage" xmlns="http://javafx.com/javafx/17.0.12" xmlns:fx="http://javafx.com/fxml/1" fx:controller="fr.univlille.sae.classification.controller.MainStageController"> <scene> <Scene> <AnchorPane prefHeight="487.0" prefWidth="692.0"> <children> <VBox prefHeight="488.0" prefWidth="691.0"> <children> - <HBox prefHeight="305.0" prefWidth="691.0"> + <HBox prefHeight="356.0" prefWidth="691.0"> <children> - <Region prefHeight="200.0" prefWidth="200.0" /> - <ScatterChart prefHeight="213.0" prefWidth="557.0"> + <Region prefHeight="338.0" prefWidth="65.0" /> + <ScatterChart prefHeight="342.0" prefWidth="609.0"> <xAxis> - <CategoryAxis side="BOTTOM" /> + <CategoryAxis fx:id="absAxe" prefHeight="21.0" prefWidth="498.0" side="BOTTOM" /> </xAxis> <yAxis> - <NumberAxis side="LEFT" /> + <NumberAxis fx:id="ordAxe" side="LEFT" /> </yAxis> </ScatterChart> - <Region prefHeight="200.0" prefWidth="200.0" /> + <Button fx:id="settings" mnemonicParsing="false" text="Réglage" /> </children> </HBox> - <Region prefHeight="77.0" prefWidth="691.0" /> - <HBox prefHeight="100.0" prefWidth="200.0"> + <HBox alignment="CENTER" prefHeight="169.0" prefWidth="691.0" spacing="50.0"> <children> - <Region prefHeight="101.0" prefWidth="131.0" /> - <Button mnemonicParsing="false" onAction="#openLoadData" prefHeight="27.0" prefWidth="122.0" text="Charger" /> - <Region prefHeight="101.0" prefWidth="75.0" /> - <Button mnemonicParsing="false" prefHeight="25.0" prefWidth="129.0" text="Classifier" /> - <Region prefHeight="101.0" prefWidth="70.0" /> - <Button mnemonicParsing="false" prefHeight="26.0" prefWidth="133.0" text="Reglages" /> - <Region prefHeight="101.0" prefWidth="111.0" /> + <Button fx:id="loadData" mnemonicParsing="false" onAction="#openLoadData" prefHeight="27.0" prefWidth="185.0" text="Charger un jeu de données" /> + <Button fx:id="addData" mnemonicParsing="false" prefHeight="26.0" prefWidth="141.0" text="Ajouter une donnée" /> + <Button fx:id="classifyData" disable="true" mnemonicParsing="false" prefHeight="26.0" prefWidth="157.0" text="Classifier une donnée" /> </children> </HBox> </children> diff --git a/src/main/java/fr/univlille/sae/classification/controller/AddDataController.java b/src/main/java/fr/univlille/sae/classification/controller/AddDataController.java new file mode 100644 index 0000000000000000000000000000000000000000..d0251194dec93f29e2a89a9bc93696542324af41 --- /dev/null +++ b/src/main/java/fr/univlille/sae/classification/controller/AddDataController.java @@ -0,0 +1,15 @@ +package fr.univlille.sae.classification.controller; + +import javafx.fxml.FXML; +import javafx.scene.control.Button; +import javafx.stage.Stage; + +public class AddDataController { + @FXML + Stage stage; + + @FXML + Button confirmAdd; + + +} diff --git a/src/main/java/fr/univlille/sae/classification/controller/AxesSettingsController.java b/src/main/java/fr/univlille/sae/classification/controller/AxesSettingsController.java new file mode 100644 index 0000000000000000000000000000000000000000..0679ea9492f13d56af8c055656812f6c766632ab --- /dev/null +++ b/src/main/java/fr/univlille/sae/classification/controller/AxesSettingsController.java @@ -0,0 +1,16 @@ +package fr.univlille.sae.classification.controller; + +import javafx.fxml.FXML; +import javafx.scene.control.Button; +import javafx.scene.control.ChoiceBox; + +public class AxesSettingsController { + @FXML + ChoiceBox selectOrd; + + @FXML + ChoiceBox selectAbs; + + @FXML + Button confirmAxes; +} diff --git a/src/main/java/fr/univlille/sae/classification/controller/DisplaySettingsController.java b/src/main/java/fr/univlille/sae/classification/controller/DisplaySettingsController.java new file mode 100644 index 0000000000000000000000000000000000000000..203a5ae46369368f57485f3db4a120b7c69517cd --- /dev/null +++ b/src/main/java/fr/univlille/sae/classification/controller/DisplaySettingsController.java @@ -0,0 +1,19 @@ +package fr.univlille.sae.classification.controller; + +import javafx.fxml.FXML; +import javafx.scene.control.Button; +import javafx.scene.control.ColorPicker; +import javafx.stage.Stage; + +public class DisplaySettingsController { + @FXML + Stage stage; + + @FXML + Button confirmSettings; + + @FXML + ColorPicker addColor; + + +} diff --git a/src/main/java/fr/univlille/sae/classification/controller/LoadDataController.java b/src/main/java/fr/univlille/sae/classification/controller/LoadDataController.java index 190805880f62a128fdf49dde3a69deda50b35564..5615e33f207fbc08b654aa578d4e2197ab272a17 100644 --- a/src/main/java/fr/univlille/sae/classification/controller/LoadDataController.java +++ b/src/main/java/fr/univlille/sae/classification/controller/LoadDataController.java @@ -1,7 +1,9 @@ package fr.univlille.sae.classification.controller; import javafx.fxml.FXML; +import javafx.scene.control.Button; import javafx.scene.control.Label; +import javafx.scene.control.TextField; import javafx.stage.FileChooser; import javafx.stage.Stage; @@ -14,7 +16,13 @@ public class LoadDataController { Stage stage; @FXML - Label filenamelab; + Button browseFile; + + @FXML + Button confirmDataSelection; + + @FXML + TextField filePath; File file; @@ -34,7 +42,7 @@ public class LoadDataController { this.file = fileChooser.showOpenDialog(stage); if(file != null) { - filenamelab.setText(file.getName()); + filePath.setText(file.getName()); } } diff --git a/src/main/java/fr/univlille/sae/classification/controller/MainStageController.java b/src/main/java/fr/univlille/sae/classification/controller/MainStageController.java index 636343a65bd217bbaad2497b3688ad8aee68b5de..9639175dbb43eb21c4768a7628148aa26a2f5aed 100644 --- a/src/main/java/fr/univlille/sae/classification/controller/MainStageController.java +++ b/src/main/java/fr/univlille/sae/classification/controller/MainStageController.java @@ -2,10 +2,9 @@ package fr.univlille.sae.classification.controller; import javafx.fxml.FXML; import javafx.fxml.FXMLLoader; -import javafx.scene.Scene; -import javafx.scene.layout.VBox; -import javafx.stage.Modality; -import javafx.stage.Stage; +import javafx.scene.chart.*; +import javafx.scene.control.Button; +import javafx.stage.*; import java.io.File; import java.io.IOException; @@ -17,6 +16,25 @@ public class MainStageController { @FXML Stage stage; + @FXML + CategoryAxis absAxe; + + @FXML + NumberAxis ordAxe; + + @FXML + Button settings; + + @FXML + Button loadData; + + @FXML + Button addData; + + @FXML + Button classifyData; + + Stage loadStage; @@ -25,9 +43,6 @@ public class MainStageController { * @throws IOException */ public void openLoadData() throws IOException { - - - FXMLLoader loader = new FXMLLoader(); URL fxmlFileUrl = new File(System.getProperty("user.dir") + File.separator + "res" + File.separator + "stages" + File.separator + "load-data-stage.fxml").toURI().toURL();