package chatapp.View;

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

import java.beans.PropertyChangeListener;
import java.io.IOException;
/**
 * <p>
 *     Classe permettant d'ouvrir une nouvelle fenetre afin de clavarder avec un utilisateur.
 * </p>
 */
public class FenetreSession extends Stage {
    SessionClavardage session;
    /**
     * <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();
        System.out.println("Session id "+session.getSessionID());
        //controller.printsalut();
        controller.setSession(session);
        Scene scene1 = null;
        scene1 = new Scene(rootchat,600,400);
        this.setScene(scene1);
        this.setTitle("Session avec "+session.getU2().getPseudo());
        this.setMinWidth(600);
        this.setMinHeight(400);
        //this.setMaxWidth(600);
        //this.setMaxHeight(400);
        this.show();
        this.centerOnScreen();
        this.setOnCloseRequest(new EventHandler<WindowEvent>() {
            public void handle(WindowEvent we) {
                session.arretSession();
            }
        });
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
