package fr.iutfbleau.papillon;

import javax.swing.*;
import java.awt.event.*;
import java.awt.*;

/**
 * La classe <code>BtnAjouter</code> représente un bouton permettant
 * d’ouvrir la fenêtre d’ajout d’un nouveau rappel dans l’application <b>Papillon</b>.
 * <p>
 * Lorsqu’un utilisateur clique sur ce bouton, une instance de la fenêtre
 * <code>FenetreAjout</code> est affichée, tandis que la fenêtre principale est masquée.
 * </p>
 *
 * @version 1.0
 * @author Seri-khane YOLOU, Aylane SEHL, Jenson VAL
 */ 
public class BtnAjouter extends JButton implements ActionListener{

    /**
     * Référence vers la fenêtre principale de l’application.
     * Elle permet de gérer la visibilité des fenêtres lors de l’ajout d’un rappel.
     */
    private Main main;

    /**
     * Construit un bouton "Ajouter" associé à la fenêtre principale.
     * <p>
     * Ce bouton est configuré avec une taille fixe et un écouteur d’action
     * pour réagir aux clics de l’utilisateur.
     * </p>
     *
     * @param main la fenêtre principale de l’application <b>Papillon</b>
     */
    public BtnAjouter(Main main){
        super("Ajouter");
        this.main = main;
        setPreferredSize(new Dimension(120,25));
        
        setFocusPainted(false);
        addActionListener(this);
        
    }

    /**
     * Méthode appelée lorsqu’un clic est détecté sur le bouton.
     * <p>
     * Ouvre une nouvelle fenêtre d’ajout (<code>FenetreAjout</code>),
     * positionnée au même endroit que la fenêtre principale, puis
     * masque cette dernière.
     * </p>
     *
     * @param e l’événement d’action généré par le clic sur le bouton
     */
    @Override
    public void actionPerformed(ActionEvent e){
        if(e.getSource()==this){
            FenetreAjout f = new FenetreAjout(main);
            f.setLocation(main.getLocation());
            f.setVisible(true);
            main.setVisible(false);
        }
    }


}
