import DialogoCurso;
import java.awt.*;

public class DialogoDatos extends DialogoCurso
{
  protected TextField txtDatos;
  protected Label etqMensaje;
  protected Button btnAceptar,btnCancelar;
  protected String clave;

  public DialogoDatos( String titulo, ReceptorEventos jefe )
  {
     super(titulo,jefe);
  }

  public void creaControles()
  {
     etqMensaje = new Label("",Label.LEFT);
     txtDatos = new TextField(45);
     btnAceptar = new Button("Aceptar");
     btnCancelar = new Button("Cancelar");

     PanelCurso panCen = new PanelCurso(PanelCurso.BORDE_HUNDIDO,3);
     panCen.setLayout( new BorderLayout() );
     panCen.add("North",etqMensaje);
     panCen.add("Center",txtDatos);

     PanelCurso panBot = new PanelCurso(PanelCurso.SIN_BORDE,3);
     panBot.setLayout( new FlowLayout() );
     panBot.add(btnAceptar);
     panBot.add(btnCancelar);

     PanelCurso panGen = new PanelCurso(PanelCurso.SIN_BORDE,5);
     panGen.setLayout( new BorderLayout() );
     panGen.add("Center",panCen);
     panGen.add("South",panBot);

     setLayout( new BorderLayout() );
     add("Center",panGen);
  }

  public void mostrar( Rectangle r, String[] args )
  {
     clave = args[0];
     etqMensaje.setText(args[1]);
     if(args.length>2) txtDatos.setText(args[2]); else txtDatos.setText("");

     super.mostrar(r,args);
  }

  public boolean action( Event evt, Object what )
  {
     if ((evt.target==btnAceptar) || (evt.target==txtDatos)) {
        String linea = txtDatos.getText();

        if(linea.length()>0) {
          String[] args = {clave,linea};
          jefe.nuevoEvento(this,ReceptorEventos.INT_DATO,args);
          hide();
          return(true);
       }
     } else
     if(evt.target==btnCancelar) {
        hide();
        return(true);
     }

     return( super.action(evt,what) );
  }
}
