/*
 * TextInputDialog.java
 *
 * Created on December 19, 2005, 1:37 PM
 *
 */
package usda.weru.util;

import usda.weru.util.gui.TextInputDialog_n;

/**
 *
 * @author lrdinuki
 */
public class TextInputDialog extends TextInputDialog_n {

    private static final long serialVersionUID = 1L;

    private boolean newdata = false;
    private String oldData;

    /** Creates a new instance of TextInputDialog
     * @param parent
     * @param modal */
    public TextInputDialog(java.awt.Frame parent, boolean modal) {
        super(parent, modal);
    }

    /**
     *
     * @param parent
     * @param modal
     * @param title
     */
    public TextInputDialog(java.awt.Frame parent, boolean modal, String title) {
        super(parent, modal);
        setTitle(title);
    }

    /**
     *
     * @param parent
     * @param modal
     * @param title
     * @param data
     */
    public TextInputDialog(java.awt.Frame parent, boolean modal, String title, String data) {
        super(parent, modal);
        setTitle(title);
        setValue(data);
        oldData = data;
        pack();
        setVisible(true);

    }

    /**
     *
     * @param parent
     */
    public TextInputDialog(java.awt.Frame parent) {
        super(parent, true);
    }

    /**
     *
     * @param evt
     */
    @Override
    protected void JBCancel_ActionPerformed(java.awt.event.ActionEvent evt) {
        newdata = false;
        setVisible(false);
    }

    /**
     *
     * @param evt
     */
    @Override
    protected void JBSave_ActionPerformed(java.awt.event.ActionEvent evt) {
        newdata = true;
        setVisible(false);
    }

    /**
     *
     * @return
     */
    public String getValue() {
        String tmp = JTA_EditPanel.getText();
        return newdata ? tmp : oldData;
    }

    private void setValue(String value) {
        JTA_EditPanel.setText(value);
    }

    /**
     *
     * @param parent
     * @param title
     * @param data
     * @return
     */
    public static String showInputDialog(java.awt.Frame parent, String title, String data) {
        TextInputDialog tmp = new TextInputDialog(parent, true, title, data);
        String val = tmp.getValue();
        tmp.setVisible(false);
        return val;

    }

}
