package graphbrowser;

import java.awt.event.*;
import java.applet.*;
import java.awt.*;

/* changed for JDK1.1 support */


public class MyDialog extends Dialog implements ActionListener {


  Label     label1,label2;
  TextField text1,text2;
  Button    okButton,cancelButton;
  String    value1,value2;


  public MyDialog(Frame parent,String title) {
      super(parent,title,true); // model dialog

      value1=new String("");
      value2=new String("");
      label1=new Label("UserName");
      label2=new Label("Password");
      text1=new TextField(10);
      text2=new TextField(10);
      okButton=new Button("OK");
      cancelButton=new Button("Cancel");

      setLayout(new BorderLayout() );

      Panel p1=new Panel();
      p1.setLayout(new GridLayout(2,2,0,5) );
      p1.add(label1);
      p1.add(text1);

      p1.add(label2);
      p1.add(text2);

      text2.setEchoChar('*'); // for password use

      Panel p2=new Panel();
      p2.setLayout(new FlowLayout(FlowLayout.CENTER));
      p2.add(okButton);
      p2.add(cancelButton);

      // add event listeners
      okButton.addActionListener(this);
      cancelButton.addActionListener(this);

      text2.addActionListener(this);

      this.setEnabled(true);
      text1.setEnabled(true);  // enable editing of text1

      this.add(p1,"North");
      this.add(p2,"South");
      this.pack();

      //this.show();
  }

  public void actionPerformed(ActionEvent e) {

    //public boolean action(Event event, Object object) {
     Object esource=e.getSource();
    //Object esource=event.target;

    if ( (esource == okButton) || (esource ==text2) ) {
        // error checking and setting the value
        value1=text1.getText();
        if ( value1.equals("") )return;// true;
        value2=text2.getText();
        this.setVisible(false);
        return;// true;
    }  else if (esource == cancelButton) {
        value1=null;
        value2=null;
        this.setVisible(false);
        return ;//true;
     }
   return;// false;


  }

  // callback for external data-fetching use

  public String getValue1() {
    return value1;

  }

  public String getValue2() {
    return value2;
  }


}