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) {
|
||||
int min=Integer.parseInt(xField.getText());
|
||||
int max=Integer.parseInt(zField.getText());
|
||||
if(min>this.groupe.getEtudiants().size() || max>this.groupe.getEtudiants().size()){
|
||||
JOptionPane.showMessageDialog(m.getFenetre(), "nombre de partition trop grand", "erreur", JOptionPane.ERROR_MESSAGE);
|
||||
if(max>this.groupe.getMax() || min<=0){
|
||||
JOptionPane.showMessageDialog(m.getFenetre(), "nombre min/max inchoérent", "erreur", JOptionPane.ERROR_MESSAGE);
|
||||
return;
|
||||
}
|
||||
m.free(groupe, yField.getText(), min, max);
|
||||
m.showGroupe(this.groupe);
|
||||
Set<Etudiant> ajout=new LinkedHashSet<>();
|
||||
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){
|
||||
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
|
||||
if(nbsous==0){
|
||||
//on ajoute le pourcentage de chargement de ce groupe
|
||||
ch.addPourcent(pourcent);
|
||||
if(ch!=null)
|
||||
ch.addPourcent(pourcent);
|
||||
//La fonction est fini
|
||||
rs.close();
|
||||
pst.close();
|
||||
@ -218,6 +219,7 @@ public class Model{
|
||||
* @param g le groupe a afficher
|
||||
*/
|
||||
public void showGroupe(Groupe g){
|
||||
this.getPromo(null);%/
|
||||
this.fenGr=new FenetreGroupe(g, this);
|
||||
this.fenEtu=new FenetreEtudiant(g);
|
||||
this.fenetre.getContentPane().removeAll();
|
||||
@ -243,32 +245,80 @@ public class Model{
|
||||
return;
|
||||
}
|
||||
//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<>();
|
||||
//On initialise la liste
|
||||
this.deleteRecursif(file, g);
|
||||
for(Groupe sup:file){
|
||||
//on supprime les groupe
|
||||
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){
|
||||
//on parcour tous ses sous groupe
|
||||
for(Groupe g: bedelete.getSousGroupes()){
|
||||
//qui eux aussi ajouterons leurs sous-groupe a la file
|
||||
this.deleteRecursif(file, g);
|
||||
}
|
||||
// on ajoute le groupe (les sous-groupe ayant déja ajouter leur groupe)
|
||||
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){
|
||||
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);
|
||||
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){
|
||||
g.setName(name);
|
||||
}
|
||||
|
||||
/**
|
||||
* Fonction pour ajouter un étudiant au groupe
|
||||
* @param g
|
||||
* @param e
|
||||
*/
|
||||
public void addEtudiant(Groupe g, Etudiant e){
|
||||
g.addEtudiant(e);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user