--- /dev/null
+/*
+GNU General Public License
+
+TableInputDialog
+Copyright (C) 2000-2003 Howard Kistler
+
+This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License
+as published by the Free Software Foundation; either version 2
+of the License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+*/
+
+package com.hexidec.ekit.component;
+
+import java.awt.Frame;
+import java.awt.event.WindowAdapter;
+import java.awt.event.WindowEvent;
+import java.beans.PropertyChangeEvent;
+import java.beans.PropertyChangeListener;
+import javax.swing.JDialog;
+import javax.swing.JOptionPane;
+import javax.swing.JTextField;
+
+import com.hexidec.util.Translatrix;
+
+/** Class for providing a dialog that lets the user specify values for tag attributes
+ */
+public class TableInputDialog extends JDialog
+{
+ private String inputRows = new String();
+ private String inputCols = new String();
+ private String inputBorder = new String();
+ private String inputSpace = new String();
+ private String inputPad = new String();
+ private JOptionPane jOptionPane;
+
+ public TableInputDialog(Frame parent, String title, boolean bModal)
+ {
+ super(parent, title, bModal);
+ final JTextField jtxfRows = new JTextField(3);
+ final JTextField jtxfCols = new JTextField(3);
+ final JTextField jtxfBorder = new JTextField(3);
+ final JTextField jtxfSpace = new JTextField(3);
+ final JTextField jtxfPad = new JTextField(3);
+ final Object[] buttonLabels = { Translatrix.getTranslationString("DialogAccept"), Translatrix.getTranslationString("DialogCancel") };
+ Object[] panelContents = {
+ Translatrix.getTranslationString("TableRows"), jtxfRows,
+ Translatrix.getTranslationString("TableColumns"), jtxfCols,
+ Translatrix.getTranslationString("TableBorder"), jtxfBorder,
+ Translatrix.getTranslationString("TableCellSpacing"), jtxfSpace,
+ Translatrix.getTranslationString("TableCellPadding"), jtxfPad
+ };
+ jOptionPane = new JOptionPane(panelContents, JOptionPane.QUESTION_MESSAGE, JOptionPane.OK_CANCEL_OPTION, null, buttonLabels, buttonLabels[0]);
+
+ setContentPane(jOptionPane);
+ setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);
+
+ addWindowListener(new WindowAdapter() {
+ public void windowClosing(WindowEvent we)
+ {
+ jOptionPane.setValue(new Integer(JOptionPane.CLOSED_OPTION));
+ }
+ });
+
+ jOptionPane.addPropertyChangeListener(new PropertyChangeListener() {
+ public void propertyChange(PropertyChangeEvent e)
+ {
+ String prop = e.getPropertyName();
+ if(isVisible()
+ && (e.getSource() == jOptionPane)
+ && (prop.equals(JOptionPane.VALUE_PROPERTY) || prop.equals(JOptionPane.INPUT_VALUE_PROPERTY)))
+ {
+ Object value = jOptionPane.getValue();
+ if(value == JOptionPane.UNINITIALIZED_VALUE)
+ {
+ return;
+ }
+ jOptionPane.setValue(JOptionPane.UNINITIALIZED_VALUE);
+ if(value.equals(buttonLabels[0]))
+ {
+ inputRows = jtxfRows.getText();
+ inputCols = jtxfCols.getText();
+ inputBorder = jtxfBorder.getText();
+ inputSpace = jtxfSpace.getText();
+ inputPad = jtxfPad.getText();
+ setVisible(false);
+ }
+ else
+ {
+ inputRows = "";
+ inputCols = "";
+ inputBorder = "";
+ inputSpace = "";
+ inputPad = "";
+ setVisible(false);
+ }
+ }
+ }
+ });
+ this.pack();
+ }
+
+ public int getRows()
+ {
+ try
+ {
+ return Integer.parseInt(inputRows);
+ }
+ catch(NumberFormatException nfe)
+ {
+ return -1;
+ }
+ }
+
+ public int getCols()
+ {
+ try
+ {
+ return Integer.parseInt(inputCols);
+ }
+ catch(NumberFormatException nfe)
+ {
+ return -1;
+ }
+ }
+
+ public int getBorder()
+ {
+ try
+ {
+ return Integer.parseInt(inputBorder);
+ }
+ catch(NumberFormatException nfe)
+ {
+ return -1;
+ }
+ }
+
+ public int getSpacing()
+ {
+ try
+ {
+ return Integer.parseInt(inputSpace);
+ }
+ catch(NumberFormatException nfe)
+ {
+ return -1;
+ }
+ }
+
+ public int getPadding()
+ {
+ try
+ {
+ return Integer.parseInt(inputPad);
+ }
+ catch(NumberFormatException nfe)
+ {
+ return -1;
+ }
+ }
+}
+