diff --git a/src/main/java/fr/univ_amu/iut/Donnees.java b/src/main/java/fr/univ_amu/iut/Donnees.java new file mode 100644 index 0000000..473b306 --- /dev/null +++ b/src/main/java/fr/univ_amu/iut/Donnees.java @@ -0,0 +1,55 @@ +package fr.univ_amu.iut; + +import java.util.List; + +import fr.univ_amu.iut.model.Academie; +import fr.univ_amu.iut.model.Discipline; +import fr.univ_amu.iut.model.Thematique; +import fr.univ_amu.iut.model.Usage; + +public class Donnees { + private static Academie academieSelectionee = null; + private static Thematique thematiqueSelectionee = null; + private static Discipline disciplineSelectionee = Discipline.Toutes; + private static List usagesObtenus; + + public static List getUsagesObtenus() { + return usagesObtenus; + } + public static void setUsagesObtenus(List usagesObtenus) { + Donnees.usagesObtenus = usagesObtenus; + } + public static Academie getAcademieSelectionee() { + return academieSelectionee; + } + public static void setAcademieSelectionee(Academie academieSelectionee) { + if (academieSelectionee.equals(Donnees.academieSelectionee)){ + academieSelectionee = null; + } + System.out.println("Academie Selectionée : %s".formatted((academieSelectionee == null)?"Aucune academie":academieSelectionee.getNom())); + Donnees.academieSelectionee = academieSelectionee; + } + public static Thematique getThematiqueSelectionee() { + return thematiqueSelectionee; + } + public static void setThematiqueSelectionee(Thematique thematiqueSelectionee) { + if(thematiqueSelectionee == Donnees.thematiqueSelectionee){ + thematiqueSelectionee = null; + } + System.out.println("Thematique selectionée : %s".formatted((thematiqueSelectionee == null)? "Aucune Thematique" : thematiqueSelectionee.getNom())); + Donnees.thematiqueSelectionee = thematiqueSelectionee; + } + public static Discipline getDisciplineSelectionee() { + return disciplineSelectionee; + } + public static void setDisciplineSelectionee(Discipline disciplineSelectionee) { + if(disciplineSelectionee == Donnees.disciplineSelectionee){ + disciplineSelectionee = Discipline.Toutes; + } + System.out.println("Discipline Selectionee : %s".formatted(disciplineSelectionee.getNom())); + Donnees.disciplineSelectionee = disciplineSelectionee; + } + + + +} diff --git a/src/main/java/fr/univ_amu/iut/FranceMain.java b/src/main/java/fr/univ_amu/iut/FranceMain.java deleted file mode 100644 index 3e62cb4..0000000 --- a/src/main/java/fr/univ_amu/iut/FranceMain.java +++ /dev/null @@ -1,52 +0,0 @@ -package fr.univ_amu.iut; - -import fr.univ_amu.iut.dao.factory.DAOFactoryProducer; -import fr.univ_amu.iut.dao.factory.DAOType; -import fr.univ_amu.iut.model.RegionAcademique; -import fr.univ_amu.iut.view.map.AcademiePath; -import fr.univ_amu.iut.view.map.France; -import fr.univ_amu.iut.view.map.FranceBuilder; -import javafx.application.Application; -import javafx.geometry.Insets; -import javafx.scene.Scene; -import javafx.scene.layout.Background; -import javafx.scene.layout.BackgroundFill; -import javafx.scene.layout.CornerRadii; -import javafx.scene.layout.StackPane; -import javafx.stage.Stage; - -public class FranceMain extends Application { - France france; - - @Override - public void init() { - france = FranceBuilder.create() -// .backgroundColor(Color.web("#4aa9d7")) -// .fillColor(Color.web("#dcb36c")) -// .strokeColor(Color.web("#987028")) -// .hoverColor(Color.web("#fec47e")) -// .pressedColor(Color.web("#6cee85")) -// .selectedColor(Color.MAGENTA) -// .mousePressHandler(evt -> { -// AcademiePath academiePath = (AcademiePath) evt.getSource(); -// System.out.println("On vient de cliquer sur l'"+academiePath.getAcademie().getNom()); -// }) - .selectionEnabled(true) - .build(); - } - - @Override - public void start(Stage stage) { - StackPane pane = new StackPane(france); - pane.setBackground(new Background(new BackgroundFill(france.getBackgroundColor(), CornerRadii.EMPTY, Insets.EMPTY))); - Scene scene = new Scene(pane); - stage.setTitle("Carte des académie"); - stage.setScene(scene); - stage.show(); - } - - public static void main(String[] args) { - DAOFactoryProducer.getFactory(DAOType.JPA).createDAOUsage(); -// launch(args); - } -} diff --git a/src/main/java/fr/univ_amu/iut/Main.java b/src/main/java/fr/univ_amu/iut/Main.java new file mode 100644 index 0000000..b341b38 --- /dev/null +++ b/src/main/java/fr/univ_amu/iut/Main.java @@ -0,0 +1,34 @@ +package fr.univ_amu.iut; + +import java.io.IOException; + +import fr.univ_amu.iut.screenController.ScreenController; +import javafx.application.Application; +import javafx.fxml.FXMLLoader; +import javafx.scene.Scene; +import javafx.scene.layout.Pane; +import javafx.stage.Stage; + +public class Main extends Application { + private Scene scene = new Scene(new Pane()); + private ScreenController gestionnaireDePages = new ScreenController(scene); + + @Override + public void start(Stage stage) throws IOException{ + ScreenController.addScreen("Acceuil",FXMLLoader.load(getClass().getResource("/fr/univ_amu/iut/fp/fp.fxml"))); + + //TODO Ajouter les pages d'admin pour l'ajout des usages + //ScreenController.addScreen("admin1",pane); + //ScreenController.addScreen("admin2",pane); + + ScreenController.activate("Acceuil"); + stage.setTitle("Carte des académie"); + stage.setScene(scene); + stage.show(); + } + + public static void main(String[] args) throws InterruptedException { + Thread.sleep(5000); + launch(args); + } +} diff --git a/src/main/java/fr/univ_amu/iut/fResultat/Controller.java b/src/main/java/fr/univ_amu/iut/fResultat/Controller.java index 651d918..660c6ff 100644 --- a/src/main/java/fr/univ_amu/iut/fResultat/Controller.java +++ b/src/main/java/fr/univ_amu/iut/fResultat/Controller.java @@ -10,43 +10,45 @@ import javafx.scene.control.TableView; import javafx.scene.control.cell.PropertyValueFactory; import java.net.URL; +import java.util.ArrayList; +import java.util.List; import java.util.ResourceBundle; +import fr.univ_amu.iut.Donnees; +import fr.univ_amu.iut.model.Usage; public class Controller implements Initializable{ @FXML - private TableColumn Disciplines; + private TableView table; @FXML - private TableColumn Niveaux; + private TableColumn discipline; @FXML - private TableColumn Noms; + private TableColumn niveau; @FXML - private TableColumn Numéro; + private TableColumn nom; @FXML - private TableView Table; - - @FXML - private TableColumn Types; - - ObservableList list = FXCollections.observableArrayList( - new Utilisateur(1,"Patrik","Maht","Blog","Terminal"), - new Utilisateur(2,"Mark","Chimie","Site","Seconde") - ); + private TableColumn description; @Override public void initialize(URL url, ResourceBundle resourceBundle) { - Noms.setCellValueFactory(new PropertyValueFactory("Noms")); - Numéro.setCellValueFactory(new PropertyValueFactory("Numéro")); - Disciplines.setCellValueFactory(new PropertyValueFactory("Disciplines")); - Types.setCellValueFactory(new PropertyValueFactory("Types")); - Niveaux.setCellValueFactory(new PropertyValueFactory("Niveaux")); - - Table.setItems(list); - + + List entries = new ArrayList<>(); + for (Usage usage: Donnees.getUsagesObtenus()){ + entries.add(new TableEntry(usage)); + } + ObservableList tableEntries = FXCollections.observableArrayList(entries); + table.setItems(tableEntries); + + nom.setCellValueFactory(new PropertyValueFactory("nom")); + discipline.setCellValueFactory(new PropertyValueFactory("discipline")); + description.setCellValueFactory(new PropertyValueFactory("description")); + niveau.setCellValueFactory(new PropertyValueFactory("niveau")); + } + } diff --git a/src/main/java/fr/univ_amu/iut/fResultat/FResultat.fxml b/src/main/java/fr/univ_amu/iut/fResultat/FResultat.fxml index a10a08c..3739b4e 100644 --- a/src/main/java/fr/univ_amu/iut/fResultat/FResultat.fxml +++ b/src/main/java/fr/univ_amu/iut/fResultat/FResultat.fxml @@ -6,13 +6,12 @@ - + - - - - - + + + + diff --git a/src/main/java/fr/univ_amu/iut/fResultat/Main.java b/src/main/java/fr/univ_amu/iut/fResultat/Main.java deleted file mode 100644 index 6fd9b20..0000000 --- a/src/main/java/fr/univ_amu/iut/fResultat/Main.java +++ /dev/null @@ -1,24 +0,0 @@ -package fr.univ_amu.iut.fResultat; - -import javafx.application.Application; -import javafx.fxml.FXMLLoader; -import javafx.scene.Scene; -import javafx.scene.layout.AnchorPane; -import javafx.stage.Stage; - - - -public class Main extends Application { - - public static void main(String[] args) {launch(args);} - @Override - public void start(Stage stage) throws Exception { - try { - AnchorPane root = FXMLLoader.load(getClass().getResource("/fr/univ_amu/iut/fResultat/FResultat.fxml")); - stage.setScene(new Scene(root)); - stage.show(); - } catch (Exception e) { - e.printStackTrace(); - } - } -} \ No newline at end of file diff --git a/src/main/java/fr/univ_amu/iut/fResultat/TableEntry.java b/src/main/java/fr/univ_amu/iut/fResultat/TableEntry.java new file mode 100644 index 0000000..41c3c75 --- /dev/null +++ b/src/main/java/fr/univ_amu/iut/fResultat/TableEntry.java @@ -0,0 +1,54 @@ +package fr.univ_amu.iut.fResultat; + +import java.util.List; + +import fr.univ_amu.iut.model.Usage; + +public class TableEntry { + + private String nom; + private String discipline; + private String description; + private String niveau; + + public TableEntry(Usage usage) { + nom = usage.getNom(); + discipline = usage.getDiscipline().getNom(); + description = usage.getDescription(); + niveau = usage.getNiveau().getNom(); + } + + public String getNom() { + return nom; + } + + public void setNom(String nom) { + this.nom = nom; + } + + public String getDiscipline() { + return discipline; + } + + public void setDiscipline(String discipline) { + this.discipline = discipline; + } + + public String getDescription() { + return description; + } + + public void setDescription(String description) { + this.description = description; + } + + public String getNiveau() { + return niveau; + } + + public void setNiveau(String niveau) { + this.niveau = niveau; + } + + +} diff --git a/src/main/java/fr/univ_amu/iut/fResultat/Utilisateur.java b/src/main/java/fr/univ_amu/iut/fResultat/Utilisateur.java deleted file mode 100644 index 25e989b..0000000 --- a/src/main/java/fr/univ_amu/iut/fResultat/Utilisateur.java +++ /dev/null @@ -1,40 +0,0 @@ -package fr.univ_amu.iut.fResultat; - -import java.util.List; - -public class Utilisateur { - - private int Numéro ; - private String Noms; - private String Disciplines; - private String Types; - private String Niveaux; - - public Utilisateur(int numero, String noms, String disciplines, String types, String niveaux) { - Numéro = numero; - Noms = noms; - Disciplines = disciplines; - Types = types; - Niveaux = niveaux; - } - - public int getNuméro() { - return Numéro; - } - - public String getNoms() { - return Noms; - } - - public String getDisciplines() { - return Disciplines; - } - - public String getTypes() { - return Types; - } - - public String getNiveaux() { - return Niveaux; - } -} diff --git a/src/main/java/fr/univ_amu/iut/fp/Controller.java b/src/main/java/fr/univ_amu/iut/fp/Controller.java index 624865b..d7e7818 100644 --- a/src/main/java/fr/univ_amu/iut/fp/Controller.java +++ b/src/main/java/fr/univ_amu/iut/fp/Controller.java @@ -1,86 +1,142 @@ package fr.univ_amu.iut.fp; +import fr.univ_amu.iut.Donnees; +import fr.univ_amu.iut.dao.DAODiscipline; import fr.univ_amu.iut.dao.DAORessource; import fr.univ_amu.iut.dao.DAOThematique; +import fr.univ_amu.iut.dao.DAOUsage; import fr.univ_amu.iut.dao.factory.DAOFactory; import fr.univ_amu.iut.dao.factory.DAOFactoryProducer; import fr.univ_amu.iut.dao.factory.DAOType; -import fr.univ_amu.iut.model.Ressource; +import fr.univ_amu.iut.model.Discipline; import fr.univ_amu.iut.model.Thematique; +import fr.univ_amu.iut.screenController.ScreenController; +import fr.univ_amu.iut.view.map.AcademiePath; import fr.univ_amu.iut.view.map.France; import fr.univ_amu.iut.view.map.FranceBuilder; import javafx.fxml.FXML; +import javafx.fxml.FXMLLoader; import javafx.fxml.Initializable; import javafx.geometry.Insets; +import javafx.scene.Scene; import javafx.scene.control.Button; +import javafx.scene.input.MouseEvent; import javafx.scene.layout.*; import javafx.scene.paint.Color; +import javafx.stage.Stage; +import javafx.event.EventHandler; +import javafx.event.ActionEvent; +import java.io.IOException; import java.net.URL; import java.util.List; import java.util.ResourceBundle; public class Controller implements Initializable { France france; - - + EventHandler onEnterHandler; + EventHandler onExitHandler; DAOFactory daoFactory; - DAORessource daoRessource; + DAODiscipline daoDiscipline; DAOThematique daoThematique; + DAOUsage daoUsage; @FXML private Pane stackPaneFrance; @FXML - private AnchorPane ressource; + private AnchorPane discipline; @FXML private AnchorPane thematique; + @FXML + private Button recherche; + + // Style des boutons + Background btNormalBackground = new Background(new BackgroundFill(Color.rgb(255,110,64), new CornerRadii(30), Insets.EMPTY)); + Background btNormalHover = new Background(new BackgroundFill(Color.rgb(255,152,120), new CornerRadii(30), Insets.EMPTY)); + Background btNormalSelected = new Background(new BackgroundFill(Color.rgb(255,60,0), new CornerRadii(30), Insets.EMPTY)); + private void initFrance() { france = FranceBuilder.create() .backgroundColor(Color.web("#f5f0e1")) .fillColor(Color.web("#1e3d59")) -// .strokeColor(Color.web("#987028")) -// .hoverColor(Color.web("#fec47e")) -// .pressedColor(Color.web("#6cee85")) -// .selectedColor(Color.MAGENTA) -// .mousePressHandler(evt -> { -// AcademiePath academiePath = (AcademiePath) evt.getSource(); -// System.out.println("On vient de cliquer sur l'"+academiePath.getAcademie().getNom()); -// }) + .mousePressHandler(evt -> { + AcademiePath academiePath = (AcademiePath) evt.getSource(); + Donnees.setAcademieSelectionee(academiePath.getAcademie()); + }) .selectionEnabled(true) .build(); } + private Button initButton(Object obj,int x,int y){ + String nom = ""; + + EventHandler actionHandler; + EventHandler onPressHandler; + + onEnterHandler = evt -> { + Button bt = (Button) evt.getSource(); + bt.setBackground(btNormalHover); + }; + + onExitHandler= evt -> { + Button bt = (Button) evt.getSource(); + bt.setBackground(btNormalBackground); + }; - /*