-/*\r
-GNU Lesser General Public License\r
-\r
-SearchDialog\r
-Copyright (C) 2000-2003 Howard Kistler\r
-\r
-This library is free software; you can redistribute it and/or\r
-modify it under the terms of the GNU Lesser General Public\r
-License as published by the Free Software Foundation; either\r
-version 2.1 of the License, or (at your option) any later version.\r
-\r
-This library is distributed in the hope that it will be useful,\r
-but WITHOUT ANY WARRANTY; without even the implied warranty of\r
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\r
-Lesser General Public License for more details.\r
-\r
-You should have received a copy of the GNU Lesser General Public\r
-License along with this library; if not, write to the Free Software\r
-Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\r
-*/\r
-\r
-package com.hexidec.ekit.component;\r
-\r
-import java.awt.Frame;\r
-import java.awt.event.WindowAdapter;\r
-import java.awt.event.WindowEvent;\r
-import java.beans.PropertyChangeEvent;\r
-import java.beans.PropertyChangeListener;\r
-import javax.swing.JCheckBox;\r
-import javax.swing.JDialog;\r
-import javax.swing.JOptionPane;\r
-import javax.swing.JTextField;\r
-\r
-import com.hexidec.util.Translatrix;\r
-\r
-/** Class for providing a dialog that lets the user specify arguments for\r
- * the Search Find/Replace functions\r
- */\r
-public class SearchDialog extends JDialog\r
-{\r
- private String inputFindTerm = (String)null;\r
- private String inputReplaceTerm = (String)null;\r
- private boolean bCaseSensitive = false;\r
- private boolean bStartAtTop = false;\r
- private boolean bReplaceAll = false;\r
- private JOptionPane jOptionPane;\r
-\r
- public SearchDialog(Frame parent, String title, boolean bModal, boolean bIsReplace, boolean bCaseSetting, boolean bTopSetting)\r
- {\r
- super(parent, title, bModal);\r
- final boolean isReplaceDialog = bIsReplace;\r
- final JTextField jtxfFindTerm = new JTextField(3);\r
- final JTextField jtxfReplaceTerm = new JTextField(3);\r
- final JCheckBox jchkCase = new JCheckBox(Translatrix.getTranslationString("SearchCaseSensitive"), bCaseSetting);\r
- final JCheckBox jchkTop = new JCheckBox(Translatrix.getTranslationString("SearchStartAtTop"), bTopSetting);\r
- final JCheckBox jchkAll = new JCheckBox(Translatrix.getTranslationString("SearchReplaceAll"), false);\r
- final Object[] buttonLabels = { Translatrix.getTranslationString("DialogAccept"), Translatrix.getTranslationString("DialogCancel") };\r
- if(bIsReplace)\r
- {\r
- Object[] panelContents = {\r
- Translatrix.getTranslationString("SearchFind"),\r
- jtxfFindTerm,\r
- Translatrix.getTranslationString("SearchReplace"),\r
- jtxfReplaceTerm,\r
- jchkAll,\r
- jchkCase,\r
- jchkTop\r
- };\r
- jOptionPane = new JOptionPane(panelContents, JOptionPane.QUESTION_MESSAGE, JOptionPane.OK_CANCEL_OPTION, null, buttonLabels, buttonLabels[0]);\r
- }\r
- else\r
- {\r
- Object[] panelContents = {\r
- Translatrix.getTranslationString("SearchFind"),\r
- jtxfFindTerm,\r
- jchkCase,\r
- jchkTop\r
- };\r
- jOptionPane = new JOptionPane(panelContents, JOptionPane.QUESTION_MESSAGE, JOptionPane.OK_CANCEL_OPTION, null, buttonLabels, buttonLabels[0]);\r
- }\r
- setContentPane(jOptionPane);\r
- setDefaultCloseOperation(DO_NOTHING_ON_CLOSE);\r
-\r
- addWindowListener(new WindowAdapter() {\r
- public void windowClosing(WindowEvent we)\r
- {\r
- jOptionPane.setValue(new Integer(JOptionPane.CLOSED_OPTION));\r
- }\r
- });\r
-\r
- jOptionPane.addPropertyChangeListener(new PropertyChangeListener() {\r
- public void propertyChange(PropertyChangeEvent e)\r
- {\r
- String prop = e.getPropertyName();\r
- if(isVisible() \r
- && (e.getSource() == jOptionPane)\r
- && (prop.equals(JOptionPane.VALUE_PROPERTY) || prop.equals(JOptionPane.INPUT_VALUE_PROPERTY)))\r
- {\r
- Object value = jOptionPane.getValue();\r
- if(value == JOptionPane.UNINITIALIZED_VALUE)\r
- {\r
- return;\r
- }\r
- jOptionPane.setValue(JOptionPane.UNINITIALIZED_VALUE);\r
- if(value.equals(buttonLabels[0]))\r
- {\r
- inputFindTerm = jtxfFindTerm.getText();\r
- bCaseSensitive = jchkCase.isSelected();\r
- bStartAtTop = jchkTop.isSelected();\r
- if(isReplaceDialog)\r
- {\r
- inputReplaceTerm = jtxfReplaceTerm.getText();\r
- bReplaceAll = jchkAll.isSelected();\r
- }\r
- setVisible(false);\r
- }\r
- else\r
- {\r
- inputFindTerm = (String)null;\r
- inputReplaceTerm = (String)null;\r
- bCaseSensitive = false;\r
- bStartAtTop = false;\r
- bReplaceAll = false;\r
- setVisible(false);\r
- }\r
- }\r
- }\r
- });\r
- this.pack();\r
- this.show();\r
- jtxfFindTerm.requestFocus();\r
- }\r
-\r
- public String getFindTerm() { return inputFindTerm; }\r
- public String getReplaceTerm() { return inputReplaceTerm; }\r
- public boolean getCaseSensitive() { return bCaseSensitive; }\r
- public boolean getStartAtTop() { return bStartAtTop; }\r
- public boolean getReplaceAll() { return bReplaceAll; }\r
-}\r
-\r
+/*
+GNU Lesser General Public License
+
+SearchDialog
+Copyright (C) 2000 Howard Kistler
+
+This library is free software; you can redistribute it and/or
+modify it under the terms of the GNU Lesser General Public
+License as published by the Free Software Foundation; either
+version 2.1 of the License, or (at your option) any later version.
+
+This library 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
+Lesser General Public License for more details.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this library; 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.JCheckBox;
+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 arguments for
+ * the Search Find/Replace functions
+ */
+public class SearchDialog extends JDialog
+{
+ private String inputFindTerm = (String)null;
+ private String inputReplaceTerm = (String)null;
+ private boolean bCaseSensitive = false;
+ private boolean bStartAtTop = false;
+ private boolean bReplaceAll = false;
+ private JOptionPane jOptionPane;
+
+ public SearchDialog(Frame parent, String title, boolean bModal, boolean bIsReplace, boolean bCaseSetting, boolean bTopSetting)
+ {
+ super(parent, title, bModal);
+ final boolean isReplaceDialog = bIsReplace;
+ final JTextField jtxfFindTerm = new JTextField(3);
+ final JTextField jtxfReplaceTerm = new JTextField(3);
+ final JCheckBox jchkCase = new JCheckBox(Translatrix.getTranslationString("SearchCaseSensitive"), bCaseSetting);
+ final JCheckBox jchkTop = new JCheckBox(Translatrix.getTranslationString("SearchStartAtTop"), bTopSetting);
+ final JCheckBox jchkAll = new JCheckBox(Translatrix.getTranslationString("SearchReplaceAll"), false);
+ final Object[] buttonLabels = { Translatrix.getTranslationString("DialogAccept"), Translatrix.getTranslationString("DialogCancel") };
+ if(bIsReplace)
+ {
+ Object[] panelContents = {
+ Translatrix.getTranslationString("SearchFind"),
+ jtxfFindTerm,
+ Translatrix.getTranslationString("SearchReplace"),
+ jtxfReplaceTerm,
+ jchkAll,
+ jchkCase,
+ jchkTop
+ };
+ jOptionPane = new JOptionPane(panelContents, JOptionPane.QUESTION_MESSAGE, JOptionPane.OK_CANCEL_OPTION, null, buttonLabels, buttonLabels[0]);
+ }
+ else
+ {
+ Object[] panelContents = {
+ Translatrix.getTranslationString("SearchFind"),
+ jtxfFindTerm,
+ jchkCase,
+ jchkTop
+ };
+ 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]))
+ {
+ inputFindTerm = jtxfFindTerm.getText();
+ bCaseSensitive = jchkCase.isSelected();
+ bStartAtTop = jchkTop.isSelected();
+ if(isReplaceDialog)
+ {
+ inputReplaceTerm = jtxfReplaceTerm.getText();
+ bReplaceAll = jchkAll.isSelected();
+ }
+ setVisible(false);
+ }
+ else
+ {
+ inputFindTerm = (String)null;
+ inputReplaceTerm = (String)null;
+ bCaseSensitive = false;
+ bStartAtTop = false;
+ bReplaceAll = false;
+ setVisible(false);
+ }
+ }
+ }
+ });
+ this.pack();
+ this.show();
+ jtxfFindTerm.requestFocus();
+ }
+
+ public String getFindTerm() { return inputFindTerm; }
+ public String getReplaceTerm() { return inputReplaceTerm; }
+ public boolean getCaseSensitive() { return bCaseSensitive; }
+ public boolean getStartAtTop() { return bStartAtTop; }
+ public boolean getReplaceAll() { return bReplaceAll; }
+}
+