ajout commentaire en correstion bug
This commit is contained in:
parent
ef308e8bbf
commit
3d1dc90f41
@ -73,15 +73,27 @@ public class ObservateurModifGroupe implements ActionListener{
|
|||||||
if (result == JOptionPane.OK_OPTION) {
|
if (result == JOptionPane.OK_OPTION) {
|
||||||
int min=Integer.parseInt(xField.getText());
|
int min=Integer.parseInt(xField.getText());
|
||||||
int max=Integer.parseInt(zField.getText());
|
int max=Integer.parseInt(zField.getText());
|
||||||
if(min>this.groupe.getEtudiants().size() || max>this.groupe.getEtudiants().size()){
|
if(max>this.groupe.getMax() || min<=0){
|
||||||
JOptionPane.showMessageDialog(m.getFenetre(), "nombre de partition trop grand", "erreur", JOptionPane.ERROR_MESSAGE);
|
JOptionPane.showMessageDialog(m.getFenetre(), "nombre min/max inchoérent", "erreur", JOptionPane.ERROR_MESSAGE);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
m.free(groupe, yField.getText(), min, max);
|
Set<Etudiant> ajout=new LinkedHashSet<>();
|
||||||
m.showGroupe(this.groupe);
|
myPanel=new FenetreSelectionEtu(this.groupe.getPointPoint(), ajout);
|
||||||
|
if(JOptionPane.showConfirmDialog(m.getFenetre(), new JScrollPane(myPanel), "Selectionner les étudiant a ajouter", JOptionPane.OK_CANCEL_OPTION) ==JOptionPane.YES_OPTION){
|
||||||
|
if(ajout.size()>=min && ajout.size()<=max){
|
||||||
|
m.free(groupe, yField.getText(), min, max, ajout);
|
||||||
|
m.showGroupe(this.groupe);
|
||||||
|
}else{
|
||||||
|
if(min>ajout.size())
|
||||||
|
JOptionPane.showMessageDialog(m.getFenetre(), "nombre d'etudiant trop petit", "erreur", JOptionPane.ERROR_MESSAGE);
|
||||||
|
else{
|
||||||
|
JOptionPane.showMessageDialog(m.getFenetre(), "nombre d'etudiant trop grand", "erreur", JOptionPane.ERROR_MESSAGE);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}catch(NumberFormatException er){
|
}catch(NumberFormatException er){
|
||||||
JOptionPane.showMessageDialog(m.getFenetre(), "erreur dans le nombre de partition", "erreur", JOptionPane.ERROR_MESSAGE);
|
JOptionPane.showMessageDialog(m.getFenetre(), "erreur dans les nombres min et max", "erreur", JOptionPane.ERROR_MESSAGE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -138,7 +138,8 @@ public class Model{
|
|||||||
//si il n'y pas de sous-groupe
|
//si il n'y pas de sous-groupe
|
||||||
if(nbsous==0){
|
if(nbsous==0){
|
||||||
//on ajoute le pourcentage de chargement de ce groupe
|
//on ajoute le pourcentage de chargement de ce groupe
|
||||||
ch.addPourcent(pourcent);
|
if(ch!=null)
|
||||||
|
ch.addPourcent(pourcent);
|
||||||
//La fonction est fini
|
//La fonction est fini
|
||||||
rs.close();
|
rs.close();
|
||||||
pst.close();
|
pst.close();
|
||||||
@ -218,6 +219,7 @@ public class Model{
|
|||||||
* @param g le groupe a afficher
|
* @param g le groupe a afficher
|
||||||
*/
|
*/
|
||||||
public void showGroupe(Groupe g){
|
public void showGroupe(Groupe g){
|
||||||
|
this.getPromo(null);%/
|
||||||
this.fenGr=new FenetreGroupe(g, this);
|
this.fenGr=new FenetreGroupe(g, this);
|
||||||
this.fenEtu=new FenetreEtudiant(g);
|
this.fenEtu=new FenetreEtudiant(g);
|
||||||
this.fenetre.getContentPane().removeAll();
|
this.fenetre.getContentPane().removeAll();
|
||||||
@ -243,32 +245,80 @@ public class Model{
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
//autrement on récupere les groupe a supprimer par ordre avec une fonction recursive
|
//autrement on récupere les groupe a supprimer par ordre avec une fonction recursive
|
||||||
|
//elle contiendra les sous-groupe remontant j'usqau groupe a supprimer
|
||||||
LinkedList<Groupe> file=new LinkedList<>();
|
LinkedList<Groupe> file=new LinkedList<>();
|
||||||
|
//On initialise la liste
|
||||||
this.deleteRecursif(file, g);
|
this.deleteRecursif(file, g);
|
||||||
for(Groupe sup:file){
|
for(Groupe sup:file){
|
||||||
|
//on supprime les groupe
|
||||||
this.promo.deleteGroupe(sup);
|
this.promo.deleteGroupe(sup);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* fonction recursive initialisant la liste ordonnée de tous les groupe a supprimer avant de supprimer ce groupe
|
||||||
|
* @param file la liste
|
||||||
|
* @param bedelete le groupe a supprimer
|
||||||
|
*/
|
||||||
private void deleteRecursif(LinkedList<Groupe> file, Groupe bedelete){
|
private void deleteRecursif(LinkedList<Groupe> file, Groupe bedelete){
|
||||||
|
//on parcour tous ses sous groupe
|
||||||
for(Groupe g: bedelete.getSousGroupes()){
|
for(Groupe g: bedelete.getSousGroupes()){
|
||||||
|
//qui eux aussi ajouterons leurs sous-groupe a la file
|
||||||
this.deleteRecursif(file, g);
|
this.deleteRecursif(file, g);
|
||||||
}
|
}
|
||||||
|
// on ajoute le groupe (les sous-groupe ayant déja ajouter leur groupe)
|
||||||
file.add(bedelete);
|
file.add(bedelete);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 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
|
||||||
|
*/
|
||||||
public void partition(Groupe g, int n, String name){
|
public void partition(Groupe g, int n, String name){
|
||||||
this.promo.createPartition(g, name, n);
|
this.promo.createPartition(g, name, n);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void free(Groupe g, String name, int min, int max){
|
/**
|
||||||
|
* 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
|
||||||
|
*/
|
||||||
|
public void free(Groupe g, String name, int min, int max, Set<Etudiant> ajout){
|
||||||
|
//on creer le groupe
|
||||||
this.promo.createGroupe(g, name, min, max);
|
this.promo.createGroupe(g, name, min, max);
|
||||||
|
Groupe creer=null;
|
||||||
|
//on le recupere
|
||||||
|
for(Groupe gr:g.getSousGroupes()){
|
||||||
|
if(gr.getName()==name){
|
||||||
|
creer=gr;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
//on y ajoute les étudiant
|
||||||
|
for(Etudiant e:ajout){
|
||||||
|
this.promo.addToGroupe(creer, e);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fonction pour renomer un groupe
|
||||||
|
* @param name
|
||||||
|
* @param g
|
||||||
|
*/
|
||||||
public void rename(String name, Groupe g){
|
public void rename(String name, Groupe g){
|
||||||
g.setName(name);
|
g.setName(name);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fonction pour ajouter un étudiant au groupe
|
||||||
|
* @param g
|
||||||
|
* @param e
|
||||||
|
*/
|
||||||
public void addEtudiant(Groupe g, Etudiant e){
|
public void addEtudiant(Groupe g, Etudiant e){
|
||||||
g.addEtudiant(e);
|
g.addEtudiant(e);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user