chiark / gitweb /
Debianization.
[anag] / AnagGUI.java
index de2a23f21272b60723da956a473c857cb71cd0f1..ac4d279a0c05b243a6a483828a20e002ad8adec4 100644 (file)
@@ -1,6 +1,6 @@
 /* -*-java-*-
  *
- * $Id: AnagGUI.java,v 1.3 2001/02/16 21:46:10 mdw Exp $
+ * $Id: AnagGUI.java,v 1.6 2003/11/29 23:38:37 mdw Exp $
  *
  * Front-end GUI
  *
 /*----- Revision history --------------------------------------------------* 
  *
  * $Log: AnagGUI.java,v $
+ * Revision 1.6  2003/11/29 23:38:37  mdw
+ * Debianization.
+ *
+ * Revision 1.5  2002/08/11 12:58:09  mdw
+ * Added support for regular expression matching, if supported by the C
+ * library.
+ *
+ * Revision 1.4  2001/02/19 19:19:11  mdw
+ * Add `help' button.  Lowercase input to the command.
+ *
  * Revision 1.3  2001/02/16 21:46:10  mdw
  * Use a BufferedReader, not a LineNumberReader.
  *
@@ -176,6 +186,15 @@ class AnagPanel extends Panel {
     }
   }
 
+  void help() {
+    try {
+      Process p = Runtime.getRuntime().exec("anag --help");
+      listen(p);
+    } catch (IOException e) {
+      splat(e.toString());
+    }
+  }
+
   void getlist(String tag) {
     try {
       Vector v = new Vector();
@@ -184,7 +203,7 @@ class AnagPanel extends Panel {
       v.addElement("-file");
       v.addElement(file);
       v.addElement(tag);
-      v.addElement(word.getText());
+      v.addElement(word.getText().toLowerCase());
       vv = new String[v.size()];
       v.copyInto(vv);
       Process p = Runtime.getRuntime().exec(vv);
@@ -200,7 +219,7 @@ class AnagPanel extends Panel {
     GridBagConstraints g = new GridBagConstraints();
     Button b;
 
-    file = "/usr/dict/words";
+    file = System.getProperty("anag.dictionary", "/usr/dict/words");
     sb = null;
 
     g.gridx = g.gridy = GridBagConstraints.RELATIVE;
@@ -246,6 +265,24 @@ class AnagPanel extends Panel {
     });
     add(b, g);
 
+    b = new Button("Regular expression");
+    b.addActionListener(new ActionListener() {
+      public void actionPerformed(ActionEvent e) { getlist("-regexp"); }
+    });
+    add(b, g);
+
+    b = new Button("Perl regexp");
+    b.addActionListener(new ActionListener() {
+      public void actionPerformed(ActionEvent e) { getlist("-pcre"); }
+    });
+    add(b, g);
+
+    b = new Button("Monoalphabetic");
+    b.addActionListener(new ActionListener() {
+      public void actionPerformed(ActionEvent e) { getlist("-mono"); }
+    });
+    add(b, g);
+
     b = new Button("Trackword");
     b.addActionListener(new ActionListener() {
       public void actionPerformed(ActionEvent e) { getlist("-trackword"); }
@@ -258,6 +295,12 @@ class AnagPanel extends Panel {
     });
     add(b, g);
 
+    b = new Button("Help!");
+    b.addActionListener(new ActionListener() {
+      public void actionPerformed(ActionEvent e) { help(); }
+    });
+    add(b, g);
+
     b = new Button("Settings...");
     b.addActionListener(new ActionListener() {
       public void actionPerformed(ActionEvent e) { settings(); }
@@ -280,8 +323,8 @@ public class AnagGUI extends Applet {
     f.show();
   }
   public AnagGUI() { super(); setLayout(new BorderLayout()); }
-  public void init() { add(new AnagPanel()); }
-  public void destroy() { removeAll(); }
+  public void init() { /*add(new AnagPanel());*/ main(null); }
+  public void destroy() { /*removeAll();*/ }
 };
 
 /*----- That's all, folks -------------------------------------------------*/