package automatvgi;


import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;

import road.PeriodicException;
import road.action.Flip;
import road.action.RoadAction;
import road.action.StablePairAction;
import road.tools.StablePair;

import automatvgi.components.RoadAutomaton;



/**
 * 
 * @author sylvain, ajout Beal
 * Fenetre principale
 * Contient
 * -- le dessin principal au CENTRE : Dessin
 * -- la liste des actions au SUD : ChoiceOfAction
 */

public class InitPanel extends JPanel{
	static final long serialVersionUID=1;
	private InitPanelAction ipa=new InitPanelAction(this);
	private JTextField fd=new JTextField(4);
	private JComboBox jcb= null;
	private RoadAutomaton ra;
	private InitDessin s=new InitDessin();
	
	private JFrame pf=new JFrame();
	
	public RoadAutomaton getRA() {
		return ra;
	}
	
	public InitDessin getInitDessin(){
		return s;
	}
	
	
	public InitPanel(RoadAutomaton ra){
		this.ra = ra;
		s = new InitDessin(RoadAutomaton.getInitialGraph().getQuo());
		setLayout(new BorderLayout());	
		fd.setText("p");
		pf.setResizable(false);
		pf.setTitle("Action");
		String[] git={"a","b","c"};
		jcb= new JComboBox(git);
		add(ipa,BorderLayout.SOUTH);
		//add(ba,BorderLayout.SOUTH);
		
		//Graphics g=s.getGraphics();
		//g.drawLine(0,0,100,100);
		s.setAlphabet(jcb);
		s.setStateLabel(fd);
		s.setActions(ipa);
		add(s,BorderLayout.CENTER);
	}
	
	
	public void actionPerformed(ActionEvent e){
		if(e.getSource()==ipa.transition){
		pf.setContentPane(jcb);
		pf.setSize(50,50);
        pf.setVisible(true);
		}
		else if(e.getSource()==ipa.state){
			pf.setContentPane(fd);
			pf.setSize(50,50);
			pf.setVisible(true);
		}else{
			pf.setVisible(false);
			repaint();
		}
	}
}