package packApplet;

import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JCheckBox;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JSlider;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;

public class PanelControle extends JPanel
{
	private JSlider glissSommeil = new JSlider(20, 500),
			glissPas = new JSlider(3, 50);
	private JCheckBox checkPlein = new JCheckBox("Pleine");
	
	private JLabel labelSommeil = new JLabel("Sommeil"),
			labelPas = new JLabel("Pas"),
			labelPlein = new JLabel("Forme");
	private PanelSatellite monSatellite;
	private EcouteGlissiere monEcouteGlissiere;
	private EcouteAction monEcouteAction;
	
	public PanelControle(PanelSatellite pSatellite)
	{
		monSatellite = pSatellite;
		monEcouteGlissiere = new EcouteGlissiere();
		monEcouteAction = new EcouteAction();
		
		this.setPreferredSize(new Dimension(250, 600));
		this.setLayout(new GridLayout(3, 2, 3, 3));
		this.add (labelSommeil);
		this.add (glissSommeil);
		this.add (labelPas);
		this.add (glissPas);
		this.add (labelPlein);
		this.add (checkPlein);
		
		glissSommeil.addChangeListener(monEcouteGlissiere);
		glissPas.addChangeListener(monEcouteGlissiere);
		checkPlein.addActionListener(monEcouteAction);
		//this.setVisible(true);
	}
	
	private class EcouteGlissiere implements ChangeListener
	{

		@Override
		public void stateChanged(ChangeEvent e)
		{
			if (e.getSource() == glissSommeil)
			{
				monSatellite.setSommeil(glissSommeil.getValue());
				labelSommeil.setText("Sleep : " + monSatellite.getSommeil()+" ms.");
			}
			else if(e.getSource() == glissPas)
			{
				monSatellite.setPas(glissPas.getValue());
				labelPas.setText("Pi/" + monSatellite.getPas());
			}
		}
	}
	
	private class EcouteAction implements ActionListener
	{

		@Override
		public void actionPerformed(ActionEvent e)
		{
			if (e.getSource() == checkPlein)
			{
				monSatellite.setPlein(checkPlein.isSelected());
			}
		}
		
	}
}
