Ajout doc Models

This commit is contained in:
Mathis CHAIGNEAU 2022-12-04 17:18:07 +01:00
parent db48814c4f
commit fae6867477
7 changed files with 549 additions and 71 deletions

View File

@ -2,6 +2,9 @@ package fr.iutfbleau.projetIHM2022FI2.API;
import java.util.Set; import java.util.Set;
import javax.swing.JFrame; import javax.swing.JFrame;
/**
* Le Model de L'IHM
*/
public interface Model { public interface Model {
/** /**
* Fonction pour refresh/changer de groupe d'affichage * Fonction pour refresh/changer de groupe d'affichage
@ -13,13 +16,20 @@ public void showGroupe(Groupe g);
* @return JFrame la fenetre * @return JFrame la fenetre
*/ */
public JFrame getFenetre(); public JFrame getFenetre();
/**
public Set<Etudiant> getEtudiant(); * permet d'obtenir l'ensemble des etudiants
* @return
*/
public Set<Etudiant> getEtudiant();
// *********************** // ***********************
// FONCTION POUR SUPRIMER UN ETUDIANT // FONCTION POUR SUPRIMER UN ETUDIANT
// *********************** // ***********************
/**
* Fonction pour supprimer un etudiant.
* @param e l'etudiant a supprimer
* @return boolean true si l'etudiant a ete supprimer, false sinon
*/
public boolean deleteEtu(Etudiant e); public boolean deleteEtu(Etudiant e);

View File

@ -21,15 +21,26 @@ import fr.iutfbleau.projetIHM2022FI2.MNP.ETU.View.FenetreGroupe;
* Le Model de L'IHM * Le Model de L'IHM
*/ */
public class ModelEtu implements Model{ public class ModelEtu implements Model{
// le panel qui contient la fenetre de groupe
private JPanel panGroupe; private JPanel panGroupe;
// la fenetre de groupe
private FenetreGroupe fenGr; private FenetreGroupe fenGr;
//la fenetre d'etudiant
private FenetreEtudiant fenEtu; private FenetreEtudiant fenEtu;
// le groupe courant
private AbstractGroupeFactory promo; private AbstractGroupeFactory promo;
// le changement courant
private AbstractChangementFactory changement; private AbstractChangementFactory changement;
// la fenetre principale
private JFrame fenetre; private JFrame fenetre;
// l'etudiant courant
private Etudiant Selected; private Etudiant Selected;
/**
* Constructeur du Model
* @param facto le groupe courant
* @param change le changement courant
*/
public ModelEtu(AbstractGroupeFactory facto, AbstractChangementFactory change){ public ModelEtu(AbstractGroupeFactory facto, AbstractChangementFactory change){
this.fenetre=new JFrame(); this.fenetre=new JFrame();
this.fenetre.setSize(1200, 720); this.fenetre.setSize(1200, 720);
@ -92,6 +103,11 @@ public class ModelEtu implements Model{
return fenetre; return fenetre;
} }
/**
* Permet d'obtenir les étudiants du groupe courant.
* @return les étudiants du groupe courant
*/
@Override @Override
public Set<Etudiant> getEtudiant(){ public Set<Etudiant> getEtudiant(){
return this.promo.getPromotion().getEtudiants(); return this.promo.getPromotion().getEtudiants();
@ -131,7 +147,11 @@ public class ModelEtu implements Model{
// ************************** // **************************
// FONCTION POUR LES CHANGEMENTS // FONCTION POUR LES CHANGEMENTS
// ****************************** // ******************************
/**
* Permet de changer de groupe.
* @param e l'étudiant qui change de groupe
* @param g le groupe dans lequel l'étudiant va
*/
@Override @Override
public void changeGroupe(Etudiant e, Groupe b){ public void changeGroupe(Etudiant e, Groupe b){
if(b==null) if(b==null)
@ -161,7 +181,10 @@ public class ModelEtu implements Model{
} }
this.showGroupe(this.fenGr.getG()); this.showGroupe(this.fenGr.getG());
} }
/**
* pemet d'obtenir les sous groupes du groupe courant.
* @return les sous groupes du groupe courant
*/
@Override @Override
public Set<Groupe> getGroupePartition(){ public Set<Groupe> getGroupePartition(){
this.promo.refreshALL(this.fenGr.getG().getPointPoint()); this.promo.refreshALL(this.fenGr.getG().getPointPoint());
@ -175,35 +198,60 @@ public class ModelEtu implements Model{
} }
return retour; return retour;
} }
/**
* ajoute un étudiant dans un groupe.
* @param e l'étudiant à ajouter
* @param g le groupe dans lequel l'étudiant va
* @return true si l'ajout a réussi, false sinon
*/
@Override @Override
public boolean addEtudiant(Groupe g, Etudiant e) { public boolean addEtudiant(Groupe g, Etudiant e) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return false; return false;
} }
/**
* supprime un groupe.
* @param g le groupe à supprimer
*/
@Override @Override
public void delete(Groupe g) { public void delete(Groupe g) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
} }
/**
* rennome un groupe.
* @param g le groupe à renommer
* @param nom le nouveau nom du groupe
*
*/
@Override @Override
public void rename(String name, Groupe g) { public void rename(String name, Groupe g) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
} }
/**
* Fonction permetant de créer une partition d'un groupe
* @param g le groupe a partitionner
* @param n le nombre de partition
* @param name le nom des partition
*/
@Override @Override
public void partition(Groupe g, int n, String name) { public void partition(Groupe g, int n, String name) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
} }
/**
* Fonction permettant de créer un sous-groupe d'un groupe
* @param g le groupe parent
* @param name le nom du sous-groupe
* @param min le nombre min d'etudiant
* @param max le nombre max d'etudiant
* @param ajout la liste des étudiants a ajouter au groupe
*/
@Override @Override
public void free(Groupe g, String name, int min, int max, Set<Etudiant> ajout) { public void free(Groupe g, String name, int min, int max, Set<Etudiant> ajout) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
@ -211,33 +259,56 @@ public class ModelEtu implements Model{
} }
/**
* ajoute une nouvelle promotion
* @param min le nombre min
* @param max le nombre max
* @param name le nom
* @param ajout les etudiant a ajouter a la promo
*/
@Override @Override
public void addPromo(int min, int max, String name, Set<Etudiant> ajout) { public void addPromo(int min, int max, String name, Set<Etudiant> ajout) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
} }
/**
* Fonction pour supprimer un etudiant.
* @param e l'etudiant a supprimer
* @return boolean true si l'etudiant a ete supprimer, false sinon
*/
@Override @Override
public boolean deleteEtu(Etudiant e) { public boolean deleteEtu(Etudiant e) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return false; return false;
} }
/**
* Fonction pour afficher une fenetre listnatn les changements
*
*/
@Override @Override
public void listChange() { public void listChange() {
// TODO Auto-generated method stub // TODO Auto-generated method stub
} }
/**
* Fonction pour effectuer un changement
* @param Changement le changement a effecteur
*/
@Override @Override
public void change(Changement change) { public void change(Changement change) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
} }
/**
* Fonction supprimant un changement
*
* @param to_delete la changement a delete
*/
@Override @Override
public void deleteChange(Changement to_delete) { public void deleteChange(Changement to_delete) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
@ -245,13 +316,20 @@ public class ModelEtu implements Model{
} }
/**
* Fonction affichant les raison d'un changement
*
* @param change le changement
*/
@Override @Override
public void showRaisonChange(Changement change) { public void showRaisonChange(Changement change) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
} }
/**
* Fonction affichant une fentre pour trouver un etudiant et tous ses groupes asociée
*/
@Override @Override
public void findEtu() { public void findEtu() {
// TODO Auto-generated method stub // TODO Auto-generated method stub
@ -259,6 +337,11 @@ public class ModelEtu implements Model{
} }
/**
* Fonction pour recuperer les etudiant avec ce nom
* @param name le nom de(s) etudiants
* @return la liste
*/
@Override @Override
public Set<Etudiant> getEtu(String name) { public Set<Etudiant> getEtu(String name) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
@ -266,6 +349,10 @@ public class ModelEtu implements Model{
} }
/**
*affiche les groupe d'un etudiant
* @param e l'etudiant
*/
@Override @Override
public void showGroupOfEtudiant(Etudiant e) { public void showGroupOfEtudiant(Etudiant e) {
// TODO Auto-generated method stub // TODO Auto-generated method stub

View File

@ -20,13 +20,27 @@ import fr.iutfbleau.projetIHM2022FI2.Permanent.View.Chargement;
*/ */
public class ModelProf implements Model{ public class ModelProf implements Model{
// le panel qui contient la fenetre de groupe
private JPanel panGroupe; private JPanel panGroupe;
// la fenetre de groupe
private FenetreGroupe fenGr; private FenetreGroupe fenGr;
//la fenetre d'etudiant
private FenetreEtudiant fenEtu; private FenetreEtudiant fenEtu;
// le groupe courant
private AbstractGroupeFactory promo; private AbstractGroupeFactory promo;
// le changement courant
private AbstractChangementFactory changement; private AbstractChangementFactory changement;
// la fenetre principale
private JFrame fenetre; private JFrame fenetre;
// l'etudiant courant
private Etudiant Selected;
/**
* Constructeur du Model.
*
* @param agf le groupe principal
* @param chan le changement courant
*/
public ModelProf(AbstractGroupeFactory agf, AbstractChangementFactory chan){ public ModelProf(AbstractGroupeFactory agf, AbstractChangementFactory chan){
this.fenetre=new JFrame(); this.fenetre=new JFrame();
this.fenetre.setSize(1200, 720); this.fenetre.setSize(1200, 720);
@ -87,7 +101,10 @@ public class ModelProf implements Model{
public JFrame getFenetre() { public JFrame getFenetre() {
return fenetre; return fenetre;
} }
/**
* permet d'obtenir l'ensemble des etudiants
* @return
*/
@Override @Override
public Set<Etudiant> getEtudiant(){ public Set<Etudiant> getEtudiant(){
return this.promo.getPromotion().getEtudiants(); return this.promo.getPromotion().getEtudiants();
@ -96,7 +113,11 @@ public class ModelProf implements Model{
// ************************** // **************************
// FONCTION POUR LES CHANGEMENTS // FONCTION POUR LES CHANGEMENTS
// ****************************** // ******************************
/**
* Créer un changement depuis le groupe courant
* @param e l'etudiant
* @param b le groupe a changer
*/
@Override @Override
public void changeGroupe(Etudiant e, Groupe b){ public void changeGroupe(Etudiant e, Groupe b){
if(b==null) if(b==null)
@ -126,7 +147,11 @@ public class ModelProf implements Model{
} }
this.showGroupe(this.fenGr.getG()); this.showGroupe(this.fenGr.getG());
} }
/**
* Retourn les groupe auquel on peut demander a changer depuis le groupe courant
*
* @return la liste des groupes
*/
@Override @Override
public Set<Groupe> getGroupePartition(){ public Set<Groupe> getGroupePartition(){
this.promo.refreshALL(this.fenGr.getG().getPointPoint()); this.promo.refreshALL(this.fenGr.getG().getPointPoint());
@ -140,14 +165,22 @@ public class ModelProf implements Model{
} }
return retour; return retour;
} }
/**
* Fonction pour ajouter un étudiant au groupe
* @param g
* @param e
* @return boolean pour savoir si il a pus être ajouter
*/
@Override @Override
public boolean addEtudiant(Groupe g, Etudiant e) { public boolean addEtudiant(Groupe g, Etudiant e) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return false; return false;
} }
/**
* Fonction pour supprimer un groupe
* @param g le groupe a supprimer
*/
@Override @Override
public void delete(Groupe g) { public void delete(Groupe g) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
@ -155,6 +188,11 @@ public class ModelProf implements Model{
} }
/**
* Fonction pour renomer un groupe
* @param name
* @param g
*/
@Override @Override
public void rename(String name, Groupe g) { public void rename(String name, Groupe g) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
@ -162,6 +200,12 @@ public class ModelProf implements Model{
} }
/**
* Fonction permetant de créer une partition d'un groupe
* @param g le groupe a partitionner
* @param n le nombre de partition
* @param name le nom des partition
*/
@Override @Override
public void partition(Groupe g, int n, String name) { public void partition(Groupe g, int n, String name) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
@ -169,26 +213,47 @@ public class ModelProf implements Model{
} }
/**
* Fonction permettant de créer un sous-groupe d'un groupe
* @param g le groupe parent
* @param name le nom du sous-groupe
* @param min le nombre min d'etudiant
* @param max le nombre max d'etudiant
* @param ajout la liste des étudiants a ajouter au groupe
*/
@Override @Override
public void free(Groupe g, String name, int min, int max, Set<Etudiant> ajout) { public void free(Groupe g, String name, int min, int max, Set<Etudiant> ajout) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
} }
/**
* ajoute une nouvelle promotion
* @param min le nombre min
* @param max le nombre max
* @param name le nom
* @param ajout les etudiant a ajouter a la promo
*/
@Override @Override
public void addPromo(int min, int max, String name, Set<Etudiant> ajout) { public void addPromo(int min, int max, String name, Set<Etudiant> ajout) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
} }
/**
* Fonction pour supprimer un etudiant.
* @param e l'etudiant a supprimer
* @return boolean true si l'etudiant a ete supprimer, false sinon
*/
@Override @Override
public boolean deleteEtu(Etudiant e) { public boolean deleteEtu(Etudiant e) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return false; return false;
} }
/**
* Fonction pour afficher une fenetre listnatn les changements
*
*/
@Override @Override
public void listChange() { public void listChange() {
// TODO Auto-generated method stub // TODO Auto-generated method stub
@ -196,13 +261,21 @@ public class ModelProf implements Model{
} }
/**
* Fonction pour effectuer un changement
* @param Changement le changement a effecteur
*/
@Override @Override
public void change(Changement change) { public void change(Changement change) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
} }
/**
* Fonction supprimant un changement
*
* @param to_delete la changement a delete
*/
@Override @Override
public void deleteChange(Changement to_delete) { public void deleteChange(Changement to_delete) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
@ -210,27 +283,41 @@ public class ModelProf implements Model{
} }
/**
* Fonction affichant les raison d'un changement
*
* @param change le changement
*/
@Override @Override
public void showRaisonChange(Changement change) { public void showRaisonChange(Changement change) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
} }
/**
* Fonction affichant une fentre pour trouver un etudiant et tous ses groupes asociée
*/
@Override @Override
public void findEtu() { public void findEtu() {
// TODO Auto-generated method stub // TODO Auto-generated method stub
} }
/**
* Fonction pour recuperer les etudiant avec ce nom
* @param name le nom de(s) etudiants
* @return la liste
*/
@Override @Override
public Set<Etudiant> getEtu(String name) { public Set<Etudiant> getEtu(String name) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return null; return null;
} }
/**
*affiche les groupe d'un etudiant
* @param e l'etudiant
*/
@Override @Override
public void showGroupOfEtudiant(Etudiant e) { public void showGroupOfEtudiant(Etudiant e) {
// TODO Auto-generated method stub // TODO Auto-generated method stub

View File

@ -26,13 +26,24 @@ import fr.iutfbleau.projetIHM2022FI2.Permanent.View.Chargement;
*/ */
public class ModelRoot implements Model{ public class ModelRoot implements Model{
// le panel qui contient la fenetre de groupe
private JPanel panGroupe; private JPanel panGroupe;
// la fenetre de groupe
private FenetreGroupe fenGr; private FenetreGroupe fenGr;
//la fenetre d'etudiant
private FenetreEtudiant fenEtu; private FenetreEtudiant fenEtu;
// le groupe courant
private AbstractGroupeFactory promo; private AbstractGroupeFactory promo;
// le changement courant
private AbstractChangementFactory changement; private AbstractChangementFactory changement;
private FenetreChangement fenChange; // la fenetre principale
private JFrame fenetre; private JFrame fenetre;
/**
* Constructeur du model.
* @param agf le groupe courant
* @param change le changement courant
*/
public ModelRoot(AbstractGroupeFactory agf, AbstractChangementFactory change){ public ModelRoot(AbstractGroupeFactory agf, AbstractChangementFactory change){
this.fenetre=new JFrame(); this.fenetre=new JFrame();
this.fenetre.setSize(1200, 720); this.fenetre.setSize(1200, 720);
@ -90,7 +101,10 @@ public class ModelRoot implements Model{
public JFrame getFenetre() { public JFrame getFenetre() {
return fenetre; return fenetre;
} }
/**
* permet d'obtenir l'ensemble des etudiants
* @return
*/
@Override @Override
public Set<Etudiant> getEtudiant(){ public Set<Etudiant> getEtudiant(){
return this.promo.getEtudiants(null); return this.promo.getEtudiants(null);
@ -99,7 +113,11 @@ public class ModelRoot implements Model{
// *********************** // ***********************
// FONCTION POUR SUPRIMER UN ETUDIANT // FONCTION POUR SUPRIMER UN ETUDIANT
// *********************** // ***********************
/**
* Fonction pour supprimer un etudiant.
* @param e l'etudiant a supprimer
* @return boolean true si l'etudiant a ete supprimer, false sinon
*/
@Override @Override
public boolean deleteEtu(Etudiant e){ public boolean deleteEtu(Etudiant e){
if(this.deleteEtutoChildren(e, this.fenGr.getG())){ if(this.deleteEtutoChildren(e, this.fenGr.getG())){
@ -110,7 +128,12 @@ public class ModelRoot implements Model{
return false; return false;
} }
} }
/**
* Permet de savoir si un étudiant peut être supprimé
* @param e l'étudiant à supprimer
* @param g le groupe dans lequel on cherche
* @return true si possible, false sinon
*/
private boolean deleteEtutoChildren(Etudiant e, Groupe g){ private boolean deleteEtutoChildren(Etudiant e, Groupe g){
if(g.getMax()<g.getEtudiants().size()-1) if(g.getMax()<g.getEtudiants().size()-1)
return false; return false;
@ -270,7 +293,13 @@ public class ModelRoot implements Model{
} }
this.showGroupe(g); this.showGroupe(g);
} }
/**
* ajoute une nouvelle promotion
* @param min le nombre min
* @param max le nombre max
* @param name le nom
* @param ajout les etudiant a ajouter a la promo
*/
@Override @Override
public void addPromo(int min, int max, String name, Set<Etudiant> ajout){ public void addPromo(int min, int max, String name, Set<Etudiant> ajout){
Chargement ch=new Chargement(this.fenetre); Chargement ch=new Chargement(this.fenetre);
@ -286,7 +315,11 @@ public class ModelRoot implements Model{
} }
/**
* Créer un changement depuis le groupe courant
* @param e l'etudiant
* @param b le groupe a changer
*/
@Override @Override
public void changeGroupe(Etudiant e, Groupe b){ public void changeGroupe(Etudiant e, Groupe b){
if(b==null) if(b==null)
@ -316,7 +349,11 @@ public class ModelRoot implements Model{
} }
this.showGroupe(this.fenGr.getG()); this.showGroupe(this.fenGr.getG());
} }
/**
* Retourn les groupe auquel on peut demander a changer depuis le groupe courant
*
* @return la liste des groupes
*/
@Override @Override
public Set<Groupe> getGroupePartition(){ public Set<Groupe> getGroupePartition(){
this.promo.refreshALL(this.fenGr.getG().getPointPoint()); this.promo.refreshALL(this.fenGr.getG().getPointPoint());
@ -333,13 +370,20 @@ public class ModelRoot implements Model{
/* (non-Javadoc) /* (non-Javadoc)
* @see fr.iutfbleau.projetIHM2022FI2.API.Model#listChange() * @see fr.iutfbleau.projetIHM2022FI2.API.Model#listChange()
*/
/**
* Fonction pour afficher une fenetre listnatn les changements
*
*/ */
@Override @Override
public void listChange() { public void listChange() {
this.fenChange=new FenetreChangement(changement, this); this.fenChange=new FenetreChangement(changement, this);
JOptionPane.showMessageDialog(this.fenetre, new JScrollPane(this.fenChange), "liste des changements", JOptionPane.OK_OPTION); JOptionPane.showMessageDialog(this.fenetre, new JScrollPane(this.fenChange), "liste des changements", JOptionPane.OK_OPTION);
} }
/**
* Fonction pour effectuer un changement
* @param Changement le changement a effecteur
*/
@Override @Override
public void change(Changement change) { public void change(Changement change) {
this.changement.applyChangement(change); this.changement.applyChangement(change);
@ -349,17 +393,29 @@ public class ModelRoot implements Model{
} }
} }
/**
* Fonction supprimant un changement
*
* @param to_delete la changement a delete
*/
@Override @Override
public void deleteChange(Changement to_delete) { public void deleteChange(Changement to_delete) {
this.changement.deleteChangement(to_delete); this.changement.deleteChangement(to_delete);
this.fenChange.refresh(); this.fenChange.refresh();
} }
/**
* Fonction affichant les raison d'un changement
*
* @param change le changement
*/
@Override @Override
public void showRaisonChange(Changement change) { public void showRaisonChange(Changement change) {
JOptionPane.showMessageDialog(this.fenetre, new JLabel(change.getRaison()), "Raison de la demande", JOptionPane.OK_OPTION); JOptionPane.showMessageDialog(this.fenetre, new JLabel(change.getRaison()), "Raison de la demande", JOptionPane.OK_OPTION);
} }
/**
* Fonction affichant une fentre pour trouver un etudiant et tous ses groupes asociée
*/
@Override @Override
public void findEtu() { public void findEtu() {
JScrollPane scroll=new JScrollPane(new FindBarFenetre(this).getPanel()); JScrollPane scroll=new JScrollPane(new FindBarFenetre(this).getPanel());
@ -370,11 +426,20 @@ public class ModelRoot implements Model{
/* (non-Javadoc) /* (non-Javadoc)
* @see fr.iutfbleau.projetIHM2022FI2.API.Model#getEtu(java.lang.String) * @see fr.iutfbleau.projetIHM2022FI2.API.Model#getEtu(java.lang.String)
*/ */
/**
* Fonction pour recuperer les etudiant avec ce nom
* @param name le nom de(s) etudiants
* @return la liste
*/
@Override @Override
public Set<Etudiant> getEtu(String name) { public Set<Etudiant> getEtu(String name) {
return this.promo.getEtudiants(name); return this.promo.getEtudiants(name);
} }
/**
*affiche les groupe d'un etudiant
* @param e l'etudiant
*/
@Override @Override
public void showGroupOfEtudiant(Etudiant e){ public void showGroupOfEtudiant(Etudiant e){
Set<Groupe> liste=this.promo.getGroupesOfEtudiant(e); Set<Groupe> liste=this.promo.getGroupesOfEtudiant(e);

View File

@ -21,15 +21,23 @@ import fr.iutfbleau.projetIHM2022FI2.MP.ETU.View.FenetreGroupe;
* Le Model de L'IHM * Le Model de L'IHM
*/ */
public class ModelEtu implements Model{ public class ModelEtu implements Model{
// le panel qui contient la fenetre de groupe
private JPanel panGroupe; private JPanel panGroupe;
// la fenetre de groupe
private FenetreGroupe fenGr; private FenetreGroupe fenGr;
//la fenetre d'etudiant
private FenetreEtudiant fenEtu; private FenetreEtudiant fenEtu;
// le groupe courant
private AbstractGroupeFactory promo; private AbstractGroupeFactory promo;
// le changement courant
private AbstractChangementFactory changement; private AbstractChangementFactory changement;
// la fenetre principale
private JFrame fenetre; private JFrame fenetre;
// l'etudiant courant
private Etudiant Selected; private Etudiant Selected;
/**
* Constructeur du Model
*/
public ModelEtu(){ public ModelEtu(){
this.fenetre=new JFrame(); this.fenetre=new JFrame();
this.fenetre.setSize(1200, 720); this.fenetre.setSize(1200, 720);
@ -92,7 +100,10 @@ public class ModelEtu implements Model{
public JFrame getFenetre() { public JFrame getFenetre() {
return fenetre; return fenetre;
} }
/**
* Permet d'obtenir les étudiants du groupe courant.
* @return les étudiants du groupe courant
*/
@Override @Override
public Set<Etudiant> getEtudiant(){ public Set<Etudiant> getEtudiant(){
return this.promo.getPromotion().getEtudiants(); return this.promo.getPromotion().getEtudiants();
@ -132,7 +143,11 @@ public class ModelEtu implements Model{
// ************************** // **************************
// FONCTION POUR LES CHANGEMENTS // FONCTION POUR LES CHANGEMENTS
// ****************************** // ******************************
/**
* Permet de changer de groupe.
* @param e l'étudiant qui change de groupe
* @param g le groupe dans lequel l'étudiant va
*/
@Override @Override
public void changeGroupe(Etudiant e, Groupe b){ public void changeGroupe(Etudiant e, Groupe b){
if(b==null) if(b==null)
@ -162,7 +177,10 @@ public class ModelEtu implements Model{
} }
this.showGroupe(this.fenGr.getG()); this.showGroupe(this.fenGr.getG());
} }
/**
* pemet d'obtenir les sous groupes du groupe courant.
* @return les sous groupes du groupe courant
*/
@Override @Override
public Set<Groupe> getGroupePartition(){ public Set<Groupe> getGroupePartition(){
this.promo.refreshALL(this.fenGr.getG().getPointPoint()); this.promo.refreshALL(this.fenGr.getG().getPointPoint());
@ -176,35 +194,60 @@ public class ModelEtu implements Model{
} }
return retour; return retour;
} }
/**
* ajoute un étudiant dans un groupe.
* @param e l'étudiant à ajouter
* @param g le groupe dans lequel l'étudiant va
* @return true si l'ajout a réussi, false sinon
*/
@Override @Override
public boolean addEtudiant(Groupe g, Etudiant e) { public boolean addEtudiant(Groupe g, Etudiant e) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return false; return false;
} }
/**
* supprime un groupe.
* @param g le groupe à supprimer
*/
@Override @Override
public void delete(Groupe g) { public void delete(Groupe g) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
} }
/**
* rennome un groupe.
* @param g le groupe à renommer
* @param nom le nouveau nom du groupe
*
*/
@Override @Override
public void rename(String name, Groupe g) { public void rename(String name, Groupe g) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
} }
/**
* Fonction permetant de créer une partition d'un groupe
* @param g le groupe a partitionner
* @param n le nombre de partition
* @param name le nom des partition
*/
@Override @Override
public void partition(Groupe g, int n, String name) { public void partition(Groupe g, int n, String name) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
} }
/**
* Fonction permettant de créer un sous-groupe d'un groupe
* @param g le groupe parent
* @param name le nom du sous-groupe
* @param min le nombre min d'etudiant
* @param max le nombre max d'etudiant
* @param ajout la liste des étudiants a ajouter au groupe
*/
@Override @Override
public void free(Groupe g, String name, int min, int max, Set<Etudiant> ajout) { public void free(Groupe g, String name, int min, int max, Set<Etudiant> ajout) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
@ -212,33 +255,56 @@ public class ModelEtu implements Model{
} }
/**
* ajoute une nouvelle promotion
* @param min le nombre min
* @param max le nombre max
* @param name le nom
* @param ajout les etudiant a ajouter a la promo
*/
@Override @Override
public void addPromo(int min, int max, String name, Set<Etudiant> ajout) { public void addPromo(int min, int max, String name, Set<Etudiant> ajout) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
} }
/**
* Fonction pour supprimer un etudiant.
* @param e l'etudiant a supprimer
* @return boolean true si l'etudiant a ete supprimer, false sinon
*/
@Override @Override
public boolean deleteEtu(Etudiant e) { public boolean deleteEtu(Etudiant e) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return false; return false;
} }
/**
* Fonction pour afficher une fenetre listnatn les changements
*
*/
@Override @Override
public void listChange() { public void listChange() {
// TODO Auto-generated method stub // TODO Auto-generated method stub
} }
/**
* Fonction pour effectuer un changement
* @param Changement le changement a effecteur
*/
@Override @Override
public void change(Changement change) { public void change(Changement change) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
} }
/**
* Fonction supprimant un changement
*
* @param to_delete la changement a delete
*/
@Override @Override
public void deleteChange(Changement to_delete) { public void deleteChange(Changement to_delete) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
@ -246,13 +312,20 @@ public class ModelEtu implements Model{
} }
/**
* Fonction affichant les raison d'un changement
*
* @param change le changement
*/
@Override @Override
public void showRaisonChange(Changement change) { public void showRaisonChange(Changement change) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
} }
/**
* Fonction affichant une fentre pour trouver un etudiant et tous ses groupes asociée
*/
@Override @Override
public void findEtu() { public void findEtu() {
// TODO Auto-generated method stub // TODO Auto-generated method stub
@ -260,6 +333,11 @@ public class ModelEtu implements Model{
} }
/**
* Fonction pour recuperer les etudiant avec ce nom
* @param name le nom de(s) etudiants
* @return la liste
*/
@Override @Override
public Set<Etudiant> getEtu(String name) { public Set<Etudiant> getEtu(String name) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
@ -267,6 +345,10 @@ public class ModelEtu implements Model{
} }
/**
*affiche les groupe d'un etudiant
* @param e l'etudiant
*/
@Override @Override
public void showGroupOfEtudiant(Etudiant e) { public void showGroupOfEtudiant(Etudiant e) {
// TODO Auto-generated method stub // TODO Auto-generated method stub

View File

@ -22,13 +22,24 @@ import fr.iutfbleau.projetIHM2022FI2.Permanent.View.Chargement;
*/ */
public class ModelProf implements Model{ public class ModelProf implements Model{
// le panel qui contient la fenetre de groupe
private JPanel panGroupe; private JPanel panGroupe;
// la fenetre de groupe
private FenetreGroupe fenGr; private FenetreGroupe fenGr;
//la fenetre d'etudiant
private FenetreEtudiant fenEtu; private FenetreEtudiant fenEtu;
// le groupe courant
private AbstractGroupeFactory promo; private AbstractGroupeFactory promo;
// le changement courant
private AbstractChangementFactory changement; private AbstractChangementFactory changement;
// la fenetre principale
private JFrame fenetre; private JFrame fenetre;
// l'etudiant courant
private Etudiant Selected;
/**
* Constructeur du Model.
*/
public ModelProf(){ public ModelProf(){
this.fenetre=new JFrame(); this.fenetre=new JFrame();
this.fenetre.setSize(1200, 720); this.fenetre.setSize(1200, 720);
@ -90,7 +101,10 @@ public class ModelProf implements Model{
public JFrame getFenetre() { public JFrame getFenetre() {
return fenetre; return fenetre;
} }
/**
* permet d'obtenir l'ensemble des etudiants
* @return
*/
@Override @Override
public Set<Etudiant> getEtudiant(){ public Set<Etudiant> getEtudiant(){
return this.promo.getPromotion().getEtudiants(); return this.promo.getPromotion().getEtudiants();
@ -99,7 +113,11 @@ public class ModelProf implements Model{
// ************************** // **************************
// FONCTION POUR LES CHANGEMENTS // FONCTION POUR LES CHANGEMENTS
// ****************************** // ******************************
/**
* Créer un changement depuis le groupe courant
* @param e l'etudiant
* @param b le groupe a changer
*/
@Override @Override
public void changeGroupe(Etudiant e, Groupe b){ public void changeGroupe(Etudiant e, Groupe b){
if(b==null) if(b==null)
@ -129,7 +147,11 @@ public class ModelProf implements Model{
} }
this.showGroupe(this.fenGr.getG()); this.showGroupe(this.fenGr.getG());
} }
/**
* Retourn les groupe auquel on peut demander a changer depuis le groupe courant
*
* @return la liste des groupes
*/
@Override @Override
public Set<Groupe> getGroupePartition(){ public Set<Groupe> getGroupePartition(){
this.promo.refreshALL(this.fenGr.getG().getPointPoint()); this.promo.refreshALL(this.fenGr.getG().getPointPoint());
@ -143,14 +165,22 @@ public class ModelProf implements Model{
} }
return retour; return retour;
} }
/**
* Fonction pour ajouter un étudiant au groupe
* @param g
* @param e
* @return boolean pour savoir si il a pus être ajouter
*/
@Override @Override
public boolean addEtudiant(Groupe g, Etudiant e) { public boolean addEtudiant(Groupe g, Etudiant e) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return false; return false;
} }
/**
* Fonction pour supprimer un groupe
* @param g le groupe a supprimer
*/
@Override @Override
public void delete(Groupe g) { public void delete(Groupe g) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
@ -158,6 +188,11 @@ public class ModelProf implements Model{
} }
/**
* Fonction pour renomer un groupe
* @param name
* @param g
*/
@Override @Override
public void rename(String name, Groupe g) { public void rename(String name, Groupe g) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
@ -165,6 +200,12 @@ public class ModelProf implements Model{
} }
/**
* Fonction permetant de créer une partition d'un groupe
* @param g le groupe a partitionner
* @param n le nombre de partition
* @param name le nom des partition
*/
@Override @Override
public void partition(Groupe g, int n, String name) { public void partition(Groupe g, int n, String name) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
@ -172,12 +213,26 @@ public class ModelProf implements Model{
} }
/**
* Fonction permettant de créer un sous-groupe d'un groupe
* @param g le groupe parent
* @param name le nom du sous-groupe
* @param min le nombre min d'etudiant
* @param max le nombre max d'etudiant
* @param ajout la liste des étudiants a ajouter au groupe
*/
@Override @Override
public void free(Groupe g, String name, int min, int max, Set<Etudiant> ajout) { public void free(Groupe g, String name, int min, int max, Set<Etudiant> ajout) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
} }
/**
* ajoute une nouvelle promotion
* @param min le nombre min
* @param max le nombre max
* @param name le nom
* @param ajout les etudiant a ajouter a la promo
*/
@Override @Override
public void addPromo(int min, int max, String name, Set<Etudiant> ajout) { public void addPromo(int min, int max, String name, Set<Etudiant> ajout) {
@ -185,13 +240,20 @@ public class ModelProf implements Model{
} }
/**
* Fonction pour supprimer un etudiant.
* @param e l'etudiant a supprimer
* @return boolean true si l'etudiant a ete supprimer, false sinon
*/
@Override @Override
public boolean deleteEtu(Etudiant e) { public boolean deleteEtu(Etudiant e) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return false; return false;
} }
/**
* Fonction pour afficher une fenetre listnatn les changements
*
*/
@Override @Override
public void listChange() { public void listChange() {
// TODO Auto-generated method stub // TODO Auto-generated method stub
@ -199,13 +261,21 @@ public class ModelProf implements Model{
} }
/**
* Fonction pour effectuer un changement
* @param Changement le changement a effecteur
*/
@Override @Override
public void change(Changement change) { public void change(Changement change) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
} }
/**
* Fonction supprimant un changement
*
* @param to_delete la changement a delete
*/
@Override @Override
public void deleteChange(Changement to_delete) { public void deleteChange(Changement to_delete) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
@ -213,27 +283,41 @@ public class ModelProf implements Model{
} }
/**
* Fonction affichant les raison d'un changement
*
* @param change le changement
*/
@Override @Override
public void showRaisonChange(Changement change) { public void showRaisonChange(Changement change) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
} }
/**
* Fonction affichant une fentre pour trouver un etudiant et tous ses groupes asociée
*/
@Override @Override
public void findEtu() { public void findEtu() {
// TODO Auto-generated method stub // TODO Auto-generated method stub
} }
/**
* Fonction pour recuperer les etudiant avec ce nom
* @param name le nom de(s) etudiants
* @return la liste
*/
@Override @Override
public Set<Etudiant> getEtu(String name) { public Set<Etudiant> getEtu(String name) {
// TODO Auto-generated method stub // TODO Auto-generated method stub
return null; return null;
} }
/**
*affiche les groupe d'un etudiant
* @param e l'etudiant
*/
@Override @Override
public void showGroupOfEtudiant(Etudiant e) { public void showGroupOfEtudiant(Etudiant e) {
// TODO Auto-generated method stub // TODO Auto-generated method stub

View File

@ -26,13 +26,22 @@ import fr.iutfbleau.projetIHM2022FI2.Permanent.View.Chargement;
*/ */
public class ModelRoot implements Model{ public class ModelRoot implements Model{
// le panel qui contient la fenetre de groupe
private JPanel panGroupe; private JPanel panGroupe;
// la fenetre de groupe
private FenetreGroupe fenGr; private FenetreGroupe fenGr;
//la fenetre d'etudiant
private FenetreEtudiant fenEtu; private FenetreEtudiant fenEtu;
// le groupe courant
private AbstractGroupeFactory promo; private AbstractGroupeFactory promo;
// le changement courant
private AbstractChangementFactory changement; private AbstractChangementFactory changement;
private FenetreChangement fenChange; // la fenetre principale
private JFrame fenetre; private JFrame fenetre;
/**
* Constructeur du model.
*/
public ModelRoot(){ public ModelRoot(){
this.fenetre=new JFrame(); this.fenetre=new JFrame();
this.fenetre.setSize(1200, 720); this.fenetre.setSize(1200, 720);
@ -91,7 +100,10 @@ public class ModelRoot implements Model{
public JFrame getFenetre() { public JFrame getFenetre() {
return fenetre; return fenetre;
} }
/**
* permet d'obtenir l'ensemble des etudiants
* @return
*/
@Override @Override
public Set<Etudiant> getEtudiant(){ public Set<Etudiant> getEtudiant(){
return this.promo.getEtudiants(null); return this.promo.getEtudiants(null);
@ -100,7 +112,11 @@ public class ModelRoot implements Model{
// *********************** // ***********************
// FONCTION POUR SUPRIMER UN ETUDIANT // FONCTION POUR SUPRIMER UN ETUDIANT
// *********************** // ***********************
/**
* Fonction pour supprimer un etudiant.
* @param e l'etudiant a supprimer
* @return boolean true si l'etudiant a ete supprimer, false sinon
*/
@Override @Override
public boolean deleteEtu(Etudiant e){ public boolean deleteEtu(Etudiant e){
if(this.deleteEtutoChildren(e, this.fenGr.getG())){ if(this.deleteEtutoChildren(e, this.fenGr.getG())){
@ -111,7 +127,12 @@ public class ModelRoot implements Model{
return false; return false;
} }
} }
/**
* Permet de savoir si un étudiant peut être supprimé
* @param e l'étudiant à supprimer
* @param g le groupe dans lequel on cherche
* @return true si possible, false sinon
*/
private boolean deleteEtutoChildren(Etudiant e, Groupe g){ private boolean deleteEtutoChildren(Etudiant e, Groupe g){
if(g.getMax()<g.getEtudiants().size()-1) if(g.getMax()<g.getEtudiants().size()-1)
return false; return false;
@ -271,7 +292,13 @@ public class ModelRoot implements Model{
} }
this.showGroupe(g); this.showGroupe(g);
} }
/**
* ajoute une nouvelle promotion
* @param min le nombre min
* @param max le nombre max
* @param name le nom
* @param ajout les etudiant a ajouter a la promo
*/
@Override @Override
public void addPromo(int min, int max, String name, Set<Etudiant> ajout){ public void addPromo(int min, int max, String name, Set<Etudiant> ajout){
Chargement ch=new Chargement(this.fenetre); Chargement ch=new Chargement(this.fenetre);
@ -287,7 +314,11 @@ public class ModelRoot implements Model{
} }
/**
* Créer un changement depuis le groupe courant
* @param e l'etudiant
* @param b le groupe a changer
*/
@Override @Override
public void changeGroupe(Etudiant e, Groupe b){ public void changeGroupe(Etudiant e, Groupe b){
if(b==null) if(b==null)
@ -317,7 +348,11 @@ public class ModelRoot implements Model{
} }
this.showGroupe(this.fenGr.getG()); this.showGroupe(this.fenGr.getG());
} }
/**
* Retourn les groupe auquel on peut demander a changer depuis le groupe courant
*
* @return la liste des groupes
*/
@Override @Override
public Set<Groupe> getGroupePartition(){ public Set<Groupe> getGroupePartition(){
this.promo.refreshALL(this.fenGr.getG().getPointPoint()); this.promo.refreshALL(this.fenGr.getG().getPointPoint());
@ -334,13 +369,20 @@ public class ModelRoot implements Model{
/* (non-Javadoc) /* (non-Javadoc)
* @see fr.iutfbleau.projetIHM2022FI2.API.Model#listChange() * @see fr.iutfbleau.projetIHM2022FI2.API.Model#listChange()
*/
/**
* Fonction pour afficher une fenetre listnatn les changements
*
*/ */
@Override @Override
public void listChange() { public void listChange() {
this.fenChange=new FenetreChangement(changement, this); this.fenChange=new FenetreChangement(changement, this);
JOptionPane.showMessageDialog(this.fenetre, new JScrollPane(this.fenChange), "liste des changements", JOptionPane.OK_OPTION); JOptionPane.showMessageDialog(this.fenetre, new JScrollPane(this.fenChange), "liste des changements", JOptionPane.OK_OPTION);
} }
/**
* Fonction pour effectuer un changement
* @param Changement le changement a effecteur
*/
@Override @Override
public void change(Changement change) { public void change(Changement change) {
this.changement.applyChangement(change); this.changement.applyChangement(change);
@ -350,17 +392,29 @@ public class ModelRoot implements Model{
} }
} }
/**
* Fonction supprimant un changement
*
* @param to_delete la changement a delete
*/
@Override @Override
public void deleteChange(Changement to_delete) { public void deleteChange(Changement to_delete) {
this.changement.deleteChangement(to_delete); this.changement.deleteChangement(to_delete);
this.fenChange.refresh(); this.fenChange.refresh();
} }
/**
* Fonction affichant les raison d'un changement
*
* @param change le changement
*/
@Override @Override
public void showRaisonChange(Changement change) { public void showRaisonChange(Changement change) {
JOptionPane.showMessageDialog(this.fenetre, new JLabel(change.getRaison()), "Raison de la demande", JOptionPane.OK_OPTION); JOptionPane.showMessageDialog(this.fenetre, new JLabel(change.getRaison()), "Raison de la demande", JOptionPane.OK_OPTION);
} }
/**
* Fonction affichant une fentre pour trouver un etudiant et tous ses groupes asociée
*/
@Override @Override
public void findEtu() { public void findEtu() {
JScrollPane scroll=new JScrollPane(new FindBarFenetre(this).getPanel()); JScrollPane scroll=new JScrollPane(new FindBarFenetre(this).getPanel());
@ -371,11 +425,20 @@ public class ModelRoot implements Model{
/* (non-Javadoc) /* (non-Javadoc)
* @see fr.iutfbleau.projetIHM2022FI2.API.Model#getEtu(java.lang.String) * @see fr.iutfbleau.projetIHM2022FI2.API.Model#getEtu(java.lang.String)
*/ */
/**
* Fonction pour recuperer les etudiant avec ce nom
* @param name le nom de(s) etudiants
* @return la liste
*/
@Override @Override
public Set<Etudiant> getEtu(String name) { public Set<Etudiant> getEtu(String name) {
return this.promo.getEtudiants(name); return this.promo.getEtudiants(name);
} }
/**
*affiche les groupe d'un etudiant
* @param e l'etudiant
*/
@Override @Override
public void showGroupOfEtudiant(Etudiant e){ public void showGroupOfEtudiant(Etudiant e){
Set<Groupe> liste=this.promo.getGroupesOfEtudiant(e); Set<Groupe> liste=this.promo.getGroupesOfEtudiant(e);