package InterfGraph;

import java.awt.Dimension;
import java.awt.GridLayout;

import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JSlider;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;

public class ControlPanel extends JPanel
{
	JSlider glissiereRouge = new JSlider(),
			glissiereVerte = new JSlider(),
			glissiereBleue = new JSlider();
	
	JLabel labelRouge = new JLabel("Rouge"),
			labelVert = new JLabel("Vert"),
			labelBleu = new JLabel("Bleu");
	
	EcouteGlissiere monEcouteGlissiere = new EcouteGlissiere();
	ColorPanel monColorPanel;
	
	public ControlPanel(ColorPanel pColorPanel)
	{
		super();
		this.monColorPanel = pColorPanel;
		glissiereRouge.addChangeListener(monEcouteGlissiere);
		glissiereVerte.addChangeListener(monEcouteGlissiere);
		glissiereBleue.addChangeListener(monEcouteGlissiere);
		
		glissiereRouge.setMaximum(300);
		glissiereVerte.setMaximum(255);
		glissiereBleue.setMaximum(255);
		
		glissiereRouge.setMajorTickSpacing(50);
		glissiereRouge.setMinorTickSpacing(10);
		glissiereRouge.setPaintLabels(true);
		glissiereRouge.setPaintTicks(true);
		
		glissiereVerte.setOrientation(JSlider.VERTICAL);
		
		//this.setPreferredSize(new Dimension(200, 150));
		this.setLayout(new GridLayout(3, 2));
		this.add(labelRouge);
		this.add(glissiereRouge);
		this.add(labelVert);
		this.add(glissiereVerte);
		this.add(labelBleu);
		this.add(glissiereBleue);
	}
	
	private class EcouteGlissiere implements ChangeListener
	{
		@Override
		public void stateChanged(ChangeEvent arg0)
		{
			if (arg0.getSource() == glissiereRouge)
			{
				//System.out.println("Rouge " + glissiereRouge.getValue());
				monColorPanel.setRouge(glissiereRouge.getValue());
			}
			else if (arg0.getSource() == glissiereVerte)
			{
				monColorPanel.setVert(glissiereVerte.getValue());
			}
			else if (arg0.getSource() == glissiereBleue)
			{
				monColorPanel.setBleu(glissiereBleue.getValue());
			}
		}		
	}
}
