ok
This commit is contained in:
parent
3c518bd6d1
commit
203fca24cd
@ -1,6 +1,7 @@
|
|||||||
package fr.iutfbleau.projetIHM2022FI2.Graphic.Model;
|
package fr.iutfbleau.projetIHM2022FI2.Graphic.Model;
|
||||||
import java.sql.PreparedStatement;
|
import java.sql.PreparedStatement;
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
|
import java.util.HashMap;
|
||||||
import java.util.Set;
|
import java.util.Set;
|
||||||
import java.sql.Connection;
|
import java.sql.Connection;
|
||||||
import java.sql.ResultSet;
|
import java.sql.ResultSet;
|
||||||
@ -26,66 +27,68 @@ import fr.iutfbleau.projetIHM2022FI2.MNP.GroupeNP;
|
|||||||
*/
|
*/
|
||||||
public class Model{
|
public class Model{
|
||||||
|
|
||||||
private JPanel panGroupe;
|
private JPanel panGroupe;
|
||||||
private FenetreGroupe fenGr;
|
private FenetreGroupe fenGr;
|
||||||
private FenetreEtudiant fenEtu;
|
private FenetreEtudiant fenEtu;
|
||||||
private AbstractGroupeFactory promo;
|
private AbstractGroupeFactory promo;
|
||||||
private JFrame fenetre;
|
private JFrame fenetre;
|
||||||
private JTree tree;
|
//private JTree tree;
|
||||||
private BD bd;
|
private BD bd;
|
||||||
|
private HashMap<Integer,DefaultMutableTreeNodeGroupe> brain;
|
||||||
public Model(){
|
public Model(){
|
||||||
this.fenetre=new JFrame();
|
this.fenetre=new JFrame();
|
||||||
this.fenetre.setSize(1200, 720);
|
this.fenetre.setSize(1200, 720);
|
||||||
this.fenetre.setLocation(100,100);
|
this.fenetre.setLocation(100,100);
|
||||||
this.fenetre.addWindowListener(new ObservateurFenetre());
|
this.fenetre.addWindowListener(new ObservateurFenetre());
|
||||||
this.fenetre.setLayout(new GridLayout(1,2));
|
this.fenetre.setLayout(new GridLayout(1,2));
|
||||||
this.fenetre.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
|
this.fenetre.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
|
||||||
this.fenetre.setMinimumSize(this.fenetre.getSize());
|
this.fenetre.setMinimumSize(this.fenetre.getSize());
|
||||||
|
this.brain=new HashMap<>();
|
||||||
this.bd=new BD(this.fenetre);
|
this.bd=new BD(this.fenetre);
|
||||||
Chargement ch=new Chargement(this.fenetre.getSize());
|
Chargement ch=new Chargement(this.fenetre.getSize());
|
||||||
this.promo=this.getPromo(ch);
|
this.promo=this.getPromo(ch);
|
||||||
ch.dispose();
|
ch.dispose();
|
||||||
this.fenetre.setVisible(true);
|
this.fenetre.setVisible(true);
|
||||||
if(this.promo==null){
|
if(this.promo==null){
|
||||||
this.fenGr=new FenetreGroupe(null, this);
|
this.fenGr=new FenetreGroupe(null, this);
|
||||||
this.fenEtu=new FenetreEtudiant(null, this);
|
this.fenEtu=new FenetreEtudiant(null, this);
|
||||||
}else{
|
}else{
|
||||||
this.fenGr=new FenetreGroupe(this.promo.getPromotion(), this);
|
this.fenGr=new FenetreGroupe(this.promo.getPromotion(), this);
|
||||||
this.fenEtu=new FenetreEtudiant(this.promo.getPromotion(), this);
|
this.fenEtu=new FenetreEtudiant(this.promo.getPromotion(), this);
|
||||||
}
|
}
|
||||||
this.panGroupe=new JPanel(new GridLayout(2,1));
|
this.panGroupe=new JPanel(new GridLayout(1,1));
|
||||||
this.initJtree(this.promo.getPromotion());
|
if(this.promo!=null){
|
||||||
if(this.promo!=null){
|
//this.initJtree(this.promo.getPromotion());
|
||||||
this.showGroupe(this.promo.getPromotion());
|
}else{
|
||||||
}else{
|
//this.initJtree(null);
|
||||||
this.showGroupe(null);
|
}
|
||||||
}
|
if(this.promo!=null){
|
||||||
|
this.showGroupe(this.promo.getPromotion());
|
||||||
|
}else{
|
||||||
|
this.showGroupe(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Fonction pour refresh/changer de groupe d'affichage
|
|
||||||
* @param g le groupe a afficher
|
|
||||||
*/
|
|
||||||
public void showGroupe(Groupe g){
|
|
||||||
if(g!=null)
|
|
||||||
g=this.bd.refreshALL(g);
|
|
||||||
|
|
||||||
//this.initJtree(this.promo.getPromotion());
|
|
||||||
this.panGroupe.removeAll();
|
|
||||||
this.fenGr=new FenetreGroupe(g, this);
|
|
||||||
this.fenEtu=new FenetreEtudiant(g, this);
|
|
||||||
this.fenetre.getContentPane().removeAll();
|
|
||||||
this.panGroupe.add(this.tree);
|
|
||||||
this.panGroupe.add(this.fenGr);
|
|
||||||
this.panGroupe.revalidate();
|
|
||||||
this.fenetre.add(this.panGroupe);
|
|
||||||
JScrollPane scroll=new JScrollPane(this.fenEtu);
|
|
||||||
scroll.getVerticalScrollBar().setUnitIncrement(15);
|
|
||||||
this.fenetre.add(scroll);
|
|
||||||
this.fenetre.revalidate();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Fonction pour refresh/changer de groupe d'affichage
|
||||||
|
* @param g le groupe a afficher
|
||||||
|
*/
|
||||||
|
public void showGroupe(Groupe g){
|
||||||
|
if(g!=null)
|
||||||
|
g=this.bd.refreshALL(g);
|
||||||
|
this.panGroupe.removeAll();
|
||||||
|
this.fenGr=new FenetreGroupe(g, this);
|
||||||
|
this.fenEtu=new FenetreEtudiant(g, this);
|
||||||
|
this.fenetre.getContentPane().removeAll();
|
||||||
|
//this.panGroupe.add(this.tree);
|
||||||
|
this.panGroupe.add(this.fenGr);
|
||||||
|
this.panGroupe.revalidate();
|
||||||
|
this.fenetre.add(this.panGroupe);
|
||||||
|
JScrollPane scroll=new JScrollPane(this.fenEtu);
|
||||||
|
scroll.getVerticalScrollBar().setUnitIncrement(15);
|
||||||
|
this.fenetre.add(scroll);
|
||||||
|
this.fenetre.revalidate();
|
||||||
|
}
|
||||||
/**
|
/**
|
||||||
* getteur de la fenetre
|
* getteur de la fenetre
|
||||||
* @return JFrame la fenetre
|
* @return JFrame la fenetre
|
||||||
@ -102,7 +105,9 @@ public class Model{
|
|||||||
if(g==this.promo.getPromotion()){
|
if(g==this.promo.getPromotion()){
|
||||||
if(JOptionPane.showConfirmDialog(this.fenetre, "Attention ête vous sûr de vouloir supprimer la promo", "Attention", JOptionPane.YES_NO_OPTION)==JOptionPane.YES_OPTION){
|
if(JOptionPane.showConfirmDialog(this.fenetre, "Attention ête vous sûr de vouloir supprimer la promo", "Attention", JOptionPane.YES_NO_OPTION)==JOptionPane.YES_OPTION){
|
||||||
this.promo=null;
|
this.promo=null;
|
||||||
this.bd.suprGroupe(g);
|
if(this.bd.suprGroupe(g)){
|
||||||
|
this.initJtree(null);
|
||||||
|
}
|
||||||
this.showGroupe(null);
|
this.showGroupe(null);
|
||||||
}else{
|
}else{
|
||||||
return;
|
return;
|
||||||
@ -112,7 +117,9 @@ public class Model{
|
|||||||
//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
|
//elle contiendra les sous-groupe remontant j'usqau groupe a supprimer
|
||||||
//On initialise la liste
|
//On initialise la liste
|
||||||
this.bd.suprGroupe(g);
|
if(this.bd.suprGroupe(g)){
|
||||||
|
//this.refreshTree(this.brain.get(g.getId()), g);
|
||||||
|
}
|
||||||
this.showGroupe(g.getPointPoint());
|
this.showGroupe(g.getPointPoint());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -139,7 +146,9 @@ public class Model{
|
|||||||
for(Groupe gr: g.getSousGroupes()){
|
for(Groupe gr: g.getSousGroupes()){
|
||||||
if(gr.getSousGroupes().size()>0 && gr.getSousGroupes().iterator().next().getName().contains(name)){
|
if(gr.getSousGroupes().size()>0 && gr.getSousGroupes().iterator().next().getName().contains(name)){
|
||||||
this.fenetre.setVisible(false);
|
this.fenetre.setVisible(false);
|
||||||
this.bd.saveGroupe(gr, 100/this.getTailleGroupe(gr)+1, ch);
|
if(this.bd.saveGroupe(gr, 100/this.getTailleGroupe(gr)+1, ch)){
|
||||||
|
//this.refreshTree(this.brain.get(g.getId()), g);
|
||||||
|
}
|
||||||
ch.dispose();
|
ch.dispose();
|
||||||
this.fenetre.setVisible(true);
|
this.fenetre.setVisible(true);
|
||||||
break;
|
break;
|
||||||
@ -331,28 +340,34 @@ public class Model{
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initJtree(Groupe g){
|
private void initJtree(Groupe g){/*
|
||||||
|
this.brain=new HashMap<>();
|
||||||
DefaultMutableTreeNodeGroupe mut;
|
DefaultMutableTreeNodeGroupe mut;
|
||||||
if(g!=null){
|
if(g!=null){
|
||||||
mut=new DefaultMutableTreeNodeGroupe(g, g.getName());
|
mut=new DefaultMutableTreeNodeGroupe(g, g.getName());
|
||||||
|
this.brain.put(g.getId(), mut);
|
||||||
for(Groupe sous:g.getSousGroupes()){
|
for(Groupe sous:g.getSousGroupes()){
|
||||||
this.treeRecursif(sous, mut);
|
this.treeRecursif(sous, mut);
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
mut=new DefaultMutableTreeNodeGroupe(g, null);
|
mut=new DefaultMutableTreeNodeGroupe(g, null);
|
||||||
}
|
}
|
||||||
this.tree=new JTreeGroupe(this, mut);
|
//this.tree=new JTreeGroupe(this, mut);*/
|
||||||
}
|
}
|
||||||
|
|
||||||
private void treeRecursif(Groupe g, DefaultMutableTreeNodeGroupe m){
|
private void treeRecursif(Groupe g, DefaultMutableTreeNodeGroupe m){/*
|
||||||
|
this.brain.put(g.getId(), m);
|
||||||
DefaultMutableTreeNodeGroupe mut=new DefaultMutableTreeNodeGroupe(g, g.getName());
|
DefaultMutableTreeNodeGroupe mut=new DefaultMutableTreeNodeGroupe(g, g.getName());
|
||||||
m.add(mut);
|
m.add(mut);
|
||||||
for(Groupe sous: g.getSousGroupes()){
|
for(Groupe sous: g.getSousGroupes()){
|
||||||
this.treeRecursif(sous, mut);
|
this.treeRecursif(sous, mut);
|
||||||
}
|
}*/
|
||||||
}
|
}
|
||||||
|
|
||||||
private void refreshTree(Groupe g){
|
private void refreshTree(DefaultMutableTreeNodeGroupe m, Groupe g){
|
||||||
|
/* m.removeAllChildren();
|
||||||
|
for(Groupe sous:g.getSousGroupes()){
|
||||||
|
this.treeRecursif(sous, m);
|
||||||
|
}*/
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user