home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1997 October / PCO1097.ISO / FilesBBS / FREI / DIGSIM.EXE / ExamplesFrame.class (.txt) < prev    next >
Encoding:
Java Class File  |  1996-05-21  |  4.5 KB  |  222 lines

  1. import java.awt.BorderLayout;
  2. import java.awt.Button;
  3. import java.awt.Choice;
  4. import java.awt.Component;
  5. import java.awt.Container;
  6. import java.awt.Event;
  7. import java.awt.FlowLayout;
  8. import java.awt.Frame;
  9. import java.awt.GridLayout;
  10. import java.awt.List;
  11. import java.awt.Panel;
  12. import java.awt.Window;
  13. import java.io.DataInputStream;
  14. import java.io.StringBufferInputStream;
  15. import java.util.Vector;
  16.  
  17. class ExamplesFrame extends Frame {
  18.    DigSim applet;
  19.    // $FF: renamed from: c java.awt.Choice
  20.    Choice field_0;
  21.    // $FF: renamed from: l java.awt.List
  22.    List field_1;
  23.    Vector ExamplesVector;
  24.    String WaitMessage = "Please wait, loading available examples.";
  25.  
  26.    public ExamplesFrame(DigSim var1) {
  27.       super("DigSim examples");
  28.       this.applet = var1;
  29.       Button var2 = new Button("OK");
  30.       Button var3 = new Button("Cancel");
  31.       ((Component)var2).disable();
  32.       this.ExamplesVector = new Vector();
  33.       Panel var4 = new Panel();
  34.       ((Container)var4).setLayout(new FlowLayout());
  35.       this.field_0 = new Choice();
  36.       this.field_0.addItem("all");
  37.       ((Container)var4).add(this.field_0);
  38.       ((Container)var4).add(var2);
  39.       ((Container)var4).add(var3);
  40.       Panel var5 = new Panel();
  41.       ((Container)var5).setLayout(new GridLayout(0, 1));
  42.       this.field_1 = new List(10, false);
  43.       this.field_1.addItem(this.WaitMessage);
  44.       ((Container)var5).add(this.field_1);
  45.       ((Container)this).setLayout(new BorderLayout());
  46.       ((Container)this).add("North", var5);
  47.       ((Container)this).add("South", var4);
  48.       ((Component)this).resize(400, 275);
  49.       ((Window)this).show();
  50.       ((Component)this).resize(400, 275);
  51.       this.LoadExamples();
  52.       this.ShowCategorys();
  53.       if (this.field_0.countItems() > 0) {
  54.          this.ShowExamples(this.field_0.getItem(0));
  55.       }
  56.  
  57.       this.field_1.select(0);
  58.       ((Component)var2).enable();
  59.       ((Container)var4).layout();
  60.    }
  61.  
  62.    public void ShowExamples(String var1) {
  63.       if (this.ExamplesVector.size() != 0) {
  64.          this.field_1.delItems(0, this.field_1.countItems() - 1);
  65.  
  66.          for(int var3 = 0; var3 < this.ExamplesVector.size(); ++var3) {
  67.             Example var2 = (Example)this.ExamplesVector.elementAt(var3);
  68.             if (var1.equals(var2.getType()) || var1.equals("all")) {
  69.                this.field_1.addItem(var2.getDescription());
  70.             }
  71.          }
  72.  
  73.       }
  74.    }
  75.  
  76.    public void ShowCategorys() {
  77.       if (this.ExamplesVector.size() != 0) {
  78.          for(int var3 = 0; var3 < this.ExamplesVector.size(); ++var3) {
  79.             Example var1 = (Example)this.ExamplesVector.elementAt(var3);
  80.             boolean var2 = false;
  81.  
  82.             for(int var4 = 0; var4 < this.field_0.countItems(); ++var4) {
  83.                if (this.field_0.getItem(var4).equals(var1.getType())) {
  84.                   var2 = true;
  85.                }
  86.             }
  87.  
  88.             if (!var2) {
  89.                this.field_0.addItem(var1.getType());
  90.             }
  91.          }
  92.  
  93.       }
  94.    }
  95.  
  96.    public void LoadExamples() {
  97.       String var2 = null;
  98.       String var3 = null;
  99.       String var4 = null;
  100.  
  101.       while(this.applet.TextFileRequested != null) {
  102.          try {
  103.             Thread.currentThread();
  104.             Thread.sleep(250L);
  105.          } catch (Exception var11) {
  106.          }
  107.       }
  108.  
  109.       this.applet.RequestedTextFileRead = false;
  110.       this.applet.RequestedTextFileError = false;
  111.       this.applet.TextFileRequested = "examples/description.txt";
  112.       ((Window)this).show();
  113.  
  114.       do {
  115.          try {
  116.             Thread.currentThread();
  117.             Thread.sleep(250L);
  118.          } catch (Exception var10) {
  119.          }
  120.       } while(!this.applet.RequestedTextFileRead && !this.applet.RequestedTextFileError);
  121.  
  122.       if (this.applet.RequestedText != null && !this.applet.RequestedTextFileError) {
  123.          String var13 = this.applet.RequestedText;
  124.          this.applet.TextFileRequested = null;
  125.          StringBufferInputStream var7 = new StringBufferInputStream(var13);
  126.          DataInputStream var8 = new DataInputStream(var7);
  127.  
  128.          do {
  129.             try {
  130.                Object var12 = null;
  131.                var3 = null;
  132.                var4 = null;
  133.                var2 = var8.readLine();
  134.                if (var2 != null) {
  135.                   var3 = var8.readLine();
  136.                }
  137.  
  138.                if (var2 != null && var3 != null) {
  139.                   var4 = var8.readLine();
  140.                }
  141.             } catch (Exception var9) {
  142.             }
  143.  
  144.             if (var2 != null && var3 != null && var4 != null) {
  145.                Example var5 = new Example(var2, var3, var4);
  146.                this.ExamplesVector.addElement(var5);
  147.             }
  148.          } while(var2 != null && var3 != null && var4 != null);
  149.  
  150.       } else {
  151.          this.applet.TextFileRequested = null;
  152.          String[] var6 = new String[]{"OK"};
  153.          String var1 = "Can't read file examples/description.txt";
  154.          new SimpleDialog((DigSimFrame)null, "Loading examples", var1, var6, 1, 0, 0, 1);
  155.       }
  156.    }
  157.  
  158.    public boolean handleEvent(Event var1) {
  159.       if (var1.id == 201) {
  160.          ((Component)this).hide();
  161.          this.applet.MyExamplesFrame = null;
  162.          return true;
  163.       } else {
  164.          return super.handleEvent(var1);
  165.       }
  166.    }
  167.  
  168.    public String getFileName(String var1) {
  169.       for(int var3 = 0; var3 < this.ExamplesVector.size(); ++var3) {
  170.          Example var2 = (Example)this.ExamplesVector.elementAt(var3);
  171.          if (var1.equals(var2.getDescription())) {
  172.             return var2.getLocation();
  173.          }
  174.       }
  175.  
  176.       return null;
  177.    }
  178.  
  179.    public boolean action(Event var1, Object var2) {
  180.       if (var1.target instanceof Button) {
  181.          String var5 = (String)var2;
  182.          if (var5.equals("Cancel")) {
  183.             ((Component)this).hide();
  184.             this.applet.MyExamplesFrame = null;
  185.             return true;
  186.          }
  187.  
  188.          if (var5.equals("OK")) {
  189.             int var4 = this.field_1.getSelectedIndex();
  190.             if (var4 == -1) {
  191.                return true;
  192.             }
  193.  
  194.             String var3 = this.getFileName(this.field_1.getSelectedItem());
  195.             ((Component)this).hide();
  196.             this.applet.UserWantsOpenExample(var3);
  197.             this.applet.MyExamplesFrame = null;
  198.             return true;
  199.          }
  200.       } else {
  201.          if (var1.target instanceof Choice) {
  202.             this.ShowExamples((String)var2);
  203.             return true;
  204.          }
  205.  
  206.          if (var1.target instanceof List) {
  207.             if (this.WaitMessage.equals((String)var2)) {
  208.                return true;
  209.             }
  210.  
  211.             String var6 = this.getFileName((String)var2);
  212.             ((Component)this).hide();
  213.             this.applet.UserWantsOpenExample(var6);
  214.             this.applet.MyExamplesFrame = null;
  215.             return true;
  216.          }
  217.       }
  218.  
  219.       return false;
  220.    }
  221. }
  222.