/* File: UserChoicePane.java
 * Author: Jason Gookins
 * Description: Displays the three options a standard user has: Use Belief, Change Password, and Log Out.
 */

import java.awt.CardLayout;
import java.awt.Dimension;
import java.awt.Insets;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JPanel;

public class UserChoicePane extends JPanel implements ActionListener
{
	/************************
	 ** Instance Variables **
	 ************************/

	private Belief belief;
	private JButton useBeliefButton, changePasswordButton, logOutButton;



	/**********************
	 ** Main Constructor **
	 **********************/

	public UserChoicePane(Belief belief)
	{
		this.belief = belief;

		setLayout(new GridBagLayout());
		GridBagConstraints c = new GridBagConstraints();

		useBeliefButton = new JButton("Use Belief");
		useBeliefButton.setPreferredSize(new Dimension(200, 60));
		useBeliefButton.setMinimumSize(new Dimension(200, 60));
		useBeliefButton.addActionListener(this);
		c.gridx = 0;
		c.gridy = 0;
		c.gridwidth = 1;
		c.gridheight = 1;
		c.insets = new Insets(10, 10, 10, 10);
		c.fill = GridBagConstraints.BOTH;
		add(useBeliefButton, c);

		changePasswordButton = new JButton("Change Password");
		changePasswordButton.setPreferredSize(new Dimension(200, 60));
		changePasswordButton.setMinimumSize(new Dimension(200, 60));
		changePasswordButton.addActionListener(this);
		c.gridy = 1;
		add(changePasswordButton, c);

		logOutButton = new JButton("Log Out");
		logOutButton.setPreferredSize(new Dimension(200, 60));
		logOutButton.setMinimumSize(new Dimension(200, 60));
		logOutButton.addActionListener(this);
		c.gridy = 2;
		add(logOutButton, c);
	}



	/*******************
	 ** Action Events **
	 *******************/

	public void actionPerformed(ActionEvent evt)
	{
		CardLayout mainLayout = (CardLayout)belief.getContentPane().getLayout();

		if (evt.getSource().equals(useBeliefButton))
		{
			mainLayout.show(belief.getContentPane(), "toolPane");
			belief.getJMenuBar().setVisible(true);
		}
		else if (evt.getSource().equals(changePasswordButton))
		{
			mainLayout.show(belief.getContentPane(), "changePasswordPane");
			belief.getChangePasswordPane().getNewPasswordField().requestFocus();
		}
		else if (evt.getSource().equals(logOutButton))
		{
			mainLayout.show(belief.getContentPane(), "loginPane");
			belief.getLoginPane().getUsernameTextField().requestFocus();
		}
	}
}