package view.vueRapportDepot;

import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;

import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;

import language.Francais;
import language.Language;
import view.Formulaire;
import view.tool.jEasyTable.JEasyScrollTable;

public class VueRapportDepot extends Formulaire{
	/**
	 * 
	 */
	private static final long serialVersionUID = 5518588357446096090L;

	private JPanel panelSearchGrid;

	private JEasyScrollTable ouvert,
							 fermer,
							 sommaire;

	private GridBagConstraints constraint;
	
	private JLabel labelFactureFermes,
						labelSommaire,
						labelTotal;
	
	private Language lang;
	
	public VueRapportDepot(Language lang) throws Exception
	{
		super();
		initVariable(lang);
		initComponents();
		setMnemonic();
	}
	
	/**
	* @throws Exception 
	* 
	*/
	private void initVariable(Language lang) throws Exception
	{
		this.lang = lang;
		panelSearchGrid       = new JPanel(new GridBagLayout());
		
		constraint = new GridBagConstraints();
		
		ouvert  = new JEasyScrollTable(lang.getRapportDepotColumn1());
		fermer  = new JEasyScrollTable(lang.getRapportDepotColumn2());
		sommaire  = new JEasyScrollTable(lang.getRapportDepotColumn3());
		
		labelFactureFermes   = new JLabel(lang.getRapportDepotFermetureFermees());
		labelSommaire        = new JLabel(lang.getRapportDepotSommaire());
		labelTotal		     = new JLabel(lang.getRapportDepotTotal());
	}
	
	/**
	* 
	*/
	private void initComponents()
	{	
		constraint.fill = GridBagConstraints.BOTH;
		constraint.anchor = GridBagConstraints.NORTH;
		constraint.insets  = new Insets(0, 3, 0, 3);
		constraint.weightx = 1.0;
		constraint.weighty = 1.0;
		constraint.gridx = 0;
		constraint.gridy = 1;
		panelSearchGrid.add(ouvert, constraint);	
		
		constraint.fill = GridBagConstraints.HORIZONTAL;
		constraint.weightx = 1.0;
		constraint.weighty = 0;
		constraint.gridx = 1;
		constraint.gridy = 0;
		panelSearchGrid.add(labelFactureFermes, constraint);
		
		constraint.fill = GridBagConstraints.BOTH;
		constraint.anchor = GridBagConstraints.NORTH;
		constraint.insets  = new Insets(0, 3, 0, 3);
		constraint.weightx = 1.0;
		constraint.weighty = 1.0;
		constraint.gridx = 1;
		constraint.gridy = 1;
		panelSearchGrid.add(fermer, constraint);
		
		constraint.fill = GridBagConstraints.HORIZONTAL;
		constraint.weightx = 1.0;
		constraint.weighty = 0;
		constraint.gridx = 2;
		constraint.gridy = 0;
		panelSearchGrid.add(labelSommaire, constraint);
		
		constraint.fill = GridBagConstraints.BOTH;
		constraint.anchor = GridBagConstraints.NORTH;
		constraint.insets  = new Insets(0, 3, 0, 3);
		constraint.weightx = 1.0;
		constraint.weighty = 1.0;
		constraint.gridx = 2;
		constraint.gridy = 1;
		panelSearchGrid.add(sommaire, constraint);
		
		constraint.fill = GridBagConstraints.HORIZONTAL;
		constraint.weightx = 1.0;
		constraint.weighty = 0;
		constraint.gridx = 2;
		constraint.gridy = 2;
		panelSearchGrid.add(labelTotal, constraint);
		
		constraint.fill    = GridBagConstraints.BOTH;
		constraint.anchor  = GridBagConstraints.NORTH;
		constraint.insets  = new Insets(10, 3, 10, 3);
		constraint.weightx = 1.0;
		constraint.weighty = 1;
		constraint.gridx   = 0;
		constraint.gridy   = 0;
		add(panelSearchGrid,constraint);
	}
	
	/**
	* 
	*/	
	private void setMnemonic()
	{

	}
	
	/**
	* 
	* @param content
	*/
	public void addFermetureToOuvert(JComponent[][] content)
	{
		ouvert.setContent(content);
	}
	
	/**
	* 
	* @param content
	*/
	public void addFermetureToFermer(JComponent[][] content)
	{
		fermer.setContent(content);
	}
	
	/**
	* 
	* @param content
	*/
	public void addToSommaire(JComponent[][] content)
	{
		sommaire.setContent(content);
	}
	
	public void setTotal(Double tot)
	{
		labelTotal.setText("Total : " + tot + "$");
	}
	
	/**
	* 
	*/
	public void clearOuvert()
	{
		ouvert.clear();
	}
	
	/**
	* 
	*/
	public void clearFermer()
	{
		fermer.clear();
	}
	
	/**
	* 
	*/
	public void clearSommaire()
	{
		sommaire.clear();
	}

	/**
	* @param args
	* @throws Exception 
	*/
	public static void main(String[] args) throws Exception 
	{
		JFrame a = new JFrame("window");
		JLabel[][] labels  = {{new JLabel("0"), new JLabel("1")},
							  {new JLabel("0"), new JLabel("1")}},
				   labels2 = {{new JLabel("0"), new JLabel("1"), new JLabel("2")},
				  			  {new JLabel("0"), new JLabel("1"), new JLabel("2")}},
				   labels3 = {{new JLabel("0"), new JLabel("1")},
				  			  {new JLabel("0"), new JLabel("1")}};
		
		VueRapportDepot test = new VueRapportDepot(Francais.getInstance());
		test.addFermetureToOuvert(labels);
		test.addFermetureToFermer(labels2);
		test.addToSommaire(labels3);
		test.setTotal(12.35);
		a.setLayout(new GridBagLayout());
		
		GridBagConstraints contraint = new GridBagConstraints();
		contraint.fill = GridBagConstraints.BOTH;
		contraint.weightx = 1.0;
		contraint.weighty = 1.0;
		contraint.gridx = 0;
		contraint.gridy = 0;
		
		a.add(test,contraint);
		a.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
		a.pack();
		a.setVisible(true);
	}
}
