/**
 * 
 */
package view.aide;

import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import java.io.IOException;

import javax.swing.ImageIcon;
import javax.swing.JButton;

import language.Language;

/**
 * @author alexis
 *
 */
public class HelpButton extends JButton implements ActionListener, WindowListener{

	/**
	 * 
	 */
	private static final long serialVersionUID = -6135228276640075874L;
	private Language lang;
	private HelpPopup popup;
	
	public HelpButton(Language lang) throws IOException {
		this.lang = lang;
		
		initComponent();
	}
	
	private void initComponent(){
        ImageIcon icon = new ImageIcon(this.getClass().getResource("help_icon.png"));
        setIcon(icon);
        
        setOpaque(false);
        setContentAreaFilled(false);
        setBorderPainted(false);
        setFocusPainted(false);
        
        setPreferredSize(new Dimension(20, 20));
        addActionListener(this);
    }
	
	public void setLanguage(Language lang){
		this.lang = lang;
	}

	@Override
	public void actionPerformed(ActionEvent arg0) {
		if(popup == null)
		{
			popup = new HelpPopup(lang);
			popup.addWindowListener(this);
		}
		else
		{
			popup.toFront();
			popup.requestFocus();
		}
	}

	@Override
	public void windowActivated(WindowEvent arg0) {}

	@Override
	public void windowClosed(WindowEvent arg0) {
		popup = null;
	}

	@Override
	public void windowClosing(WindowEvent arg0) {}

	@Override
	public void windowDeactivated(WindowEvent arg0) {}

	@Override
	public void windowDeiconified(WindowEvent arg0) {}

	@Override
	public void windowIconified(WindowEvent arg0) {}

	@Override
	public void windowOpened(WindowEvent arg0) {}
}
