package chatapp.View;

import chatapp.Protocol.SessionClavardage;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;

/**
 * <p>
 *     Classe permettant d'ouvrir une nouvelle fenetre afin de clavarder avec un utilisateur.
 * </p>
 */
public class FenetreSession extends Stage {

    /**
     * <p> Permet l'ouverture de la fenetre associee a la session de clavardage</p>
     * @param session Un objet FenetreSession est attribué avec un objet de type SessionClavardage
     */
    public FenetreSession(SessionClavardage session) {
        FXMLLoader fichier = new FXMLLoader(getClass().getResource("/fenetres/View_Clavardage.fxml"));
        try{
        Parent rootchat = fichier.load();
        Clavardage controller = fichier.getController();
        controller.setSession(session);
        Scene scene1;
        scene1 = new Scene(rootchat,600,400);
        this.setScene(scene1);
        this.setTitle("Session avec "+session.getU2().getPseudo());
        this.setMinWidth(600);
        this.setMinHeight(400);
        this.show();
        this.centerOnScreen();
        this.setOnCloseRequest(we -> session.arretSession());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
