Ajout doc vue
This commit is contained in:
parent
fae6867477
commit
888b12dc2a
@ -13,13 +13,28 @@ import fr.iutfbleau.projetIHM2022FI2.API.TypeGroupe;
|
||||
import fr.iutfbleau.projetIHM2022FI2.Permanent.Controller.ActionListenerChangeEtu;
|
||||
import fr.iutfbleau.projetIHM2022FI2.API.Model;
|
||||
|
||||
|
||||
/**
|
||||
* Affichage des édudiants d'un groupe
|
||||
*
|
||||
*/
|
||||
public class FenetreEtudiant{
|
||||
//liste des étudiants
|
||||
private Set<Etudiant> etu;
|
||||
// panel
|
||||
private JPanel pan;
|
||||
// l'étudiant sélectionné
|
||||
private Etudiant concerner;
|
||||
// model
|
||||
private Model model;
|
||||
// tru si le groupe est une partition
|
||||
private boolean partition;
|
||||
|
||||
/**
|
||||
* Constructeur de l'affichage des étudiants
|
||||
* @param g le groupe
|
||||
* @param m le model
|
||||
* @param e l'étudiant sélectionné
|
||||
*/
|
||||
public FenetreEtudiant(Groupe g, Etudiant e, Model m){
|
||||
this.pan=new JPanel();
|
||||
this.model=m;
|
||||
@ -36,7 +51,9 @@ public class FenetreEtudiant{
|
||||
}
|
||||
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));
|
||||
@ -54,12 +71,18 @@ public class FenetreEtudiant{
|
||||
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;
|
||||
}
|
||||
|
@ -13,12 +13,27 @@ import fr.iutfbleau.projetIHM2022FI2.Permanent.Controller.ObservateurChangeGroup
|
||||
|
||||
import java.util.Set;
|
||||
import java.awt.Color;
|
||||
|
||||
/**
|
||||
* Affichage d'un groupe
|
||||
*
|
||||
*/
|
||||
public class FenetreGroupe{
|
||||
// le groupe affiché
|
||||
private Groupe g;
|
||||
// le panel d'affichage
|
||||
private JPanel pan;
|
||||
// le modèle
|
||||
private Model m;
|
||||
// liste des sous groupes
|
||||
private Set<Groupe> appartient;
|
||||
|
||||
/**
|
||||
* Constructeur de l'affichage d'un groupe
|
||||
* @param g le groupe à afficher
|
||||
* @param m le model
|
||||
* @param appartient la liste des sous groupes
|
||||
*
|
||||
*/
|
||||
public FenetreGroupe(Groupe g, Model m, Set<Groupe> appartient){
|
||||
super();
|
||||
this.g=g;
|
||||
@ -27,14 +42,24 @@ public class FenetreGroupe{
|
||||
this.pan=new JPanel();
|
||||
this.draw();
|
||||
}
|
||||
/**
|
||||
* permet de récupérer le groupe affiché
|
||||
* @return le groupe affiché
|
||||
*/
|
||||
public Groupe getG() {
|
||||
return this.g;
|
||||
}
|
||||
/**
|
||||
* rafraichit l'affichage du groupe
|
||||
*/
|
||||
public void refresh(){
|
||||
this.pan.removeAll();
|
||||
this.draw();
|
||||
this.pan.revalidate();
|
||||
}
|
||||
/**
|
||||
* gère l'affichage du groupe
|
||||
*/
|
||||
private void draw(){
|
||||
if(g!=null){
|
||||
int taille=1;
|
||||
@ -82,14 +107,24 @@ public class FenetreGroupe{
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* permet de modifier le groupe affiché
|
||||
* @param g le nouveau groupe à afficher
|
||||
*/
|
||||
public void setG(Groupe g) {
|
||||
this.g = g;
|
||||
}
|
||||
|
||||
/**
|
||||
* permet de modifier la liste des sous groupes
|
||||
* @param appartient la nouvelle liste des sous groupes
|
||||
*/
|
||||
public void setAppartient(Set<Groupe> appartient) {
|
||||
this.appartient = appartient;
|
||||
}
|
||||
/**
|
||||
* Permet de récupérer le panel d'affichage.
|
||||
* @return le panel d'affichage
|
||||
*/
|
||||
public JPanel getPan() {
|
||||
return pan;
|
||||
}
|
||||
|
@ -8,8 +8,17 @@ import fr.iutfbleau.projetIHM2022FI2.API.Etudiant;
|
||||
import javax.swing.JButton;
|
||||
import java.awt.*;
|
||||
import java.awt.event.ActionListener;
|
||||
|
||||
|
||||
public class PanelEtudiant extends JPanel{
|
||||
|
||||
// bouton déplacement
|
||||
private JButton deplacer;
|
||||
/**
|
||||
* Constructeur du panel d'affichage d'un étudiant
|
||||
* @param e l'étudiant à afficher
|
||||
* @param concerner si l'étudiant à afficher est l'étudiant logué
|
||||
*/
|
||||
public PanelEtudiant(Etudiant e, boolean concerner){
|
||||
super(new GridLayout(1,2,20,10));
|
||||
JLabel label=new JLabel(" "+e.getNom()+" "+e.getPrenom()+" "+e.getId(), JLabel.LEFT);
|
||||
@ -21,7 +30,10 @@ public class PanelEtudiant extends JPanel{
|
||||
this.add(this.deplacer);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Ajoute un listener au bouton de changement de groupe
|
||||
* @param a le listener
|
||||
*/
|
||||
public void addActionChangeListener(ActionListener a){
|
||||
this.deplacer.addActionListener(a);
|
||||
}
|
||||
|
@ -11,11 +11,20 @@ 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){
|
||||
@ -25,7 +34,9 @@ public class FenetreEtudiant{
|
||||
}
|
||||
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));
|
||||
@ -38,13 +49,18 @@ public class FenetreEtudiant{
|
||||
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;
|
||||
}
|
||||
|
@ -11,11 +11,23 @@ import fr.iutfbleau.projetIHM2022FI2.API.TypeGroupe;
|
||||
import fr.iutfbleau.projetIHM2022FI2.API.Model;
|
||||
import fr.iutfbleau.projetIHM2022FI2.Permanent.Controller.ObservateurChangeGroupe;
|
||||
|
||||
|
||||
/**
|
||||
* Affichage d'un groupe
|
||||
*
|
||||
*/
|
||||
public class FenetreGroupe{
|
||||
// le groupe affiché
|
||||
private Groupe g;
|
||||
// le panel d'affichage
|
||||
private JPanel pan;
|
||||
// le modèle
|
||||
private Model m;
|
||||
|
||||
/**
|
||||
* Constructeur de l'affichage d'un groupe
|
||||
* @param g le groupe à afficher
|
||||
* @param m le model
|
||||
*/
|
||||
public FenetreGroupe(Groupe g, Model m){
|
||||
super();
|
||||
this.g=g;
|
||||
@ -23,14 +35,24 @@ public class FenetreGroupe{
|
||||
this.pan=new JPanel();
|
||||
this.draw();
|
||||
}
|
||||
/**
|
||||
* permet de récupérer le groupe affiché
|
||||
* @return le groupe affiché
|
||||
*/
|
||||
public Groupe getG() {
|
||||
return this.g;
|
||||
}
|
||||
/**
|
||||
* rafraichit l'affichage du groupe
|
||||
*/
|
||||
public void refresh(){
|
||||
this.pan.removeAll();
|
||||
this.draw();
|
||||
this.pan.revalidate();
|
||||
}
|
||||
/**
|
||||
* gère l'affichage du groupe
|
||||
*/
|
||||
private void draw(){
|
||||
if(g!=null){
|
||||
int taille=1;
|
||||
@ -67,11 +89,17 @@ public class FenetreGroupe{
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* permet de modifier le groupe affiché
|
||||
* @param g le nouveau groupe à afficher
|
||||
*/
|
||||
public void setG(Groupe g) {
|
||||
this.g = g;
|
||||
}
|
||||
|
||||
/**
|
||||
* Permet de récupérer le panel d'affichage.
|
||||
* @return le panel d'affichage
|
||||
*/
|
||||
public JPanel getPan() {
|
||||
return pan;
|
||||
}
|
||||
|
@ -7,6 +7,10 @@ import fr.iutfbleau.projetIHM2022FI2.API.Etudiant;
|
||||
import java.awt.*;
|
||||
|
||||
public class PanelEtudiant extends JPanel{
|
||||
/**
|
||||
* Constructeur du panel d'affichage d'un étudiant
|
||||
* @param e l'étudiant à afficher
|
||||
*/
|
||||
public PanelEtudiant(Etudiant e){
|
||||
super(new GridLayout(1,1,20, 20));
|
||||
JLabel label=new JLabel(" "+e.getNom()+" "+e.getPrenom()+" "+e.getId(), JLabel.LEFT);
|
||||
|
@ -10,16 +10,30 @@ import fr.iutfbleau.projetIHM2022FI2.API.AbstractChangementFactory;
|
||||
import fr.iutfbleau.projetIHM2022FI2.API.Changement;
|
||||
import fr.iutfbleau.projetIHM2022FI2.API.Model;
|
||||
import fr.iutfbleau.projetIHM2022FI2.MNP.ROOT.Controller.ActionChangement;
|
||||
|
||||
/**
|
||||
* Affichage des changements
|
||||
*
|
||||
*/
|
||||
public class FenetreChangement extends JPanel{
|
||||
// le changement a afficher
|
||||
private AbstractChangementFactory change;
|
||||
// le modèle
|
||||
private Model m;
|
||||
|
||||
/**
|
||||
* Constructeur de l'affichage de changements
|
||||
* @param list la liste des changements
|
||||
* @param m le mlodèle
|
||||
*/
|
||||
public FenetreChangement(AbstractChangementFactory list, Model m){
|
||||
this.change=list;
|
||||
this.m=m;
|
||||
this.draw();
|
||||
}
|
||||
|
||||
/**
|
||||
* gère l'affichage des changements
|
||||
*/
|
||||
public void draw(){
|
||||
if(this.change==null || this.change.getAllChangements().size()==0){
|
||||
this.setBackground(Color.RED);
|
||||
@ -52,7 +66,9 @@ public class FenetreChangement extends JPanel{
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* rafraichit l'affichage
|
||||
*/
|
||||
public void refresh(){
|
||||
this.removeAll();
|
||||
this.draw();
|
||||
|
@ -17,12 +17,25 @@ import fr.iutfbleau.projetIHM2022FI2.MP.ROOT.Controller.ActionListenerSuprEtu;
|
||||
import fr.iutfbleau.projetIHM2022FI2.Permanent.Controller.ActionListenerChangeEtu;
|
||||
import fr.iutfbleau.projetIHM2022FI2.API.Model;
|
||||
|
||||
|
||||
/**
|
||||
* Affichage des édudiants d'un groupe
|
||||
*
|
||||
*/
|
||||
public class FenetreEtudiant{
|
||||
//liste des étudiants
|
||||
private Set<Etudiant> etu;
|
||||
// model
|
||||
private Model m;
|
||||
// panel
|
||||
private JPanel pan;
|
||||
// le type de groupe
|
||||
private TypeGroupe type;
|
||||
|
||||
/**
|
||||
* Constructeur de l'affichage des étudiants
|
||||
* @param g le groupe
|
||||
* @param m le model
|
||||
*/
|
||||
public FenetreEtudiant(Groupe g, Model m){
|
||||
this.pan=new JPanel();
|
||||
this.m=m;
|
||||
@ -35,7 +48,9 @@ public class FenetreEtudiant{
|
||||
}
|
||||
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, 1, 10, 0));
|
||||
@ -64,16 +79,25 @@ public class FenetreEtudiant{
|
||||
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;
|
||||
}
|
||||
|
||||
/**
|
||||
* permet d'afficher la liste des demandes de changement
|
||||
*/
|
||||
public void listChange(){
|
||||
this.m.listChange();
|
||||
}
|
||||
|
@ -14,11 +14,23 @@ import fr.iutfbleau.projetIHM2022FI2.MP.ROOT.Controller.ObservateurModifGroupe;
|
||||
import fr.iutfbleau.projetIHM2022FI2.Permanent.Controller.ObservateurChangeGroupe;
|
||||
import fr.iutfbleau.projetIHM2022FI2.API.Model;
|
||||
|
||||
|
||||
/**
|
||||
* Affichage d'un groupe
|
||||
*
|
||||
*/
|
||||
public class FenetreGroupe{
|
||||
// le groupe affiché
|
||||
private Groupe g;
|
||||
// le panel d'affichage
|
||||
private JPanel pan;
|
||||
// le modèle
|
||||
private Model m;
|
||||
|
||||
/**
|
||||
* Constructeur de l'affichage d'un groupe
|
||||
* @param g le groupe à afficher
|
||||
* @param m le model
|
||||
*/
|
||||
public FenetreGroupe(Groupe g, Model m){
|
||||
super();
|
||||
this.g=g;
|
||||
@ -26,14 +38,24 @@ public class FenetreGroupe{
|
||||
this.pan=new JPanel();
|
||||
this.draw();
|
||||
}
|
||||
/**
|
||||
* permet de récupérer le groupe affiché
|
||||
* @return le groupe affiché
|
||||
*/
|
||||
public Groupe getG() {
|
||||
return this.g;
|
||||
}
|
||||
/**
|
||||
* rafraichit l'affichage du groupe
|
||||
*/
|
||||
public void refresh(){
|
||||
this.pan.removeAll();
|
||||
this.draw();
|
||||
this.pan.revalidate();
|
||||
}
|
||||
/**
|
||||
* gère l'affichage du groupe
|
||||
*/
|
||||
private void draw(){
|
||||
if(g!=null){
|
||||
int taille=5;
|
||||
@ -88,11 +110,17 @@ public class FenetreGroupe{
|
||||
this.pan.add(creer);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* permet de modifier le groupe affiché
|
||||
* @param g le nouveau groupe à afficher
|
||||
*/
|
||||
public void setG(Groupe g) {
|
||||
this.g = g;
|
||||
}
|
||||
|
||||
/**
|
||||
* Permet de récupérer le panel d'affichage.
|
||||
* @return le panel d'affichage
|
||||
*/
|
||||
public JPanel getPan() {
|
||||
return pan;
|
||||
}
|
||||
|
@ -13,9 +13,23 @@ import javax.swing.JButton;
|
||||
import javax.swing.JOptionPane;
|
||||
import javax.swing.JPanel;
|
||||
|
||||
/**
|
||||
* Affichage de la selection des etudiants
|
||||
*
|
||||
*/
|
||||
public class FenetreSelectionEtu extends JPanel{
|
||||
// liste des étudiants à ajouter
|
||||
private Set<Etudiant> liste;
|
||||
// liste de tous les étudiants
|
||||
private Set<Etudiant> etu;
|
||||
|
||||
/**
|
||||
* Constructeur de l'affichage de la selection des étudiants
|
||||
* @param g le groupe
|
||||
* @param liste la liste des étudiants à ajouter
|
||||
* @param supression savoir si il faut supprimer les étudiants du groupe de la liste
|
||||
* @param etu0 la liste de tous les
|
||||
*/
|
||||
public FenetreSelectionEtu(Groupe g, Set<Etudiant> liste, boolean supression, Set<Etudiant> etu0){
|
||||
super();
|
||||
this.etu=etu0;
|
||||
@ -32,7 +46,10 @@ public class FenetreSelectionEtu extends JPanel{
|
||||
this.liste=liste;
|
||||
this.draw();
|
||||
}
|
||||
|
||||
/**
|
||||
* Ajoute un étudiant à la sélection
|
||||
* @param index l'index de l'étudiant
|
||||
*/
|
||||
public void addList(int index){
|
||||
int i=0;
|
||||
for(Etudiant e:this.etu){
|
||||
@ -43,7 +60,10 @@ public class FenetreSelectionEtu extends JPanel{
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Retire un étudiant de la sélection
|
||||
* @param index l'index de l'étudiant
|
||||
*/
|
||||
public void removeList(int index){
|
||||
int i=0;
|
||||
for(Etudiant e:this.etu){
|
||||
@ -54,7 +74,11 @@ public class FenetreSelectionEtu extends JPanel{
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Ajoute un étudiant à la liste de tous les étudiants
|
||||
* @param nom le nom de l'étudiant
|
||||
* @param prenom le prénom de l'étudiant
|
||||
*/
|
||||
public void addEtudiant(String nom, String prenom){
|
||||
if(nom.length()==0 || prenom.length()==0){
|
||||
JOptionPane.showMessageDialog(this, "le nom/prenom ne peut pas être null");
|
||||
@ -65,7 +89,9 @@ public class FenetreSelectionEtu extends JPanel{
|
||||
this.draw();
|
||||
this.revalidate();
|
||||
}
|
||||
|
||||
/**
|
||||
* gère l'affichage de la sélection
|
||||
*/
|
||||
private void draw(){
|
||||
this.setLayout(new GridLayout(this.etu.size()/5+1, 4));
|
||||
int index=0;
|
||||
@ -83,7 +109,9 @@ public class FenetreSelectionEtu extends JPanel{
|
||||
all.addActionListener(new ActionListenerNouveauEtu(this));
|
||||
this.add(nouveau);
|
||||
}
|
||||
|
||||
/**
|
||||
* Ajoute tous les étudiants à la liste des étudiants sélectionnés
|
||||
*/
|
||||
public void addAll(){
|
||||
if(this.getComponent(this.etu.size()).getBackground()==Color.GREEN){
|
||||
int i=0;
|
||||
|
@ -14,11 +14,22 @@ import java.awt.Dimension;
|
||||
import java.awt.BorderLayout;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* barre de recherche d'etudiant
|
||||
*
|
||||
*/
|
||||
public class FindBarFenetre {
|
||||
// panel de la barre de recherche
|
||||
private JPanel mypanel;
|
||||
// model
|
||||
private Model m;
|
||||
//liste des étudiants trouvés
|
||||
private Set<Etudiant> liste;
|
||||
|
||||
/**
|
||||
* constructeur de la barre de recherche
|
||||
* @param m le model
|
||||
*/
|
||||
public FindBarFenetre(Model m){
|
||||
this.liste=null;
|
||||
this.m=m;
|
||||
@ -26,6 +37,9 @@ public class FindBarFenetre {
|
||||
this.draw();
|
||||
}
|
||||
|
||||
/**
|
||||
* gère l'affichage de la barre de recherche
|
||||
*/
|
||||
private void draw(){
|
||||
JTextField searchField = new JTextField(30);
|
||||
searchField.setLayout(new BorderLayout());
|
||||
@ -48,18 +62,27 @@ public class FindBarFenetre {
|
||||
}
|
||||
mypanel.setSize(new Dimension(500, 500));
|
||||
}
|
||||
|
||||
/**
|
||||
* retourne le panel de la barre de recherche
|
||||
* @return le panel de la barre de recherche
|
||||
*/
|
||||
public JPanel getPanel() {
|
||||
return mypanel;
|
||||
}
|
||||
|
||||
/**
|
||||
* recherche un étudiant par son nom
|
||||
* @param name le nom de l'étudiant
|
||||
*/
|
||||
public void search(String name){
|
||||
this.liste=this.m.getEtu(name);
|
||||
this.mypanel.removeAll();
|
||||
this.draw();
|
||||
this.mypanel.revalidate();
|
||||
}
|
||||
|
||||
/**
|
||||
* affiche le groupe d'un étudiant
|
||||
* @param toshow l'étudiant dont on veut afficher le groupe
|
||||
*/
|
||||
public void showGroupe(Etudiant toshow){
|
||||
this.m.showGroupOfEtudiant(toshow);
|
||||
}
|
||||
|
@ -8,9 +8,23 @@ import fr.iutfbleau.projetIHM2022FI2.API.Etudiant;
|
||||
import javax.swing.JButton;
|
||||
import java.awt.*;
|
||||
import java.awt.event.ActionListener;
|
||||
|
||||
/**
|
||||
* Panel d'affichage d'un étudiant
|
||||
*
|
||||
*/
|
||||
public class PanelEtudiant extends JPanel{
|
||||
|
||||
// bouton suppression
|
||||
private JButton supprimer;
|
||||
// bouton déplacement
|
||||
private JButton deplacer;
|
||||
|
||||
/**
|
||||
* Constructeur du panel d'affichage d'un étudiant
|
||||
* @param e l'étudiant à afficher
|
||||
* @param change si l'étudiant peut être déplacé
|
||||
*/
|
||||
public PanelEtudiant(Etudiant e, boolean change){
|
||||
super(new GridLayout(1,2,20,10));
|
||||
JPanel bouton=new JPanel(new GridLayout(1,2));
|
||||
@ -26,10 +40,18 @@ public class PanelEtudiant extends JPanel{
|
||||
this.add(bouton);
|
||||
}
|
||||
|
||||
/**
|
||||
* Ajoute un listener au bouton de suppression
|
||||
* @param a le listener
|
||||
*/
|
||||
public void addActionDeleteListener(ActionListener a){
|
||||
this.supprimer.addActionListener(a);
|
||||
}
|
||||
|
||||
/**
|
||||
* Ajoute un listener au bouton de changement de groupe
|
||||
* @param a le listener
|
||||
*/
|
||||
public void addActionChangeListener(ActionListener a){
|
||||
this.deplacer.addActionListener(a);
|
||||
}
|
||||
|
@ -14,13 +14,28 @@ import fr.iutfbleau.projetIHM2022FI2.API.TypeGroupe;
|
||||
import fr.iutfbleau.projetIHM2022FI2.Permanent.Controller.ActionListenerChangeEtu;
|
||||
import fr.iutfbleau.projetIHM2022FI2.API.Model;
|
||||
|
||||
|
||||
/**
|
||||
* Affichage des édudiants d'un groupe
|
||||
*
|
||||
*/
|
||||
public class FenetreEtudiant{
|
||||
//liste des étudiants
|
||||
private Set<Etudiant> etu;
|
||||
// panel
|
||||
private JPanel pan;
|
||||
// l'étudiant sélectionné
|
||||
private Etudiant concerner;
|
||||
// model
|
||||
private Model model;
|
||||
// tru si le groupe est une partition
|
||||
private boolean partition;
|
||||
|
||||
/**
|
||||
* Constructeur de l'affichage des étudiants
|
||||
* @param g le groupe
|
||||
* @param m le model
|
||||
* @param e l'étudiant sélectionné
|
||||
*/
|
||||
public FenetreEtudiant(Groupe g, Etudiant e, Model m){
|
||||
this.pan=new JPanel();
|
||||
this.model=m;
|
||||
@ -37,7 +52,9 @@ public class FenetreEtudiant{
|
||||
}
|
||||
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));
|
||||
@ -55,12 +72,19 @@ public class FenetreEtudiant{
|
||||
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;
|
||||
}
|
||||
|
@ -14,11 +14,27 @@ import fr.iutfbleau.projetIHM2022FI2.Permanent.Controller.ObservateurChangeGroup
|
||||
import java.util.Set;
|
||||
import java.awt.Color;
|
||||
|
||||
/**
|
||||
* Affichage d'un groupe
|
||||
*
|
||||
*/
|
||||
public class FenetreGroupe{
|
||||
// le groupe affiché
|
||||
private Groupe g;
|
||||
// le panel d'affichage
|
||||
private JPanel pan;
|
||||
// le modèle
|
||||
private Model m;
|
||||
// liste des sous groupes
|
||||
private Set<Groupe> appartient;
|
||||
|
||||
/**
|
||||
* Constructeur de l'affichage d'un groupe
|
||||
* @param g le groupe à afficher
|
||||
* @param m le model
|
||||
* @param appartient la liste des sous groupes
|
||||
*
|
||||
*/
|
||||
public FenetreGroupe(Groupe g, Model m, Set<Groupe> appartient){
|
||||
super();
|
||||
this.g=g;
|
||||
@ -27,14 +43,24 @@ public class FenetreGroupe{
|
||||
this.pan=new JPanel();
|
||||
this.draw();
|
||||
}
|
||||
/**
|
||||
* permet de récupérer le groupe affiché
|
||||
* @return le groupe affiché
|
||||
*/
|
||||
public Groupe getG() {
|
||||
return this.g;
|
||||
}
|
||||
/**
|
||||
* rafraichit l'affichage du groupe
|
||||
*/
|
||||
public void refresh(){
|
||||
this.pan.removeAll();
|
||||
this.draw();
|
||||
this.pan.revalidate();
|
||||
}
|
||||
/**
|
||||
* gère l'affichage du groupe
|
||||
*/
|
||||
private void draw(){
|
||||
if(g!=null){
|
||||
int taille=1;
|
||||
@ -82,14 +108,24 @@ public class FenetreGroupe{
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* permet de modifier le groupe affiché
|
||||
* @param g le nouveau groupe à afficher
|
||||
*/
|
||||
public void setG(Groupe g) {
|
||||
this.g = g;
|
||||
}
|
||||
|
||||
/**
|
||||
* permet de modifier la liste des sous groupes
|
||||
* @param appartient la nouvelle liste des sous groupes
|
||||
*/
|
||||
public void setAppartient(Set<Groupe> appartient) {
|
||||
this.appartient = appartient;
|
||||
}
|
||||
/**
|
||||
* Permet de récupérer le panel d'affichage.
|
||||
* @return le panel d'affichage
|
||||
*/
|
||||
public JPanel getPan() {
|
||||
return pan;
|
||||
}
|
||||
|
@ -8,8 +8,17 @@ import fr.iutfbleau.projetIHM2022FI2.API.Etudiant;
|
||||
import javax.swing.JButton;
|
||||
import java.awt.*;
|
||||
import java.awt.event.ActionListener;
|
||||
|
||||
|
||||
public class PanelEtudiant extends JPanel{
|
||||
|
||||
// bouton déplacement
|
||||
private JButton deplacer;
|
||||
/**
|
||||
* Constructeur du panel d'affichage d'un étudiant
|
||||
* @param e l'étudiant à afficher
|
||||
* @param concerner si l'étudiant à afficher est l'étudiant logué
|
||||
*/
|
||||
public PanelEtudiant(Etudiant e, boolean concerner){
|
||||
super(new GridLayout(1,2,20,10));
|
||||
JLabel label=new JLabel(" "+e.getNom()+" "+e.getPrenom()+" "+e.getId(), JLabel.LEFT);
|
||||
@ -22,6 +31,10 @@ public class PanelEtudiant extends JPanel{
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Ajoute un listener au bouton de changement de groupe
|
||||
* @param a le listener
|
||||
*/
|
||||
public void addActionChangeListener(ActionListener a){
|
||||
this.deplacer.addActionListener(a);
|
||||
}
|
||||
|
@ -11,11 +11,20 @@ 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){
|
||||
@ -25,7 +34,9 @@ public class FenetreEtudiant{
|
||||
}
|
||||
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));
|
||||
@ -38,13 +49,18 @@ public class FenetreEtudiant{
|
||||
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;
|
||||
}
|
||||
|
@ -11,11 +11,23 @@ import fr.iutfbleau.projetIHM2022FI2.API.TypeGroupe;
|
||||
import fr.iutfbleau.projetIHM2022FI2.API.Model;
|
||||
import fr.iutfbleau.projetIHM2022FI2.Permanent.Controller.ObservateurChangeGroupe;
|
||||
|
||||
|
||||
/**
|
||||
* Affichage d'un groupe
|
||||
*
|
||||
*/
|
||||
public class FenetreGroupe{
|
||||
// le groupe affiché
|
||||
private Groupe g;
|
||||
// le panel d'affichage
|
||||
private JPanel pan;
|
||||
// le modèle
|
||||
private Model m;
|
||||
|
||||
/**
|
||||
* Constructeur de l'affichage d'un groupe
|
||||
* @param g le groupe à afficher
|
||||
* @param m le model
|
||||
*/
|
||||
public FenetreGroupe(Groupe g, Model m){
|
||||
super();
|
||||
this.g=g;
|
||||
@ -23,14 +35,24 @@ public class FenetreGroupe{
|
||||
this.pan=new JPanel();
|
||||
this.draw();
|
||||
}
|
||||
/**
|
||||
* permet de récupérer le groupe affiché
|
||||
* @return le groupe affiché
|
||||
*/
|
||||
public Groupe getG() {
|
||||
return this.g;
|
||||
}
|
||||
/**
|
||||
* rafraichit l'affichage du groupe
|
||||
*/
|
||||
public void refresh(){
|
||||
this.pan.removeAll();
|
||||
this.draw();
|
||||
this.pan.revalidate();
|
||||
}
|
||||
/**
|
||||
* gère l'affichage du groupe
|
||||
*/
|
||||
private void draw(){
|
||||
if(g!=null){
|
||||
int taille=1;
|
||||
@ -67,11 +89,17 @@ public class FenetreGroupe{
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* permet de modifier le groupe affiché
|
||||
* @param g le nouveau groupe à afficher
|
||||
*/
|
||||
public void setG(Groupe g) {
|
||||
this.g = g;
|
||||
}
|
||||
|
||||
/**
|
||||
* Permet de récupérer le panel d'affichage.
|
||||
* @return le panel d'affichage
|
||||
*/
|
||||
public JPanel getPan() {
|
||||
return pan;
|
||||
}
|
||||
|
@ -7,6 +7,11 @@ import fr.iutfbleau.projetIHM2022FI2.API.Etudiant;
|
||||
import java.awt.*;
|
||||
|
||||
public class PanelEtudiant extends JPanel{
|
||||
/**
|
||||
* Constructeur du panel d'affichage d'un étudiant
|
||||
* @param e l'étudiant à afficher
|
||||
* @param change si l'étudiant peut être déplacé
|
||||
*/
|
||||
public PanelEtudiant(Etudiant e){
|
||||
super(new GridLayout(1,1,20, 20));
|
||||
JLabel label=new JLabel(" "+e.getNom()+" "+e.getPrenom()+" "+e.getId(), JLabel.LEFT);
|
||||
|
@ -10,16 +10,30 @@ import fr.iutfbleau.projetIHM2022FI2.API.AbstractChangementFactory;
|
||||
import fr.iutfbleau.projetIHM2022FI2.API.Changement;
|
||||
import fr.iutfbleau.projetIHM2022FI2.API.Model;
|
||||
import fr.iutfbleau.projetIHM2022FI2.MP.ROOT.Controller.ActionChangement;
|
||||
|
||||
/**
|
||||
* Affichage des changements
|
||||
*
|
||||
*/
|
||||
public class FenetreChangement extends JPanel{
|
||||
// les changements a afficher
|
||||
private AbstractChangementFactory change;
|
||||
// le modèle
|
||||
private Model m;
|
||||
|
||||
/**
|
||||
* Constructeur de l'affichage des changements
|
||||
* @param list la liste des changements
|
||||
* @param m le mlodèle
|
||||
*/
|
||||
public FenetreChangement(AbstractChangementFactory list, Model m){
|
||||
this.change=list;
|
||||
this.m=m;
|
||||
this.draw();
|
||||
}
|
||||
|
||||
/**
|
||||
* gère l'affichage des changements
|
||||
*/
|
||||
public void draw(){
|
||||
if(this.change==null || this.change.getAllChangements().size()==0){
|
||||
this.setBackground(Color.RED);
|
||||
@ -52,7 +66,9 @@ public class FenetreChangement extends JPanel{
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* rafraichit l'affichage
|
||||
*/
|
||||
public void refresh(){
|
||||
this.removeAll();
|
||||
this.draw();
|
||||
|
@ -17,12 +17,25 @@ import fr.iutfbleau.projetIHM2022FI2.MP.ROOT.Controller.ActionListenerSuprEtu;
|
||||
import fr.iutfbleau.projetIHM2022FI2.Permanent.Controller.ActionListenerChangeEtu;
|
||||
import fr.iutfbleau.projetIHM2022FI2.API.Model;
|
||||
|
||||
|
||||
/**
|
||||
* Affichage des édudiants d'un groupe
|
||||
*
|
||||
*/
|
||||
public class FenetreEtudiant{
|
||||
//liste des étudiants
|
||||
private Set<Etudiant> etu;
|
||||
// model
|
||||
private Model m;
|
||||
// panel
|
||||
private JPanel pan;
|
||||
// le type de groupe
|
||||
private TypeGroupe type;
|
||||
|
||||
/**
|
||||
* Constructeur de l'affichage des étudiants
|
||||
* @param g le groupe
|
||||
* @param m le model
|
||||
*/
|
||||
public FenetreEtudiant(Groupe g, Model m){
|
||||
this.pan=new JPanel();
|
||||
this.m=m;
|
||||
@ -35,7 +48,9 @@ public class FenetreEtudiant{
|
||||
}
|
||||
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, 1, 10, 0));
|
||||
@ -64,16 +79,24 @@ public class FenetreEtudiant{
|
||||
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;
|
||||
}
|
||||
|
||||
/**
|
||||
* permet d'afficher la liste des demandes de changement
|
||||
*/
|
||||
public void listChange(){
|
||||
this.m.listChange();
|
||||
}
|
||||
|
@ -14,11 +14,23 @@ import fr.iutfbleau.projetIHM2022FI2.MP.ROOT.Controller.ObservateurModifGroupe;
|
||||
import fr.iutfbleau.projetIHM2022FI2.Permanent.Controller.ObservateurChangeGroupe;
|
||||
import fr.iutfbleau.projetIHM2022FI2.API.Model;
|
||||
|
||||
|
||||
/**
|
||||
* Affichage d'un groupe
|
||||
*
|
||||
*/
|
||||
public class FenetreGroupe{
|
||||
// le groupe affiché
|
||||
private Groupe g;
|
||||
// le panel d'affichage
|
||||
private JPanel pan;
|
||||
// le modèle
|
||||
private Model m;
|
||||
|
||||
/**
|
||||
* Constructeur de l'affichage d'un groupe
|
||||
* @param g le groupe à afficher
|
||||
* @param m le model
|
||||
*/
|
||||
public FenetreGroupe(Groupe g, Model m){
|
||||
super();
|
||||
this.g=g;
|
||||
@ -26,14 +38,24 @@ public class FenetreGroupe{
|
||||
this.pan=new JPanel();
|
||||
this.draw();
|
||||
}
|
||||
/**
|
||||
* permet de récupérer le groupe affiché
|
||||
* @return le groupe affiché
|
||||
*/
|
||||
public Groupe getG() {
|
||||
return this.g;
|
||||
}
|
||||
/**
|
||||
* rafraichit l'affichage du groupe
|
||||
*/
|
||||
public void refresh(){
|
||||
this.pan.removeAll();
|
||||
this.draw();
|
||||
this.pan.revalidate();
|
||||
}
|
||||
/**
|
||||
* gère l'affichage du groupe
|
||||
*/
|
||||
private void draw(){
|
||||
if(g!=null){
|
||||
int taille=5;
|
||||
@ -88,11 +110,17 @@ public class FenetreGroupe{
|
||||
this.pan.add(creer);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* permet de modifier le groupe affiché
|
||||
* @param g le nouveau groupe à afficher
|
||||
*/
|
||||
public void setG(Groupe g) {
|
||||
this.g = g;
|
||||
}
|
||||
|
||||
/**
|
||||
* Permet de récupérer le panel d'affichage.
|
||||
* @return le panel d'affichage
|
||||
*/
|
||||
public JPanel getPan() {
|
||||
return pan;
|
||||
}
|
||||
|
@ -13,9 +13,21 @@ import javax.swing.JButton;
|
||||
import javax.swing.JOptionPane;
|
||||
import javax.swing.JPanel;
|
||||
|
||||
|
||||
public class FenetreSelectionEtu extends JPanel{
|
||||
// liste des étudiants à ajouter
|
||||
private Set<Etudiant> liste;
|
||||
// liste de tous les étudiants
|
||||
private Set<Etudiant> etu;
|
||||
|
||||
|
||||
/**
|
||||
* Constructeur de l'affichage de la selection des étudiants
|
||||
* @param g le groupe
|
||||
* @param liste la liste des étudiants à ajouter
|
||||
* @param supression savoir si il faut supprimer les étudiants du groupe de la liste
|
||||
* @param etu0 la liste de tous les
|
||||
*/
|
||||
public FenetreSelectionEtu(Groupe g, Set<Etudiant> liste, boolean supression, Set<Etudiant> etu0){
|
||||
super();
|
||||
this.etu=etu0;
|
||||
@ -32,7 +44,10 @@ public class FenetreSelectionEtu extends JPanel{
|
||||
this.liste=liste;
|
||||
this.draw();
|
||||
}
|
||||
|
||||
/**
|
||||
* Ajoute un étudiant à la sélection
|
||||
* @param index l'index de l'étudiant
|
||||
*/
|
||||
public void addList(int index){
|
||||
int i=0;
|
||||
for(Etudiant e:this.etu){
|
||||
@ -43,7 +58,10 @@ public class FenetreSelectionEtu extends JPanel{
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Retire un étudiant de la sélection
|
||||
* @param index l'index de l'étudiant
|
||||
*/
|
||||
public void removeList(int index){
|
||||
int i=0;
|
||||
for(Etudiant e:this.etu){
|
||||
@ -54,7 +72,11 @@ public class FenetreSelectionEtu extends JPanel{
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Ajoute un étudiant à la liste de tous les étudiants
|
||||
* @param nom le nom de l'étudiant
|
||||
* @param prenom le prénom de l'étudiant
|
||||
*/
|
||||
public void addEtudiant(String nom, String prenom){
|
||||
if(nom.length()==0 || prenom.length()==0){
|
||||
JOptionPane.showMessageDialog(this, "le nom/prenom ne peut pas être null");
|
||||
@ -65,7 +87,9 @@ public class FenetreSelectionEtu extends JPanel{
|
||||
this.draw();
|
||||
this.revalidate();
|
||||
}
|
||||
|
||||
/**
|
||||
* gère l'affichage de la sélection
|
||||
*/
|
||||
private void draw(){
|
||||
this.setLayout(new GridLayout(this.etu.size()/5+1, 4));
|
||||
int index=0;
|
||||
@ -83,7 +107,9 @@ public class FenetreSelectionEtu extends JPanel{
|
||||
all.addActionListener(new ActionListenerNouveauEtu(this));
|
||||
this.add(nouveau);
|
||||
}
|
||||
|
||||
/**
|
||||
* Ajoute tous les étudiants à la liste des étudiants sélectionnés
|
||||
*/
|
||||
public void addAll(){
|
||||
if(this.getComponent(this.etu.size()).getBackground()==Color.GREEN){
|
||||
int i=0;
|
||||
|
@ -14,18 +14,31 @@ import java.awt.Dimension;
|
||||
import java.awt.BorderLayout;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* barre de recherche d'etudiant
|
||||
*
|
||||
*/
|
||||
public class FindBarFenetre {
|
||||
// panel de la barre de recherche
|
||||
private JPanel mypanel;
|
||||
// model
|
||||
private Model m;
|
||||
//liste des étudiants trouvés
|
||||
private Set<Etudiant> liste;
|
||||
|
||||
/**
|
||||
* constructeur de la barre de recherche
|
||||
* @param m le model
|
||||
*/
|
||||
public FindBarFenetre(Model m){
|
||||
this.liste=null;
|
||||
this.m=m;
|
||||
this.mypanel=new JPanel();
|
||||
this.draw();
|
||||
}
|
||||
|
||||
/**
|
||||
* gère l'affichage de la barre de recherche
|
||||
*/
|
||||
private void draw(){
|
||||
JTextField searchField = new JTextField(30);
|
||||
searchField.setLayout(new BorderLayout());
|
||||
@ -48,11 +61,17 @@ public class FindBarFenetre {
|
||||
}
|
||||
mypanel.setSize(new Dimension(500, 500));
|
||||
}
|
||||
|
||||
/**
|
||||
* retourne le panel de la barre de recherche
|
||||
* @return le panel de la barre de recherche
|
||||
*/
|
||||
public JPanel getPanel() {
|
||||
return mypanel;
|
||||
}
|
||||
|
||||
/**
|
||||
* recherche un étudiant par son nom
|
||||
* @param name le nom de l'étudiant
|
||||
*/
|
||||
public void search(String name){
|
||||
this.liste=this.m.getEtu(name);
|
||||
this.mypanel.removeAll();
|
||||
|
@ -8,9 +8,20 @@ import fr.iutfbleau.projetIHM2022FI2.API.Etudiant;
|
||||
import javax.swing.JButton;
|
||||
import java.awt.*;
|
||||
import java.awt.event.ActionListener;
|
||||
|
||||
|
||||
public class PanelEtudiant extends JPanel{
|
||||
|
||||
// bouton suppression
|
||||
private JButton supprimer;
|
||||
// bouton déplacement
|
||||
private JButton deplacer;
|
||||
|
||||
/**
|
||||
* Constructeur du panel d'affichage d'un étudiant
|
||||
* @param e l'étudiant à afficher
|
||||
* @param change si l'étudiant peut être déplacé
|
||||
*/
|
||||
public PanelEtudiant(Etudiant e, boolean change){
|
||||
super(new GridLayout(1,2,20,10));
|
||||
JPanel bouton=new JPanel(new GridLayout(1,2));
|
||||
@ -25,11 +36,18 @@ public class PanelEtudiant extends JPanel{
|
||||
bouton.add(this.supprimer);
|
||||
this.add(bouton);
|
||||
}
|
||||
|
||||
/**
|
||||
* Ajoute un listener au bouton de suppression
|
||||
* @param a le listener
|
||||
*/
|
||||
public void addActionDeleteListener(ActionListener a){
|
||||
this.supprimer.addActionListener(a);
|
||||
}
|
||||
|
||||
/**
|
||||
* Ajoute un listener au bouton de changement de groupe
|
||||
* @param a le listener
|
||||
*/
|
||||
public void addActionChangeListener(ActionListener a){
|
||||
this.deplacer.addActionListener(a);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user