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

/** QuizPanel 0.1 by John Phillips on September 21, 2003
  * This class is used by the QuizMaker program to store a
  * a single question and answer set within a GUI panel.
  */
public class QuizPanel extends JPanel {
  private JTextField q;
  private JRadioButton rba, rbb, rbc, rbd, rbe;
  private JTextField aa, ab, ac, ad, ae;

  /** Class constructor
   * @param qNum Question number
   */
  public QuizPanel(String qNum)
  {
    this.setLayout( new GridLayout(6,1) );
    JPanel p0=new JPanel( new BorderLayout() );
    JLabel label = new JLabel( "Question " + qNum + ": ");
    p0.setBackground( Color.yellow );
    p0.add( label, BorderLayout.WEST );
    q = new JTextField("", 20);
    p0.add( q, BorderLayout.CENTER );
    this.add( p0 );

    JPanel p1=new JPanel( new BorderLayout() );
    rba = new JRadioButton("A.", true);
    aa = new JTextField("Answer a");
    p1.add( rba, BorderLayout.WEST );
    p1.add( aa, BorderLayout.CENTER );  
    this.add( p1 );

    JPanel p2=new JPanel( new BorderLayout() );
    rbb = new JRadioButton("B.");
    ab = new JTextField("Answer b");
    p2.add( rbb, BorderLayout.WEST );
    p2.add( ab, BorderLayout.CENTER );  
    this.add( p2 );

    JPanel p3=new JPanel( new BorderLayout() );
    rbc = new JRadioButton("C.");
    ac = new JTextField("Answer c");
    p3.add( rbc, BorderLayout.WEST );
    p3.add( ac, BorderLayout.CENTER );  
    this.add( p3 );

    JPanel p4=new JPanel( new BorderLayout() );
    rbd = new JRadioButton("D.");
    ad = new JTextField("Answer d");
    p4.add( rbd, BorderLayout.WEST );
    p4.add( ad, BorderLayout.CENTER );  
    this.add( p4 );

    JPanel p5=new JPanel( new BorderLayout() );
    rbe = new JRadioButton("E.");
    ae = new JTextField("Answer e");
    p5.add( rbe, BorderLayout.WEST );
    p5.add( ae, BorderLayout.CENTER );  
    this.add( p5 );

    ButtonGroup group = new ButtonGroup();
    group.add(rba);
    group.add(rbb);
    group.add(rbc);
    group.add(rbd);
    group.add(rbe);
  }

  public String getQuestion()
  {
    return q.getText();
  }

  public boolean getrba()
  {
    return rba.isSelected();
  }

  public boolean getrbb()
  {
    return rbb.isSelected();
  }

  public boolean getrbc()
  {
    return rbc.isSelected();
  }

  public boolean getrbd()
  {
    return rbd.isSelected();
  }

  public boolean getrbe()
  {
    return rbe.isSelected();
  }

  public String getaa()
  {
    return aa.getText();
  }

  public String getab()
  {
    return ab.getText();
  }

  public String getac()
  {
    return ac.getText();
  }

  public String getad()
  {
    return ad.getText();
  }

  public String getae()
  {
    return ae.getText();
  }

  public void setQuestion( String question )
  {
    q.setText( question );
  }

  public void setrba( boolean selected )
  {
    rba.setSelected( selected );
  }

  public void setrbb( boolean selected )
  {
    rbb.setSelected( selected );
  }

  public void setrbc( boolean selected )
  {
    rbc.setSelected( selected );
  }

  public void setrbd( boolean selected )
  {
    rbd.setSelected( selected );
  }

  public void setrbe( boolean selected )
  {
    rbe.setSelected( selected );
  }

  public void setaa( String answer )
  {
    aa.setText( answer );
  }

  public void setab( String answer )
  {
    ab.setText( answer );
  }

  public void setac( String answer )
  {
    ac.setText( answer );
  }

  public void setad( String answer )
  {
    ad.setText( answer );
  }

  public void setae( String answer )
  {
    ae.setText( answer );
  }
}