package addBk.addressBook;

//AddressBookFrame.javaAddressBookFrame.java


import java.awt.*;
import java.awt.event.TextEvent;
import java.awt.event.TextListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

public class AddressBookFrame
    extends Frame implements TextListener {

  static boolean indexToggle = false;
  static boolean editMode = false;
  static boolean runOnce = false;

  AddressPanel ap =
      new AddressPanel();
  TextButtonPanel tbp =
      new TextButtonPanel();
  TextField tf =
      new TextField("Name Field");
  IndexPanel ip =
      new IndexPanel();
  EditPanel ep =
      new EditPanel();
  MenuBar abmb =
      new AddressBookMenu();

  public AddressBookFrame() {
    addWindowListener(new WindowAdapter() {
      public void windowClosing(WindowEvent e) {
        setVisible(false);
        dispose();
        System.exit(0);
      }
    });

  }// end of constructor Closable JFrame


  // init gets called each time you need to toggle editMode or indexpanel
  public void init() {
    setMenuBar(abmb);
    setLayout(new BorderLayout());
    add(tf, "North");
    add(ap, "Center");
    add(tbp, "South");
    add(ep, "South");
    if (!editMode) {
      remove(ep);
      add(tbp, "South");
    } else {
      remove(tbp);
      add(ep, "South");
    }
    add(ip, "East");
    if (!indexToggle) remove(ip);

    if (!runOnce) { // to protect any resizing
      setSize(400, 400);
      tf.setEditable(false);
      ap.t0.setEditable(false);
      ap.t1.setEditable(false);
    }
    setVisible(true);
    tf.addTextListener(this);
    runOnce = true;

  } // end init

  public void textValueChanged(
      TextEvent e) {
    //System.out.println(e);
    AddressDisplay display =
        new AddressDisplay();
    display.setEditFlag();
  }


} // end class AddressBookFrame