package fr.iutfbleau.projetIHM2022FI2.MP.PROF.View;


import javax.swing.JLabel;
import javax.swing.JPanel;

import java.awt.*;
import java.util.LinkedHashSet;
import java.util.Set;

import fr.iutfbleau.projetIHM2022FI2.API.Etudiant;
import fr.iutfbleau.projetIHM2022FI2.API.Groupe;

/**
 * Affichage des édudiants d'un groupe
 *
 */
public class FenetreEtudiant{
	// liste des étudiants
	private Set<Etudiant> etu;
	// panel
    private JPanel pan;

			/**
		 * Constructeur de l'affichage des étudiants
		 * @param g le groupe
		 */
    public FenetreEtudiant(Groupe g){
        this.pan=new JPanel();
        if(g!=null){
            this.etu=g.getEtudiants(); 
        }else{
            this.etu=new LinkedHashSet<>();
        }
        this.draw();
    }
		/**
		 * Gère l'affichage des étudiants
		 */
    private void draw(){
        if(this.etu.size()!=0){
            this.pan.setLayout(new GridLayout(this.etu.size(), 1, 30, 0));
            for(Etudiant e: this.etu){
                    PanelEtudiant p=new PanelEtudiant(e);
                    this.pan.add(p);
            }
        }else{
            this.pan.setLayout(new FlowLayout());
            this.pan.add(new JLabel("Il n'y a pas d'étudiant"));
        }
    }
		/**	
		 * rafraichit l'affichage.
		*/
    public void refresh(){
        this.pan.removeAll();
        this.draw();
        this.pan.revalidate();
    }
		/**
		 * premet d'obtenir le panel de l'affichage
		 * @return le panel de l'affichage
		 */
    public JPanel getPan() {
        return pan;
    }
}
