// StringInputDialog.java
//
//
// Copyright Henrik Björkman (www.stacken.kth.se/~bjorkman) 1999
//
// History:
//
// Created by Henrik Björkman 1999-09-04 using code from 
// ExitDialog.java    
//

package chartplotter_package;

import java.awt.*;
import java.awt.event.*;
import java.io.*;

public class StringInputDialog extends Dialog 
{
  public static final int UNDEFINED=0;
  public static final int UNKNOWN=1;
  public static final int CANCEL=2;
  public static final int CLOSE=3;
  public static final int OK=4;

  Frame parent;
  public int r=UNDEFINED;
  TextField t1;

  void close() 
  {
    setVisible(false);
    r=CLOSE;
  }

  void buttonOk() 
  {
    close();
    r=OK;
  }

  void buttonCancel() 
  {
    close();
    r=CANCEL;
  }

  public String getText()
  {
    return(t1.getText());
  }

  public int getState()
  {
    return(r);
  }

  // The main constructor of this class.
  public StringInputDialog(Frame parent, String title, String message, String str)
  {
    super(parent,title,true);

    this.parent=parent;

    this.addWindowListener(new WindowAdapter() {
      public void windowClosing(WindowEvent e) { close(); }
    });


    {
      Panel p1=new Panel();

      Label l=new Label(message,Label.CENTER);
      p1.add("North",l);

      this.add("North",p1);
    }

    {
      Panel p2=new Panel();

      t1=new TextField(str,32);
      p2.add("East",t1);

      this.add("Center",p2);
    }


    {
      Panel p3=new Panel();

      Button b1=new Button("OK");
      b1.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) { buttonOk(); }
      });
      p3.add("West",b1);

      Button b2=new Button("Cancel");
      b2.addActionListener(new ActionListener() {
        public void actionPerformed(ActionEvent e) { buttonCancel(); }
      });
      p3.add("East",b2);


      this.add("South",p3);
    }

    this.pack();

    //this.show();
  }

  /*
  public static int visa(Frame parent, String title, String message, String str)
  {
    int r;
    StringInputDialog d=new StringInputDialog(parent,title,message,str);
    d.show();
    r=d.r;
    d.dispose();
    return(r);
  }
  */

}


