package packApplet;

import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Container;
import java.awt.Graphics;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;

public class Satellite extends javax.swing.JApplet
{
	private PanelSatellite monSatellite;
	private PanelControle monControle;
	private JMenuBar maBarre = new JMenuBar();
	private JMenu menuForme = new JMenu("Forme"),
			menuCouleur = new JMenu ("Couleur"),
			menuCouleurFond = new JMenu ("Fond"),
			menuCouleurImage = new JMenu ("Image"),
			menuCouleurForme = new JMenu ("Forme");
	
	private JMenuItem itemRond = new JMenuItem("Rond"),
			itemCarre = new JMenuItem("Carre"),
			itemFormeRouge = new JMenuItem("Rouge"),
			itemFormeVert = new JMenuItem("Vert"),
			itemFormeBleu = new JMenuItem("Bleu"),
			itemFondRouge = new JMenuItem("Rouge"),
			itemFondVert = new JMenuItem("Vert"),
			itemFondBleu = new JMenuItem("Bleu"),
			itemImageRouge = new JMenuItem("Rouge"),
			itemImageVert = new JMenuItem("Vert"),
			itemImageBleu = new JMenuItem("Bleu");
	
	private EcouteMenu monEcouteMenu = new EcouteMenu();
	
	public void init()
	{
		Container monConteneur = this.getContentPane();
		monConteneur.setLayout(new BorderLayout());
		monSatellite = new PanelSatellite();
		monControle = new PanelControle(monSatellite);
		
		monConteneur.add (monControle, BorderLayout.EAST);
		monConteneur.add (monSatellite, BorderLayout.CENTER);
		//monSatellite.setVisible(true);
		
		// Définition du menu
		menuForme.add (itemRond);
		menuForme.add (itemCarre);
		menuCouleurForme.add (itemFormeRouge);
		menuCouleurForme.add(itemFormeVert);
		menuCouleurForme.add(itemFormeBleu);
		
		menuCouleurImage.add (itemImageRouge);
		menuCouleurImage.add(itemImageVert);
		menuCouleurImage.add(itemImageBleu);
		
		menuCouleurFond.add (itemFondRouge);
		menuCouleurFond.add(itemFondVert);
		menuCouleurFond.add(itemFondBleu);
		
		menuCouleur.add (menuCouleurFond);
		menuCouleur.add (menuCouleurImage);
		menuCouleur.add (menuCouleurForme);
		maBarre.add (menuForme);
		maBarre.add(menuCouleur);
		monConteneur.add(maBarre,BorderLayout.NORTH);
		
		// Ecouteurs des items
		itemRond.addActionListener(monEcouteMenu);
		itemCarre.addActionListener(monEcouteMenu);
		itemFormeRouge.addActionListener(monEcouteMenu);
		itemFormeVert.addActionListener(monEcouteMenu);
		itemFormeBleu.addActionListener(monEcouteMenu);
		
		itemFondRouge.addActionListener(monEcouteMenu);
		itemFondVert.addActionListener(monEcouteMenu);
		itemFondBleu.addActionListener(monEcouteMenu);
		
		itemImageRouge.addActionListener(monEcouteMenu);
		itemImageVert.addActionListener(monEcouteMenu);
		itemImageBleu.addActionListener(monEcouteMenu);
		
	}
	
	public void start()
	{

	}
	
	public void stop()
	{
		
	}
	
	public void paint(Graphics g)
	{
		
	}
	
	private class EcouteMenu implements ActionListener
	{
		@Override
		public void actionPerformed(ActionEvent e)
		{
			if (e.getSource() == itemRond)
			{
				monSatellite.setForme(2);
			}
			else if (e.getSource() == itemCarre)
			{
				monSatellite.setForme(1);
			}
			else if (e.getSource() == itemFormeRouge)
			{
				monSatellite.setCouleurForme(Color.red);
			}
			else if (e.getSource() == itemFormeVert)
			{
				monSatellite.setCouleurForme(Color.green);
			}
			else if (e.getSource() == itemFormeBleu)
			{
				monSatellite.setCouleurForme(Color.cyan);
			}
			else if (e.getSource() == itemFondRouge)
			{
				monSatellite.setCouleurFond(new Color(32, 0, 0));
			}
			else if (e.getSource() == itemFondVert)
			{
				monSatellite.setCouleurFond(new Color(0, 32, 0));
			}
			else if (e.getSource() == itemFondBleu)
			{
				monSatellite.setCouleurFond(new Color(0, 0, 32));
			}
			else if (e.getSource() == itemImageRouge)
			{
				monSatellite.setCouleurImage(new Color(48, 0, 0));
			}
			else if (e.getSource() == itemImageVert)
			{
				monSatellite.setCouleurImage(new Color(0, 48, 0));
			}
			else if (e.getSource() == itemImageBleu)
			{
				monSatellite.setCouleurImage(new Color(0, 0, 48));
			}
		}
	}
}
