home *** CD-ROM | disk | FTP | other *** search
/ CD Actual 24 / CDACTUAL24.iso / corel / BARISTA / IHANDLER.CLASS (.txt) < prev    next >
Encoding:
Java Class File  |  1997-07-24  |  14.2 KB  |  765 lines

  1. import animationlib.GIFAnimator;
  2. import animationlib.animator;
  3. import corel.af.graphobjslib.Note;
  4. import java.applet.Applet;
  5. import java.awt.Button;
  6. import java.awt.Checkbox;
  7. import java.awt.CheckboxGroup;
  8. import java.awt.Choice;
  9. import java.awt.Color;
  10. import java.awt.Component;
  11. import java.awt.Container;
  12. import java.awt.Font;
  13. import java.awt.Label;
  14. import java.awt.List;
  15. import java.awt.Rectangle;
  16. import java.awt.TextArea;
  17. import java.awt.TextComponent;
  18. import java.awt.TextField;
  19. import java.io.DataInputStream;
  20. import java.io.DataOutputStream;
  21. import java.io.IOException;
  22. import java.net.InetAddress;
  23. import java.net.MalformedURLException;
  24. import java.net.Socket;
  25. import java.net.SocketException;
  26. import java.net.URL;
  27. import java.util.Hashtable;
  28. import java.util.StringTokenizer;
  29.  
  30. public final class IHandler {
  31.    static final int START = 0;
  32.    static final int HELLO = 1;
  33.    static final int MAIL = 2;
  34.    static final int RCPT = 3;
  35.    static final int DATA = 4;
  36.    static final int TEXT = 5;
  37.    static final int QUIT = 6;
  38.    static final int FINISHED = 9;
  39.    private VPanel m_Panel;
  40.    private VDoc m_Document;
  41.    private VPage m_cPage;
  42.    private Hashtable m_Components;
  43.  
  44.    public IHandler() {
  45.    }
  46.  
  47.    public IHandler(VPanel var1) {
  48.       this.init(var1);
  49.    }
  50.  
  51.    public void init(VPanel var1) {
  52.       this.m_Panel = var1;
  53.       this.m_Document = this.m_Panel.m_Document;
  54.       this.m_cPage = this.m_Panel.m_cPage;
  55.       this.m_Components = VPanel.m_Components;
  56.    }
  57.  
  58.    void ObjectClick(String var1) {
  59.       StringTokenizer var2 = new StringTokenizer(var1);
  60.  
  61.       while(var2.hasMoreTokens()) {
  62.          int var3 = Integer.valueOf(var2.nextToken());
  63.          switch (var3) {
  64.             case 1:
  65.                try {
  66.                   URL var21 = new URL(var2.nextToken("\"").trim());
  67.                   this.m_Document.m_Applet.getAppletContext().showDocument(var21);
  68.                } catch (MalformedURLException var15) {
  69.                }
  70.                continue;
  71.             case 2:
  72.                String var20 = var2.nextToken();
  73.  
  74.                try {
  75.                   int var25 = Integer.valueOf(var20.substring(1));
  76.                   System.out.println("Jump to Page" + var25);
  77.                   this.m_Document.GoToPage(var25);
  78.                } catch (NumberFormatException var14) {
  79.                   System.out.println("Jump to Page Exception");
  80.                }
  81.                continue;
  82.             case 4:
  83.                this.PopUpFootnote(var2.nextToken());
  84.                continue;
  85.             case 6:
  86.                String var19 = var2.nextToken();
  87.                String var24 = this.m_Document.m_Applet.getParameter(var19);
  88.                StringTokenizer var26 = new StringTokenizer(var24, ",");
  89.                Integer.valueOf(var26.nextToken());
  90.                Rectangle var27 = new Rectangle();
  91.                var27.x = Integer.valueOf(var26.nextToken());
  92.                var27.y = Integer.valueOf(var26.nextToken());
  93.                var27.width = Integer.valueOf(var26.nextToken());
  94.                var27.height = Integer.valueOf(var26.nextToken());
  95.                Integer.valueOf(var26.nextToken(), 16);
  96.                Integer.valueOf(var26.nextToken(), 16);
  97.                Object var9 = null;
  98.  
  99.                try {
  100.                   String var10 = var26.nextToken();
  101.                   var28 = Class.forName(var10);
  102.                } catch (ClassNotFoundException var13) {
  103.                   return;
  104.                }
  105.  
  106.                try {
  107.                   animator var8 = (animator)var28.newInstance();
  108.                   ((Applet)var8).setStub(this.m_Document.m_Applet);
  109.                   var8.SetName(var19);
  110.                   ((Component)var8).reshape(var27.x, var27.y, var27.width, var27.height);
  111.                   this.m_Panel.add(var8, var19, var27);
  112.                   var8.init();
  113.                   var8.start();
  114.                   ((Component)var8).repaint();
  115.                } catch (InstantiationException var11) {
  116.                } catch (IllegalAccessException var12) {
  117.                }
  118.                continue;
  119.             case 10:
  120.                int var18 = Integer.valueOf(var2.nextToken());
  121.                int var23 = Integer.valueOf(var2.nextToken());
  122.                if (var18 == 0) {
  123.                   if (this.m_Document.m_Applet.ActiveAudio != null) {
  124.                      this.m_Document.m_Applet.ActiveAudio.stop();
  125.                   }
  126.  
  127.                   if (var23 >= 2 && this.m_Document.m_Applet.ActiveAudio == this.m_cPage.m_SndObjSelect) {
  128.                      this.m_Document.m_Applet.ActiveAudio.stop();
  129.                   } else {
  130.                      this.m_Document.m_Applet.ActiveAudio = this.m_cPage.m_SndObjSelect;
  131.                   }
  132.  
  133.                   if (this.m_Document.m_Applet.ActiveAudio != null) {
  134.                      if (var23 >= 2) {
  135.                         this.m_Document.m_Applet.ActiveAudio.loop();
  136.                      } else if (var23 == 1) {
  137.                         this.m_Document.m_Applet.ActiveAudio.play();
  138.                      } else {
  139.                         this.m_Document.m_Applet.ActiveAudio.stop();
  140.                      }
  141.                   }
  142.                }
  143.  
  144.                var2.nextToken();
  145.                continue;
  146.             case 11:
  147.                String var17 = var2.nextToken(",").trim();
  148.  
  149.                try {
  150.                   int var22 = 0;
  151.  
  152.                   for(int var7 = 0; var7 < this.m_Document.m_skBookmarkList.size(); ++var7) {
  153.                      Bookmark var6 = (Bookmark)this.m_Document.m_skBookmarkList.elementAt(var7);
  154.                      if (var6.m_BookmarkName.equalsIgnoreCase(var17)) {
  155.                         var22 = var6.m_iBookmarkPage;
  156.                         break;
  157.                      }
  158.                   }
  159.  
  160.                   if (var22 != 0) {
  161.                      System.out.println("Jump to Bookmark '" + var17 + "' (Page " + var22 + ")");
  162.                      this.m_Document.GoToPage(var22);
  163.                   } else {
  164.                      System.out.println("Bookmark named " + var17 + " NOT FOUND");
  165.                   }
  166.                } catch (NumberFormatException var16) {
  167.                   System.out.println("Jump to Page Exception");
  168.                }
  169.                continue;
  170.             case 12:
  171.                this.ClearFormText();
  172.             case 13:
  173.                break;
  174.             default:
  175.                continue;
  176.          }
  177.  
  178.          String var4 = new String(var2.nextToken(","));
  179.          String var5 = new String(var2.nextToken());
  180.          this.ReadFormPage(var4, var5);
  181.          this.ClearFormText();
  182.       }
  183.  
  184.    }
  185.  
  186.    void ClearFormText() {
  187.       if (this.m_cPage != null) {
  188.          String var1 = this.m_cPage.GetComponentString();
  189.          if (var1 == null) {
  190.             return;
  191.          }
  192.  
  193.          StringTokenizer var2 = new StringTokenizer(var1);
  194.          Object var3 = null;
  195.          new String();
  196.  
  197.          while(var2.hasMoreTokens()) {
  198.             String var5 = var2.nextToken();
  199.             Object var4 = this.m_Components.get(var5);
  200.             if (var4 != null && var4 instanceof Component) {
  201.                Component var9 = (Component)var4;
  202.                if (var9 instanceof Checkbox) {
  203.                   ((Checkbox)var9).setState(false);
  204.                } else if (var9 instanceof List) {
  205.                   List var11 = (List)var9;
  206.                   if (var11.allowsMultipleSelections()) {
  207.                      int[] var12 = var11.getSelectedIndexes();
  208.  
  209.                      for(int var8 = 0; var8 < var12.length; ++var8) {
  210.                         var11.deselect(var12[var8]);
  211.                      }
  212.                   } else {
  213.                      int var7 = var11.getSelectedIndex();
  214.                      var11.deselect(var7);
  215.                   }
  216.                } else if (var9 instanceof TextField) {
  217.                   TextField var6 = (TextField)var9;
  218.                   ((TextComponent)var6).setText("");
  219.                } else if (var9 instanceof TextArea) {
  220.                   TextArea var10 = (TextArea)var9;
  221.                   ((TextComponent)var10).setText("");
  222.                }
  223.             }
  224.          }
  225.       }
  226.  
  227.    }
  228.  
  229.    void ReadFormPage(String var1, String var2) {
  230.       if (this.m_cPage != null) {
  231.          String var3 = this.m_cPage.GetComponentString();
  232.          if (var3 == null) {
  233.             return;
  234.          }
  235.  
  236.          StringTokenizer var4 = new StringTokenizer(var3);
  237.          Object var5 = null;
  238.          String var7 = new String();
  239.  
  240.          while(var4.hasMoreTokens()) {
  241.             String var8 = var4.nextToken();
  242.             Object var6 = this.m_Components.get(var8);
  243.             if (var6 != null && var6 instanceof Component) {
  244.                Component var12 = (Component)var6;
  245.                if (!(var12 instanceof Button)) {
  246.                   if (var12 instanceof Checkbox) {
  247.                      Checkbox var18 = (Checkbox)var12;
  248.                      CheckboxGroup var19 = var18.getCheckboxGroup();
  249.                      if (var19 == null) {
  250.                         var7 = var7 + var8 + "=" + var18.getState() + " ";
  251.                      } else if (var18.getState()) {
  252.                         var7 = var7 + var8 + "=" + var18.getState() + " ";
  253.                      }
  254.                   } else if (var12 instanceof List) {
  255.                      List var17 = (List)var12;
  256.                      if (var17.allowsMultipleSelections()) {
  257.                         String[] var10 = var17.getSelectedItems();
  258.                         var7 = var7 + var8 + "=";
  259.  
  260.                         for(int var11 = 0; var11 < var10.length; ++var11) {
  261.                            var7 = var7 + var10[var11];
  262.                            var7 = var7 + " ";
  263.                         }
  264.                      } else {
  265.                         var7 = var7 + var8 + "=";
  266.                         var7 = var7 + var17.getSelectedItem() + " ";
  267.                      }
  268.                   } else if (var12 instanceof Choice) {
  269.                      Choice var9 = (Choice)var12;
  270.                      var7 = var7 + var8 + "=" + var9.getSelectedItem() + " ";
  271.                   } else if (!(var12 instanceof Label)) {
  272.                      if (var12 instanceof TextField) {
  273.                         TextField var15 = (TextField)var12;
  274.                         var7 = var7 + var8 + "=" + ((TextComponent)var15).getText() + " ";
  275.                      } else if (var12 instanceof TextArea) {
  276.                         TextArea var16 = (TextArea)var12;
  277.                         var7 = var7 + var8 + "=" + ((TextComponent)var16).getText() + " ";
  278.                      }
  279.                   }
  280.                }
  281.             }
  282.          }
  283.  
  284.          this.SendOutput(var7, var1, var2);
  285.       }
  286.  
  287.    }
  288.  
  289.    void SendOutput(String var1, String var2, String var3) {
  290.       byte var4 = 0;
  291.       Object var5 = null;
  292.       byte var6 = 25;
  293.       Object var7 = null;
  294.       Object var8 = null;
  295.       new String();
  296.       Container var12 = this.m_Document.m_Applet.getParent();
  297.       Rectangle var11;
  298.       if (var12 != null) {
  299.          var11 = ((Component)var12).bounds();
  300.       } else {
  301.          var11 = new Rectangle();
  302.       }
  303.  
  304.       var11.x = var11.y = 0;
  305.       TextArea var13 = new TextArea("Processing Mail");
  306.       this.m_Panel.add(var13, "MailStatusBox", var11);
  307.       this.m_Panel.SetPage("P" + this.m_Document.m_iCurrPage);
  308.       var13.appendText("\n\nLocating Mail Host");
  309.  
  310.       String var10;
  311.       try {
  312.          URL var14 = this.m_Document.m_Applet.getDocumentBase();
  313.          String var9 = var14.getHost();
  314.          var10 = InetAddress.getLocalHost().getHostName();
  315.          if (var9.length() == 0) {
  316.             this.RemoveComp("MailStatusBox");
  317.             return;
  318.          }
  319.  
  320.          var19 = new Socket(var9, var6);
  321.          if (var19 == null) {
  322.             this.RemoveComp("MailStatusBox");
  323.             return;
  324.          }
  325.  
  326.          var20 = new DataOutputStream(var19.getOutputStream());
  327.          var21 = new DataInputStream(var19.getInputStream());
  328.       } catch (SocketException var16) {
  329.          var13.appendText("\n\nError Locating Mail Host");
  330.          ((Throwable)var16).printStackTrace();
  331.          this.RemoveComp("MailStatusBox");
  332.          return;
  333.       } catch (IOException var17) {
  334.          var13.appendText("\n\nError Locating Mail Host");
  335.          ((Throwable)var17).printStackTrace();
  336.          this.RemoveComp("MailStatusBox");
  337.          return;
  338.       }
  339.  
  340.       try {
  341.          do {
  342.             String var22 = var21.readLine();
  343.             if (var22 == null) {
  344.                var4 = 9;
  345.             } else {
  346.                switch (var4) {
  347.                   case 0:
  348.                      if (this.gotResponse(220, var22, var21)) {
  349.                         var13.appendText("\n\nContacting Mail Host");
  350.                         String var15 = "HELO " + var10;
  351.                         var20.writeBytes(var15);
  352.                         var20.writeByte(10);
  353.                         var4 = 1;
  354.                      } else {
  355.                         var4 = 9;
  356.                         var13.appendText("\n\nError Locating Mail Host");
  357.                      }
  358.                      break;
  359.                   case 1:
  360.                      if (this.gotResponse(250, var22, var21)) {
  361.                         var13.appendText("\n\nSending Local Host Name");
  362.                         var20.writeBytes("MAIL FROM: " + var10);
  363.                         var20.writeByte(10);
  364.                         var4 = 2;
  365.                      } else {
  366.                         var4 = 9;
  367.                         var13.appendText("\n\nError Contacting Mail Host");
  368.                      }
  369.                      break;
  370.                   case 2:
  371.                      if (this.gotResponse(250, var22, var21)) {
  372.                         var13.appendText("\n\nSending Receipient Name");
  373.                         var20.writeBytes("RCPT TO:<" + var2 + ">");
  374.                         var20.writeByte(10);
  375.                         var4 = 3;
  376.                      } else {
  377.                         var4 = 9;
  378.                         var13.appendText("\n\nError Sending Local Host Name");
  379.                      }
  380.                      break;
  381.                   case 3:
  382.                      if (this.gotResponse(250, var22, var21)) {
  383.                         var13.appendText("\n\nSending Screen Data");
  384.                         var20.writeBytes("DATA");
  385.                         var20.writeByte(10);
  386.                         var4 = 4;
  387.                      } else {
  388.                         var4 = 9;
  389.                         var13.appendText("\n\nError Sending Receipient Name");
  390.                      }
  391.                      break;
  392.                   case 4:
  393.                      if (this.gotResponse(354, var22, var21)) {
  394.                         var13.appendText("\n\nSending Subject Data");
  395.                         var20.writeBytes(var3);
  396.                         var20.writeByte(10);
  397.                         var20.writeBytes("");
  398.                         var20.writeByte(10);
  399.                         var20.writeBytes(var1);
  400.                         var20.writeByte(10);
  401.                         var20.writeBytes(".");
  402.                         var20.writeByte(10);
  403.                         var4 = 5;
  404.                      } else {
  405.                         var4 = 9;
  406.                         var13.appendText("\n\nError Sending Screen Data");
  407.                      }
  408.                      break;
  409.                   case 5:
  410.                      if (this.gotResponse(250, var22, var21)) {
  411.                         var13.appendText("\n\nEnding Send Request");
  412.                         var20.writeBytes("QUIT");
  413.                         var20.writeByte(10);
  414.                         this.printString(225, ">>>QUIT");
  415.                         var4 = 6;
  416.                      } else {
  417.                         var4 = 9;
  418.                         var13.appendText("\n\nError Sending Subject Data");
  419.                      }
  420.                      break;
  421.                   case 6:
  422.                      var4 = 9;
  423.                }
  424.             }
  425.          } while(var4 != 9);
  426.       } catch (IOException var18) {
  427.       }
  428.  
  429.       this.shutdown(var19);
  430.       this.RemoveComp("MailStatusBox");
  431.       this.m_Panel.ReDrawPage("P" + this.m_Document.m_iCurrPage);
  432.    }
  433.  
  434.    boolean gotResponse(int var1, String var2, DataInputStream var3) {
  435.       try {
  436.          int var4 = Integer.valueOf(var2.trim().substring(0, 3));
  437.  
  438.          for(String var5 = var2; var5.charAt(3) == '-'; var5 = var3.readLine()) {
  439.          }
  440.  
  441.          if (var4 == var1) {
  442.             return true;
  443.          }
  444.       } catch (NumberFormatException var6) {
  445.       } catch (IOException var7) {
  446.       }
  447.  
  448.       return false;
  449.    }
  450.  
  451.    void printString(int var1, String var2) {
  452.    }
  453.  
  454.    void shutdown(Socket var1) {
  455.       try {
  456.          var1.close();
  457.       } catch (IOException var2) {
  458.       }
  459.    }
  460.  
  461.    public void PopUpFootnote(String var1) {
  462.       String var2 = this.m_Document.m_Applet.getParameter(var1);
  463.       if (var2 != null) {
  464.          StringTokenizer var3 = new StringTokenizer(var2);
  465.          int var4 = Integer.valueOf(var3.nextToken());
  466.          int var5 = Integer.valueOf(var3.nextToken());
  467.          int var6 = Integer.valueOf(var3.nextToken());
  468.          int var7 = Integer.valueOf(var3.nextToken());
  469.          Color var8 = new Color(Integer.valueOf(var3.nextToken(), 16));
  470.          Color var9 = new Color(Integer.valueOf(var3.nextToken(), 16));
  471.          String var10 = var3.nextToken();
  472.          int var11 = Integer.valueOf(var3.nextToken()) == 1 ? 1 : 0;
  473.          if (Integer.valueOf(var3.nextToken()) == 1) {
  474.             var11 |= 2;
  475.          }
  476.  
  477.          int var12 = Integer.valueOf(var3.nextToken());
  478.          String var13 = var3.nextToken();
  479.          if (this.m_Document.m_PopUp != null) {
  480.             this.m_Document.m_PopUp.dispose();
  481.          }
  482.  
  483.          this.m_Document.m_PopUp = new Note(this.m_Document.m_Applet.getParameter(var13), var4, var5, var6, var7, var8, var9, new Font(var10, var11, var12));
  484.          this.m_Document.m_PopUp.show();
  485.       }
  486.  
  487.    }
  488.  
  489.    public void ShowComponent(String var1, boolean var2) {
  490.       Component var3 = this.m_Panel.GetComponent(var1);
  491.       if (var3 != null) {
  492.          if (var3 instanceof Applet) {
  493.             if (var2) {
  494.                var3.show();
  495.                ((Applet)var3).start();
  496.                return;
  497.             }
  498.  
  499.             ((Applet)var3).stop();
  500.             var3.hide();
  501.             return;
  502.          }
  503.  
  504.          if (var2) {
  505.             var3.show();
  506.             return;
  507.          }
  508.  
  509.          var3.hide();
  510.       }
  511.  
  512.    }
  513.  
  514.    public Component LoadComponent(String var1, String var2) {
  515.       Object var3 = null;
  516.       if (var2 != null) {
  517.          StringTokenizer var4 = new StringTokenizer(var2, ",");
  518.          int var5 = Integer.valueOf(var4.nextToken());
  519.          Rectangle var6 = new Rectangle();
  520.          var6.x = Integer.valueOf(var4.nextToken());
  521.          var6.y = Integer.valueOf(var4.nextToken());
  522.          var6.width = Integer.valueOf(var4.nextToken());
  523.          var6.height = Integer.valueOf(var4.nextToken());
  524.          Integer.valueOf(var4.nextToken(), 16);
  525.          Integer.valueOf(var4.nextToken(), 16);
  526.          int var7 = Integer.valueOf("FFFFFF", 16);
  527.          switch (var5) {
  528.             case 1:
  529.                Label var33 = new Label(var4.nextToken());
  530.                var3 = var33;
  531.                this.m_Panel.add(var33, var1, var6);
  532.                break;
  533.             case 2:
  534.                String var32 = new String(var4.nextToken());
  535.                String var43 = this.m_Document.m_Applet.getParameter(var1 + "A");
  536.                ActionButton var47 = new ActionButton(var32, var43);
  537.                if (var43 != null) {
  538.                   StringTokenizer var50 = new StringTokenizer(var43);
  539.                   int var51 = Integer.valueOf(var50.nextToken());
  540.                   if (var51 == 10) {
  541.                      var50.nextToken();
  542.                      var50.nextToken();
  543.                      String var52 = var50.nextToken("?");
  544.                      if (var52 != null) {
  545.                         if (this.m_Document.m_PageDirName != null) {
  546.                            var47.m_sndObj = this.m_Document.m_Applet.getAudioClip(this.m_Document.m_Applet.getDocumentBase(), this.m_Document.m_PageDirName + "/" + var52);
  547.                         } else {
  548.                            var47.m_sndObj = this.m_Document.m_Applet.getAudioClip(this.m_Document.m_Applet.getDocumentBase(), var52);
  549.                         }
  550.                      }
  551.                   }
  552.                }
  553.  
  554.                var3 = var47;
  555.                this.m_Panel.add(var47, var1, var6);
  556.                break;
  557.             case 3:
  558.                TextField var31;
  559.                if (var4.hasMoreTokens()) {
  560.                   var31 = new TextField(var4.nextToken(), var6.width);
  561.                } else {
  562.                   var31 = new TextField(var6.width);
  563.                }
  564.  
  565.                ((Component)var31).setBackground(new Color(var7));
  566.                var3 = var31;
  567.                this.m_Panel.add(var31, var1, var6);
  568.                break;
  569.             case 4:
  570.                int var30 = Integer.valueOf(var4.nextToken());
  571.                Checkbox var42 = new Checkbox(var4.nextToken());
  572.                var3 = var42;
  573.                var42.setState(var30 != 0);
  574.                this.m_Panel.add(var42, var1, var6);
  575.                break;
  576.             case 5:
  577.                int var29 = Integer.valueOf(var4.nextToken());
  578.                String var41 = var4.nextToken();
  579.                Checkbox var46 = new Checkbox(var4.nextToken());
  580.                var3 = var46;
  581.                CheckboxGroup var49 = (CheckboxGroup)VPanel.m_Components.get(var41);
  582.                if (var49 == null) {
  583.                   var49 = new CheckboxGroup();
  584.                   VPanel.m_Components.put(var41, var49);
  585.                }
  586.  
  587.                var46.setCheckboxGroup(var49);
  588.                var46.setState(var29 != 0);
  589.                if (var29 == 1) {
  590.                   var49.setCurrent(var46);
  591.                }
  592.  
  593.                this.m_Panel.add(var46, var1, var6);
  594.                break;
  595.             case 6:
  596.                int var28 = Integer.valueOf(var4.nextToken());
  597.                Choice var40 = new Choice();
  598.                var3 = var40;
  599.  
  600.                while(var4.hasMoreTokens()) {
  601.                   var40.addItem(var4.nextToken());
  602.                }
  603.  
  604.                var40.select(var28);
  605.                this.m_Panel.add(var40, var1, var6);
  606.                break;
  607.             case 7:
  608.                int var27 = Integer.valueOf(var4.nextToken());
  609.                int var39 = Integer.valueOf(var4.nextToken());
  610.                int var45 = Integer.valueOf(var4.nextToken());
  611.                List var48 = new List(var27, var39 == 1);
  612.                ((Component)var48).setBackground(new Color(var7));
  613.                var3 = var48;
  614.  
  615.                while(var4.hasMoreTokens()) {
  616.                   var48.addItem(var4.nextToken());
  617.                }
  618.  
  619.                var48.select(var45);
  620.                this.m_Panel.add(var48, var1, var6);
  621.                break;
  622.             case 8:
  623.                int var38 = Integer.valueOf(var4.nextToken());
  624.                int var44 = Integer.valueOf(var4.nextToken());
  625.                TextArea var26;
  626.                if (var4.hasMoreTokens()) {
  627.                   var26 = new TextArea(var4.nextToken(), var38, var44);
  628.                } else {
  629.                   var26 = new TextArea(var38, var44);
  630.                }
  631.  
  632.                ((Component)var26).setBackground(new Color(var7));
  633.                var3 = var26;
  634.                this.m_Panel.add(var26, var1, var6);
  635.             case 9:
  636.             default:
  637.                break;
  638.             case 10:
  639.                String var25 = var4.nextToken();
  640.                String var37 = null;
  641.                String var10 = null;
  642.                String var11 = null;
  643.                String var12 = null;
  644.                if (var4.hasMoreTokens()) {
  645.                   var37 = var4.nextToken();
  646.                }
  647.  
  648.                if (var4.hasMoreTokens()) {
  649.                   var10 = var4.nextToken();
  650.                }
  651.  
  652.                if (var4.hasMoreTokens()) {
  653.                   var11 = var4.nextToken();
  654.                }
  655.  
  656.                if (var4.hasMoreTokens()) {
  657.                   var12 = var4.nextToken();
  658.                }
  659.  
  660.                String var13 = this.m_Document.m_Applet.getParameter(var1 + "A");
  661.                ImageBtn var14 = new ImageBtn(var13, var25, var37, var10, var11, var12, this.m_Document.m_Applet);
  662.                if (var13 != null) {
  663.                   StringTokenizer var15 = new StringTokenizer(var13);
  664.                   int var16 = Integer.valueOf(var15.nextToken());
  665.                   if (var16 == 10) {
  666.                      var15.nextToken();
  667.                      var15.nextToken();
  668.                      String var17 = var15.nextToken("?");
  669.                      if (var17 != null) {
  670.                         if (this.m_Document.m_PageDirName != null) {
  671.                            var14.m_sndObj = this.m_Document.m_Applet.getAudioClip(this.m_Document.m_Applet.getDocumentBase(), this.m_Document.m_PageDirName + "/" + var17);
  672.                         } else {
  673.                            var14.m_sndObj = this.m_Document.m_Applet.getAudioClip(this.m_Document.m_Applet.getDocumentBase(), var17);
  674.                         }
  675.                      }
  676.                   }
  677.                }
  678.  
  679.                var3 = var14;
  680.                this.m_Panel.add(var14, var1, var6);
  681.                break;
  682.             case 11:
  683.                Object var35 = null;
  684.  
  685.                try {
  686.                   var36 = Class.forName(var4.nextToken());
  687.                } catch (ClassNotFoundException var23) {
  688.                   return null;
  689.                }
  690.  
  691.                try {
  692.                   animator var24 = (animator)var36.newInstance();
  693.                   ((Applet)var24).setStub(this.m_Document.m_Applet);
  694.                   var24.SetName(var1);
  695.                   ((Component)var24).reshape(var6.x, var6.y, var6.width, var6.height);
  696.                   this.m_Panel.add(var24, var1, var6);
  697.                   var24.init();
  698.                   var24.start();
  699.                   ((Component)var24).repaint();
  700.                } catch (InstantiationException var21) {
  701.                } catch (IllegalAccessException var22) {
  702.                }
  703.                break;
  704.             case 12:
  705.                Object var9 = null;
  706.  
  707.                try {
  708.                   var34 = Class.forName(var4.nextToken());
  709.                } catch (ClassNotFoundException var20) {
  710.                   return null;
  711.                }
  712.  
  713.                try {
  714.                   GIFAnimator var8 = (GIFAnimator)var34.newInstance();
  715.                   ((Applet)var8).setStub(this.m_Document.m_Applet);
  716.                   var8.SetName(var1);
  717.                   ((Component)var8).reshape(var6.x, var6.y, var6.width, var6.height);
  718.                   this.m_Panel.add(var8, var1, var6);
  719.                   var8.init();
  720.                   var8.start();
  721.                   ((Component)var8).repaint();
  722.                } catch (InstantiationException var18) {
  723.                } catch (IllegalAccessException var19) {
  724.                }
  725.          }
  726.       }
  727.  
  728.       return (Component)var3;
  729.    }
  730.  
  731.    void RemoveComp(String var1) {
  732.       Object var3 = null;
  733.       Object var2 = VPanel.m_Components.get(var1);
  734.       if (var2 != null && var2 instanceof Component) {
  735.          Component var5 = (Component)var2;
  736.          if (var5 instanceof Applet) {
  737.             Applet var4 = (Applet)var5;
  738.             var4.stop();
  739.             var4.destroy();
  740.          }
  741.  
  742.          VPanel.m_Components.remove(var1);
  743.          this.m_Panel.remove(var5);
  744.       }
  745.  
  746.    }
  747.  
  748.    void RemoveComponents() {
  749.       if (VPanel.m_Components != null && this.m_cPage != null) {
  750.          String var2 = this.m_cPage.GetComponentString();
  751.          if (var2 == null) {
  752.             return;
  753.          }
  754.  
  755.          StringTokenizer var3 = new StringTokenizer(var2);
  756.  
  757.          while(var3.hasMoreTokens()) {
  758.             String var1 = var3.nextToken();
  759.             this.RemoveComp(var1);
  760.          }
  761.       }
  762.  
  763.    }
  764. }
  765.