Import of Ekit 0.9h
[old-projects.git] / ekit / com / hexidec / ekit / component / SearchDialog.java
index cd6623e..ce2c49e 100644 (file)
-/*\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; }
+}
+