/**
*Programme cree par The Clusters
*Classe BoutonCarte du jeu "Chkoba"
* Classe qui rend les carte cliquable
*@author The Clusters
*@version 1.0
**/

package chkoba;

import java.awt.*;
import java.awt.image.*;
import java.awt.event.*;
import javax.swing.*;

import chkoba.*;

/**
*	Classe BoutonCarte
*/

public class BoutonCarte extends JButton
{
	ICarte carte;
	
	/**
	* Constructeur par default
	*/
	public BoutonCarte()
	{
		super();
		try
		{
			carte = null;
		}
		catch ( Exception e )
		{
			e.printStackTrace();
		}
	}
	
	
	/**
	* Constructeur qui va faire que le bouton prend l'apparence de la carte en parametre
	*/
	public BoutonCarte( ICarte c )
	{
		super();
		try
		{
			carte = c;
			this.setIcon( new ImageIcon("./carte/"+carte.getValeur()+""+carte.getCoul()+".png"));
		}
		catch ( Exception e )
		{
			e.printStackTrace();
		}
	}
	
	/**
	* recupere la valeur de la carte que le bouton a pris la forme
	*/
	public int getInt()
	{
		try
		{
			return carte.getValeur();
		}
		catch ( Exception e )
		{
			e.printStackTrace();
			return -1;
		}
	}
	/**
	* recupere la couleur de la carte que le bouton a pris la forme
	*/
	public Couleur getCoul()
	{
		try
		{	
			return carte.getCoul();
		}
		catch ( Exception e )
		{
			e.printStackTrace();
			return null;
		}
	}
	
	/**
	* recupere le nom de la carte que le bouton a pris la forme
	*/
	public String getNom()
	{
		try
		{	
			String s="";
			s+=carte.getNom();
			return s;
		}
		catch ( Exception e )
		{
			e.printStackTrace();
			return "";
		}
	}
	
	/**
	* Modifie la carte et donc l'apparence du bouton
	*/
	public void setCarte(ICarte c)
	{
		try
		{
			carte = c;
			this.setIcon( new ImageIcon("./carte/"+carte.getValeur()+""+carte.getCoul()+".png"));
		}
		catch ( Exception e)
		{
			e.printStackTrace();
		}
	}
	
	/**
	* recupere la carte
	*/
	public ICarte getCarte()
	{
		return carte;
	}
	
	/**
	* ne sert qu'aux phase de test mais concerve car utile
	*/
	public void setNull()
	{
		carte=null;
		this.setIcon( new ImageIcon("./Skin/Skin3/Dos_cartefini.png") );
	}
	
	/**
	* ne sert qu'aux phase de test mais concerve car utile
	*/
	public void setInt(int num)
	{	
		try
		{
			carte.setValeur(num);
		}
		catch(Exception e){}
	}	
}