package Vue;

import java.awt.Choice;
import java.awt.Color;
import java.awt.Dimension;
import java.util.Vector;

import javax.swing.BorderFactory;
import javax.swing.JButton;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextField;
import javax.swing.border.LineBorder;

import Controleurs.EcouteurAjoutContrainte;
import Controleurs.EcouteurRetourAccueil;
import Modèle.Probleme;

//import IHMListeners.EcouteurBoutonAjouter;

public class IHMAjoutPB extends JPanel {
	protected Vector<Probleme> pb;
	protected IHMAccueil ihm;
	
	public IHMAjoutPB(Vector<Probleme> pb,IHMAccueil ihm) {
		this.pb=pb;
		this.ihm = ihm;
		/** Creation de la fenetre **/

		/*JFrame jf = new JFrame("Ajouter un problème");
		jf.setSize(1000, 800);
		jf.setLayout(null);
*/
		this.setLocation(225,110);
		this.setSize(600,600);
		this.setBackground(Color.white);
		this.setLayout(null);
		
		LineBorder border = new LineBorder(Color.red);
		this.setBorder(BorderFactory.createTitledBorder(border, "Ajouter un Problème"));

		/** Barre de menu **/
		

		/*JMenuBar m = new JMenuBar();
		JMenu menuu = new JMenu("Aide");
		JMenu menu = new JMenu("Fichier");

		JMenuItem item1 = new JMenuItem("Ouvrir");
		JMenuItem item2 = new JMenuItem("Quitter");
		JMenuItem item3 = new JMenuItem("Se déconnecter");
		menu.add(item1);
		menu.add(item2);
		menu.add(item3);
		m.add(menu);
		m.add(menuu);
		jf.setJMenuBar(m);*/

		/** Titre **/

		/*JLabel jl = new JLabel("<html><H1><u>Ajout d'un problème</u></H1></html>");
		jl.setSize(500, 100);
		jl.setLocation(200, 1);
		add(jl);*/

		JLabel l = new JLabel("<html><u>Nom du problème :</u></html> ");
		l.setSize(200, 20);
		l.setLocation(80, 30);
		add(l);

		JTextField jtf1 = new JTextField();
		jtf1.setSize(200, 20);
		jtf1.setLocation(300, 30);
		add(jtf1);

		JLabel l2 = new JLabel("<html><u> Objectif :</u></html> ");
		l2.setSize(100, 20);
		l2.setLocation(80, 70);
		add(l2);

		Choice c = new Choice();
		c.addItem("Maximiser");
		c.addItem("Minimiser");
		c.setSize(100, 20);
		c.setLocation(300, 70);
		add(c);

		JLabel l3 = new JLabel("<html><u>Fonction objectif :</u></html> ");
		l3.setSize(150, 20);
		l3.setLocation(80, 110);
		add(l3);

		JTextField jtf2 = new JTextField();
		jtf2.setSize(200, 20);
		jtf2.setLocation(300, 110);
		add(jtf2);

		JLabel label1 = new JLabel("de la forme : Z=3x1-5x2 ou Z=3*x1-5*x2");
		label1.setSize(300, 20);
		label1.setLocation(80, 150);
		add(label1);

		JLabel label2 = new JLabel("<html><u>Contraintes :</u></html> ");
		label2.setSize(200, 20);
		label2.setLocation(80, 190);
		add(label2);
		
		JLabel label3 = new JLabel("de la forme :  3*x1-9*x2<=120 ou -32x1-58x2>=10 ou encore avec un signe d'égalité");
		label3.setSize(500, 20);
		label3.setLocation(80, 230);
		add(label3);

		JPanel TFContrPanel=new JPanel();
		
    	Vector<JTextField> VectTFContr=new Vector<JTextField>();
		JTextField jtf3 = new JTextField();
		//jtf3.setSize(150, 20);
		jtf3.setPreferredSize(new Dimension (250,20));
		jtf3.setLocation(10, 10);
		VectTFContr.add(jtf3);
		TFContrPanel.add(VectTFContr.get(0));
		
		TFContrPanel.setPreferredSize(new Dimension(200,1000));
		//TFContrPanel.setSize(500,10+75*VectTFContr.size());
		TFContrPanel.setBackground(Color.pink);
		add(TFContrPanel);
		JScrollPane scroll=new JScrollPane(TFContrPanel);
		scroll.setViewportView(TFContrPanel);
		add(scroll);
		scroll.setBackground(Color.red);
		scroll.setLocation(50,315);
		scroll.setSize(520,200); 

		JButton b1 = new JButton("Ajouter une contrainte");
		b1.addActionListener(new EcouteurAjoutContrainte(this,VectTFContr));
		b1.setLocation(80, 270);
		b1.setSize(200, 30);
		add(b1);

		JButton b2 = new JButton("Créer");
		//b2addActionListener(new EcouteurCreerProbleme());
		b2.setLocation(50, 550);
		b2.setSize(200, 30);
		add(b2);
		
		JButton b3 = new JButton("Retour à l'accueil");
		b3.addActionListener(new EcouteurRetourAccueil(ihm));
		b3.setLocation(390, 550);
		b3.setSize(200, 30);
		add(b3);

		//jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

		setVisible(true);
        repaint();
	}
}