home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2000 April / maximum-cd-2000-04.iso / Utilities / InternetTools / dreamweaver3 / data1.cab / App_Files / Help / search.jar / SearchFrame.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-10-19  |  5.7 KB  |  190 lines

  1. import java.awt.BorderLayout;
  2. import java.awt.Button;
  3. import java.awt.Checkbox;
  4. import java.awt.Color;
  5. import java.awt.Component;
  6. import java.awt.Container;
  7. import java.awt.Event;
  8. import java.awt.FlowLayout;
  9. import java.awt.Frame;
  10. import java.awt.GridLayout;
  11. import java.awt.Label;
  12. import java.awt.List;
  13. import java.awt.Panel;
  14. import java.awt.TextField;
  15. import java.text.MessageFormat;
  16. import java.util.StringTokenizer;
  17.  
  18. class SearchFrame extends Frame {
  19.    // $FF: renamed from: sa SearchApplet11ech
  20.    SearchApplet11ech field_0;
  21.    Button list_topics;
  22.    Button cancel;
  23.    Button display;
  24.    Checkbox case_sensitive;
  25.    List doc_list = new List(15, false);
  26.    TextField input_tf = new TextField(40);
  27.    Label status = new Label();
  28.  
  29.    SearchFrame(SearchApplet11ech var1) {
  30.       this.field_0 = var1;
  31.       ((Frame)this).setTitle(this.field_0.getMessage("searchappletframe.search.frame_title"));
  32.       ((Frame)this).setResizable(false);
  33.       ((Component)this).setBackground(Color.lightGray);
  34.       ((Container)this).setLayout(new BorderLayout(0, 0));
  35.       this.list_topics = new Button(this.field_0.getMessage("searchappletframe.list_topics.button"));
  36.       this.cancel = new Button(this.field_0.getMessage("searchappletframe.cancel.button"));
  37.       this.display = new Button(this.field_0.getMessage("searchappletframe.display.button"));
  38.       this.case_sensitive = new Checkbox(this.field_0.getMessage("searchappletframe.case_sensitive.checkbox"));
  39.       this.case_sensitive.setState(false);
  40.       this.case_sensitive.setBackground(Color.lightGray);
  41.       Panel var2 = new Panel();
  42.       ((Container)var2).setLayout(new GridLayout(4, 1));
  43.       ((Container)var2).add(new Label(this.field_0.getMessage("searchappletframe.type_in_the_keyword_to_find.label")));
  44.       ((Container)var2).add(this.input_tf);
  45.       Panel var3 = new Panel();
  46.       ((Container)var3).setLayout(new GridLayout(1, 2));
  47.       Panel var4 = new Panel();
  48.       ((Container)var4).setLayout(new FlowLayout(0));
  49.       if (!this.field_0.getEncoding().equals("SJIS")) {
  50.          ((Container)var4).add(this.case_sensitive);
  51.       }
  52.  
  53.       Panel var5 = new Panel();
  54.       ((Container)var5).setLayout(new FlowLayout(2));
  55.       ((Container)var5).add(this.list_topics);
  56.       ((Container)var3).add(var4);
  57.       ((Container)var3).add(var5);
  58.       ((Container)var2).add(var3);
  59.       ((Container)var2).add(new Label(this.field_0.getMessage("searchappletframe.select_topic_to_display.label")));
  60.       ((Container)this).add("North", var2);
  61.       this.doc_list.setBackground(Color.white);
  62.       this.updateList(" ");
  63.       ((Container)this).add("Center", this.doc_list);
  64.       Panel var6 = new Panel();
  65.       ((Container)var6).setLayout(new GridLayout(2, 1));
  66.       ((Container)var6).add(this.status);
  67.       Panel var7 = new Panel();
  68.       ((Container)var7).setLayout(new FlowLayout(2));
  69.       ((Container)var7).add(this.cancel);
  70.       ((Container)var7).add(this.display);
  71.       ((Container)var6).add(var7);
  72.       ((Container)this).add("South", var6);
  73.    }
  74.  
  75.    public void clearList() {
  76.       this.doc_list.clear();
  77.    }
  78.  
  79.    public void updateList(String var1) {
  80.       this.doc_list.addItem(var1);
  81.    }
  82.  
  83.    public void setStatus(String var1) {
  84.       this.status.setText(var1);
  85.    }
  86.  
  87.    private void initiateSearch() {
  88.       if (!this.input_tf.getText().trim().equals("")) {
  89.          String var2 = this.input_tf.getText();
  90.          StringTokenizer var3 = new StringTokenizer(var2);
  91.  
  92.          String var4;
  93.          for(var4 = ""; var3.hasMoreTokens(); var4 = var4 + " " + var3.nextToken()) {
  94.          }
  95.  
  96.          var4 = var4.trim();
  97.          String[] var5 = new String[]{var4};
  98.          this.field_0.showStatus(MessageFormat.format(this.field_0.getMessage("searchappletframe.searching_for"), var5));
  99.          StringTokenizer var6 = new StringTokenizer(var4, "+");
  100.          int var7 = var6.countTokens();
  101.          String[] var1 = new String[var7];
  102.  
  103.          for(int var8 = 0; var8 < var7; ++var8) {
  104.             String var9 = var6.nextToken().trim();
  105.  
  106.             try {
  107.                var1[var8] = !this.field_0.getEncoding().equals("SJIS") ? this.ASCIItoHTML(var9) : var9;
  108.             } catch (Exception var11) {
  109.                System.out.println("002 " + var11);
  110.             }
  111.  
  112.             if (!this.case_sensitive.getState()) {
  113.                var1[var8] = var1[var8].toLowerCase();
  114.             }
  115.          }
  116.  
  117.          this.field_0.search(var1, this.case_sensitive.getState());
  118.       }
  119.  
  120.    }
  121.  
  122.    private String ASCIItoHTML(String var1) {
  123.       String var2 = "";
  124.       char[] var3 = var1.toCharArray();
  125.  
  126.       for(int var4 = 0; var4 < var3.length; ++var4) {
  127.          if (var3[var4] > 127) {
  128.             var2 = var2 + "&#" + var3[var4] + ";";
  129.          } else {
  130.             var2 = var2 + String.valueOf(var3[var4]);
  131.          }
  132.       }
  133.  
  134.       if (this.field_0.getDebugStatus()) {
  135.          System.out.println("Converted: " + var1 + "\t-->\t" + var2);
  136.       }
  137.  
  138.       return var2;
  139.    }
  140.  
  141.    public String HTMLtoASCII(String var1) {
  142.       if (var1.indexOf("&#") > -1) {
  143.          String var2 = var1.substring(0, var1.indexOf("&#"));
  144.          String var3 = var1.substring(var1.indexOf(";", var2.length()) + 1);
  145.          int var4 = Integer.parseInt(var1.substring(var2.length() + 2, var1.length() - var3.length() - 1));
  146.          return var2 + (char)var4 + this.HTMLtoASCII(var3);
  147.       } else {
  148.          return var1;
  149.       }
  150.    }
  151.  
  152.    public boolean handleEvent(Event var1) {
  153.       if (var1.id == 201) {
  154.          this.field_0.setStopSearch(true);
  155.          this.input_tf.setText("");
  156.          this.setStatus("");
  157.          ((Component)this).setVisible(false);
  158.       } else if (var1.id == 1001) {
  159.          if (var1.target == this.list_topics) {
  160.             this.initiateSearch();
  161.          } else if (var1.target == this.cancel) {
  162.             this.field_0.setStopSearch(true);
  163.             this.input_tf.setText("");
  164.             this.setStatus("");
  165.             ((Component)this).setVisible(false);
  166.          } else if (var1.target == this.display) {
  167.             this.displayDoc();
  168.          } else if (var1.target == this.doc_list) {
  169.             this.displayDoc();
  170.          } else if (var1.target == this.input_tf) {
  171.             this.initiateSearch();
  172.          }
  173.       } else if (var1.id == 402 && (var1.key == 10 || var1.key == 13)) {
  174.          System.out.println(var1.toString());
  175.          if (var1.target == this.doc_list) {
  176.             this.displayDoc();
  177.          }
  178.       }
  179.  
  180.       return super.handleEvent(var1);
  181.    }
  182.  
  183.    public void displayDoc() {
  184.       if (this.doc_list.getSelectedIndex() > -1 && !this.doc_list.getSelectedItem().trim().equals("")) {
  185.          this.field_0.showDoc(this.doc_list.getSelectedIndex());
  186.       }
  187.  
  188.    }
  189. }
  190.