import java.awt.*;
import java.util.Vector;
import java.util.Enumeration;

public class DropDownFixFrame extends Frame {
  DropDownFixSelector _selectorCallBack;
  List _listOfItems;
  Button _closeButton;
  Button _submitButton;

  void _submitButtonClicked() {
    String selectedItem = _listOfItems.getSelectedItem();
    if (selectedItem != null) {
      _selectorCallBack.relabelDropDownFixButton(selectedItem);
    }
    hide();
    dispose();

  }

  void _closeButtonClicked() {
    hide();
    dispose();
  }

  public DropDownFixFrame(DropDownFixSelector selector, Vector fillList) {

    _selectorCallBack = selector;

    setLayout(new BorderLayout());
    resize(300,200);

    // SET UP TOP LABEL
    Label msgLabel = new java.awt.Label("Select Group From The List",Label.CENTER);
    msgLabel.setFont(new Font("Dialog", Font.BOLD, 12));
    add("North", msgLabel);

    // SET UP BUTTONS ON BOTTOM PANEL
    Panel bottomPanel = new java.awt.Panel();
    bottomPanel.setLayout(new FlowLayout());
    add("South", bottomPanel);

    _submitButton = new java.awt.Button("Submit Selection");
    bottomPanel.add(_submitButton);
    _closeButton = new java.awt.Button("Close Window");
    bottomPanel.add(_closeButton);

    _listOfItems = new List();
    add("Center", _listOfItems);
    
    setTitle("Select From List");
    for (Enumeration eRows = fillList.elements() ; eRows.hasMoreElements() ;) {
      _listOfItems.addItem((String)eRows.nextElement());
    }

  } // End of constructor
  
  public boolean handleEvent(Event event) {
    if (event.id == Event.WINDOW_DESTROY) {
      hide();
      dispose();
      return true;
    }
    if (event.target == _closeButton && event.id == Event.ACTION_EVENT) {
      _closeButtonClicked();
      return true;
    }
    if (event.target == _submitButton && event.id == Event.ACTION_EVENT) {
      _submitButtonClicked();
      return true;
    }
    return super.handleEvent(event);

  } // end of handleEvent

}
