import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.GridLayout;

import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.Box;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;


public class Fenetre extends JFrame implements ActionListener{

	private static final long serialVersionUID = 1L;
	
	private JPanel pan = new JPanel();
	private JPanel panGauche = new JPanel();

	private Questionnaire questionnaire = new Questionnaire();

	private JButton boutonAddQuestion = new JButton ("Ajouter une question");
	    
	private String[] choices = new String[]{"Question à réponses multiples", "Question à réponse unique", "Question à réponse numérique", "Question à réponse texte"};
	

	public JPanel getPanGauche() {
		return panGauche;
	}


	public void setPanGauche(JPanel panGauche) {
		this.panGauche = panGauche;
	}


	public JPanel getPan() {
		return pan;
	}


	public void setPan(JPanel pan) {
		this.pan = pan;
	}
	
	
	/**
	 * Créer une fenêtre.
	 */
	
	public Fenetre() {
		
		
		this.setTitle(""+questionnaire.demanderTitre());
	    this.setSize(new Dimension(900, 800));
	    this.setResizable(false);
	    this.setLocationRelativeTo(null);
	    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  
	    this.getContentPane().setLayout(new GridLayout(1,2));
	   
	    
	    pan.setBackground(Color.ORANGE);
	    
	    
	    panGauche.setSize(280,800);
	    panGauche.setLayout(null);
	     
	    boutonAddQuestion.setBounds(20, 20, 200, 25);
	    panGauche.add(boutonAddQuestion);
	    
	    
		boutonAddQuestion.addActionListener(new ButtonQuestionListener(questionnaire, this));

		
		
		this.getContentPane().add(panGauche);
		this.getContentPane().add(pan);
		
		
		
	    this.setVisible(true);
	}
	
	

	/**
	 * Lancer l'application.
	 */
	
	public static void main(String[] args) {
		
		Fenetre fen = new Fenetre();
		
		

	}

//Action quand on clique sur la question



	private class ButtonQuestionListener implements ActionListener {
		private Questionnaire questionnaire;
		private Fenetre fenetre;
		 
        public ButtonQuestionListener(Questionnaire questionnaire, Fenetre fenetre) {
        	this.questionnaire = questionnaire;
        	this.fenetre = fenetre;
        }
        
        @Override
        public void actionPerformed(ActionEvent e){

        	Question q = new Question(); //On crée une question
		    q.typeReponse(choices); //Quel type de réponse pour cette question ?
		    
		    
		    
		    questionnaire.getQuestionTab().add(q); //On ajoute la question au tableau de Questions
		    questionnaire.getTabJButtonRep().add(new JButton ("Ajouter une réponse")       );
		   //on parcoure le tableau de questions et on affiche toutes les questions :
			
		    pan.removeAll();
		    questionnaire.affichageQuestions(fenetre,pan);
        }
	}

//Méthode ne servant à rien, mais nécessaire sinon ça marche pas
	@Override
	public void actionPerformed(ActionEvent e) {
		// TODO Auto-generated method stub
		
	}




}
