package view.vuePromotionArticle;

import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;

import view.Vue;

public class VueGestionAjouterModifierPromotionArticle extends Vue implements ActionListener{

	private static final long serialVersionUID = 3225078672569286216L;

	private GridBagConstraints constraint;
	
	private JLabel lblCategorie,
		   		   lblCode,
		   		   lblDescription,
		   		   lblTaxe,
		   		   lblActif;
	
	private JTextField txtCode,
					   txtDescription;
	
	private JComboBox<String> comboCategorie;
	
	private JCheckBox checkTaxe,
					  checkActif;
	
	private JButton btnAjouter;
	
	public VueGestionAjouterModifierPromotionArticle() {
		super(new GridBagLayout());
		initVariable();
		initComponents();
		initListener();
		setMnemonic();
	}
	
	private void initVariable()
	{
		constraint = new GridBagConstraints();
		
		lblCategorie = new JLabel("Categorie");
		lblCode = new JLabel("Code");
		lblDescription = new JLabel("Description");
		lblTaxe = new JLabel("Taxe");
		lblActif = new JLabel("Actif");
		
		txtCode = new JTextField(30);
		txtDescription = new JTextField(30);
		
		comboCategorie = new JComboBox<String>();
		
	    checkTaxe = new JCheckBox();
		checkActif = new JCheckBox();
		
		btnAjouter = new JButton("Ajouter/Modifier");
	}
	
	private void initComponents()
	{
		constraint.fill = GridBagConstraints.HORIZONTAL;
		constraint.weightx = 1;
		constraint.weighty = 0;
		constraint.gridx = 0;
		constraint.gridy = 0;
		constraint.insets  = new Insets(0, 5, 5, 5);
		add(lblCategorie, constraint);
		
		constraint.fill = GridBagConstraints.HORIZONTAL;
		constraint.weightx = 1;
		constraint.weighty = 0;
		constraint.gridx = 1;
		constraint.gridy = 0;
		constraint.insets  = new Insets(0, 5, 5, 5);
		add(comboCategorie, constraint);
		
		constraint.fill = GridBagConstraints.HORIZONTAL;
		constraint.weightx = 1;
		constraint.weighty = 0;
		constraint.gridx = 2;
		constraint.gridy = 0;
		constraint.insets  = new Insets(0, 5, 5, 5);
		add(lblTaxe, constraint);
		
		constraint.fill = GridBagConstraints.HORIZONTAL;
		constraint.weightx = 1;
		constraint.weighty = 0;
		constraint.gridx = 3;
		constraint.gridy = 0;
		constraint.insets  = new Insets(0, 5, 5, 5);
		add(checkTaxe, constraint);
		
		constraint.fill = GridBagConstraints.HORIZONTAL;
		constraint.weightx = 1;
		constraint.weighty = 0;
		constraint.gridx = 0;
		constraint.gridy = 1;
		constraint.insets  = new Insets(0, 5, 5, 5);
		add(lblCode, constraint);
		
		constraint.fill = GridBagConstraints.HORIZONTAL;
		constraint.weightx = 1;
		constraint.weighty = 0;
		constraint.gridx = 1;
		constraint.gridy = 1;
		constraint.insets  = new Insets(0, 5, 5, 5);
		add(txtCode, constraint);
		
		constraint.fill = GridBagConstraints.HORIZONTAL;
		constraint.weightx = 1;
		constraint.weighty = 0;
		constraint.gridx = 2;
		constraint.gridy = 1;
		constraint.insets  = new Insets(0, 5, 5, 5);
		add(lblActif, constraint);
		
		constraint.fill = GridBagConstraints.HORIZONTAL;
		constraint.weightx = 1;
		constraint.weighty = 0;
		constraint.gridx = 3;
		constraint.gridy = 1;
		constraint.insets  = new Insets(0, 5, 5, 5);
		add(checkActif, constraint);
		
		constraint.fill = GridBagConstraints.HORIZONTAL;
		constraint.weightx = 1;
		constraint.weighty = 0;
		constraint.gridx = 0;
		constraint.gridy = 2;
		constraint.insets  = new Insets(0, 5, 5, 5);
		add(lblDescription, constraint);
		
		constraint.fill = GridBagConstraints.HORIZONTAL;
		constraint.weightx = 1;
		constraint.weighty = 0;
		constraint.gridx = 1;
		constraint.gridy = 2;
		constraint.insets  = new Insets(0, 5, 5, 5);
		add(txtDescription, constraint);
		
		constraint.fill = GridBagConstraints.HORIZONTAL;
		constraint.weightx = 1;
		constraint.weighty = 0;
		constraint.gridx = 3;
		constraint.gridy = 3;
		constraint.insets  = new Insets(0, 5, 5, 5);
		add(btnAjouter, constraint);
	}
	
	public String getTxtCode() {
		return txtCode.getText();
	}

	public void setTxtCode(String txtCode) {
		this.txtCode.setText(txtCode);
	}

	public String getTxtDescription() {
		return txtDescription.getText();
	}

	public void setTxtDescription(String txtDescription) {
		this.txtDescription.setText(txtDescription);
	}

	public String getComboCategorie() {
		return comboCategorie.getSelectedItem().toString();
	}

	public void setComboCategorie(String comboCategorie) {
		this.comboCategorie.addItem(comboCategorie);
	}

	public boolean getCheckTaxe() {
		return checkTaxe.isSelected();
	}

	public void setCheckTaxe(boolean checkTaxe) {
		this.checkTaxe.setSelected(checkTaxe);
	}

	public boolean getCheckActif() {
		return checkActif.isSelected();
	}

	public void setCheckActif(boolean checkActif) {
		this.checkActif.setSelected(checkActif);
	}

	private void initListener()
	{
		btnAjouter.addActionListener(this);
	}
	
	private void setMnemonic()
	{
		
	}

	@Override
	public void actionPerformed(ActionEvent arg0) {
		
		
	}
	
	public static void main(String[] args) {
		JFrame a = new JFrame("window");
		VueGestionAjouterModifierPromotionArticle norme = new VueGestionAjouterModifierPromotionArticle();
		//norme.getObservable().addObserver(new Controleur());
		a.add(norme);
		a.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
		a.pack();
		a.setVisible(true);
	}
}
