home *** CD-ROM | disk | FTP | other *** search
/ Computer Shopper 183 / dpcs0503.iso / Netfusion / data1.cab / Components / DynaButtons / DynaButtons.jar / DynaButtonsComp / DynaButtonsComp.class (.txt) < prev   
Encoding:
Java Class File  |  1998-11-11  |  9.9 KB  |  598 lines

  1. package DynaButtonsComp;
  2.  
  3. import com.netobjects.nfc.api.CStringArray;
  4. import com.netobjects.nfc.api.ComponentApp;
  5. import com.netobjects.nfc.api.DAssetManager;
  6. import com.netobjects.nfc.api.DDrawJava;
  7. import com.netobjects.nfc.api.DFont;
  8. import com.netobjects.nfc.api.DLayout;
  9. import com.netobjects.nfc.api.DRect;
  10. import com.netobjects.nfc.api.DSite;
  11. import com.netobjects.nfc.api.DSize;
  12. import com.netobjects.nfc.api.DStyle;
  13. import com.netobjects.nfc.api.IDInspector;
  14.  
  15. public class DynaButtonsComp extends ComponentApp {
  16.    int backgroundStyle = 0;
  17.    DAssetManager assMan = null;
  18.    int upID = 0;
  19.    int downID = 0;
  20.    int backID = 0;
  21.    String Orientation = "";
  22.    String ButtonImage = "";
  23.    String HighliteImage = "";
  24.    String paramButtonImage = "";
  25.    String paramHighliteImage = "";
  26.    int backgroundColor = 0;
  27.    String backgroundImage = "";
  28.    String paramBackgroundImage = "";
  29.    int textJustification = 0;
  30.    int textAlignment = 0;
  31.    int fontColor = 0;
  32.    int highliteFontColor = 0;
  33.    String buttonFont = "";
  34.    boolean italic = false;
  35.    boolean bold = false;
  36.    int fontSize = 0;
  37.    ButtonObject buttonList = null;
  38.    DDrawJava theJavaApplet = null;
  39.    String compImage = "";
  40.    int imgX = 0;
  41.    int imgY = 0;
  42.    String indent = "    ";
  43.    // $FF: renamed from: cb java.lang.String
  44.    String field_0;
  45.  
  46.    private void debug(String var1) {
  47.    }
  48.  
  49.    protected void onFinalize() {
  50.       this.RemoveAssets();
  51.       ButtonObject var1 = this.buttonList.getNext();
  52.  
  53.       for(int var2 = 1; var1 != null; ++var2) {
  54.          this.RemoveOneAsset(var1.getID());
  55.          if (var1.getSubButtonsExist()) {
  56.             ButtonObject var3 = var1.getSubButtons().getNext();
  57.  
  58.             for(int var4 = 1; var3 != null; ++var4) {
  59.                this.RemoveOneAsset(var3.getID());
  60.                var3 = var3.getNext();
  61.             }
  62.          }
  63.  
  64.          var1 = var1.getNext();
  65.       }
  66.  
  67.    }
  68.  
  69.    void SetPropertyValues() {
  70.       this.theJavaApplet.ResetParams();
  71.       this.theJavaApplet.setHTMLBetween("ARCHIVE=DynaButtons.zip");
  72.       this.theJavaApplet.AddParam("Orientation", "String", this.Orientation);
  73.       this.theJavaApplet.AddParam("ButtonImage", "String", this.paramButtonImage);
  74.       this.theJavaApplet.AddParam("HighliteImage", "String", this.paramHighliteImage);
  75.       this.theJavaApplet.AddParam("TextJustification", "String", Integer.toString(this.textJustification));
  76.       this.theJavaApplet.AddParam("TextAlignment", "String", Integer.toString(this.textAlignment));
  77.       this.theJavaApplet.AddParam("ButtonFont", "String", this.buttonFont);
  78.       this.theJavaApplet.AddParam("FontSize", "String", Integer.toString(this.fontSize));
  79.       this.theJavaApplet.AddParam("FontColor", "String", Integer.toString(this.fontColor));
  80.       this.theJavaApplet.AddParam("HighliteFontColor", "String", Integer.toString(this.highliteFontColor));
  81.       if (this.bold) {
  82.          this.theJavaApplet.AddParam("Bold", "String", "True");
  83.       }
  84.  
  85.       if (this.italic) {
  86.          this.theJavaApplet.AddParam("Italic", "String", "True");
  87.       }
  88.  
  89.       if (this.backgroundStyle == 1) {
  90.          this.theJavaApplet.AddParam("BackgroundColor", "String", Integer.toString(this.backgroundColor));
  91.       } else if (this.backgroundStyle == 2) {
  92.          this.theJavaApplet.AddParam("BackgroundImage", "String", this.paramBackgroundImage);
  93.       }
  94.  
  95.       ButtonObject var1 = this.buttonList.getNext();
  96.  
  97.       for(int var2 = 0; var1 != null; ++var2) {
  98.          if (var1.getSubButtonsExist()) {
  99.             if (var1.getText().compareTo("") == 0) {
  100.                this.theJavaApplet.AddParam("ButtonText" + var2, "String", " ");
  101.             } else {
  102.                this.theJavaApplet.AddParam("ButtonText" + var2, "String", var1.getText());
  103.             }
  104.  
  105.             ButtonObject var5 = var1.getSubButtons().getNext();
  106.  
  107.             for(int var4 = 0; var5 != null; ++var4) {
  108.                if (var5.getText().compareTo("") == 0) {
  109.                   this.theJavaApplet.AddParam("ButtonText" + var2 + "_" + var4, "String", " ");
  110.                   this.theJavaApplet.AddParam("URL" + var2 + "_" + var4, "String", " ");
  111.                   this.theJavaApplet.AddParam("Target" + var2 + "_" + var4, "String", " ");
  112.                } else {
  113.                   this.theJavaApplet.AddParam("ButtonText" + var2 + "_" + var4, "String", var5.getText());
  114.                   this.theJavaApplet.AddParam("URL" + var2 + "_" + var4, "String", var5.getURL());
  115.                   this.theJavaApplet.AddParam("Target" + var2 + "_" + var4, "String", var5.getTarget());
  116.                }
  117.  
  118.                var5 = var5.getNext();
  119.             }
  120.          } else {
  121.             if (var1.getText().compareTo("") == 0) {
  122.                this.theJavaApplet.AddParam("ButtonText" + var2, "String", " ");
  123.             } else {
  124.                String var3 = this.assMan.GetAssetName(Integer.parseInt(var1.getID(), 10));
  125.                this.theJavaApplet.AddParam("ButtonText" + var2, "String", var3);
  126.             }
  127.  
  128.             this.theJavaApplet.AddParam("URL" + var2, "String", var1.getURL());
  129.             this.theJavaApplet.AddParam("Target" + var2, "String", var1.getTarget());
  130.          }
  131.  
  132.          var1 = var1.getNext();
  133.       }
  134.  
  135.    }
  136.  
  137.    protected void CopyOneAsset(String var1) {
  138.       int var2 = Integer.parseInt(var1, 10);
  139.       if (var2 != 0) {
  140.          this.assMan.CopyAsset(var2);
  141.       }
  142.  
  143.    }
  144.  
  145.    private int countButtons(ButtonObject var1) {
  146.       int var2 = 0;
  147.  
  148.       for(ButtonObject var3 = var1.getNext(); var3 != null; var3 = var3.getNext()) {
  149.          ++var2;
  150.       }
  151.  
  152.       return var2;
  153.    }
  154.  
  155.    private void modifyNumButtons(int var1, ButtonObject var2) {
  156.       int var3 = this.countButtons(var2);
  157.       if (var1 < var3) {
  158.          for(int var4 = 0; var4 < var1; ++var4) {
  159.             var2 = var2.getNext();
  160.          }
  161.  
  162.          var2.setNext((ButtonObject)null);
  163.       } else if (var1 > var3) {
  164.          for(int var5 = 0; var5 < var1; ++var5) {
  165.             if (var2.getNext() == null) {
  166.                var2.setNext(new ButtonObject());
  167.             }
  168.  
  169.             var2 = var2.getNext();
  170.          }
  171.       }
  172.  
  173.    }
  174.  
  175.    public void onCopy() {
  176.       this.debug("in onCopy()");
  177.       this.Orientation = new String(this.Orientation);
  178.       this.ButtonImage = new String(this.ButtonImage);
  179.       this.HighliteImage = new String(this.HighliteImage);
  180.       this.paramButtonImage = new String(this.paramButtonImage);
  181.       this.paramHighliteImage = new String(this.paramHighliteImage);
  182.       this.backgroundImage = new String(this.backgroundImage);
  183.       this.buttonFont = new String(this.buttonFont);
  184.       this.compImage = new String(this.compImage);
  185.       this.indent = new String(this.indent);
  186.       this.assMan.CopyAsset(this.upID);
  187.       this.assMan.CopyAsset(this.downID);
  188.       ButtonObject var1 = new ButtonObject();
  189.       ButtonObject var2 = var1;
  190.       this.debug("<copy> length of original: " + this.countButtons(this.buttonList));
  191.       ButtonObject var3 = this.buttonList.getNext();
  192.       this.debug("about to copy list");
  193.  
  194.       for(int var4 = 1; var3 != null; ++var4) {
  195.          this.debug("in copy list");
  196.          var2.setNext(new ButtonObject());
  197.          var2 = var2.getNext();
  198.          this.CopyOneAsset(var3.getID());
  199.          var2.setID(var3.getID());
  200.          var2.setText(var3.getText());
  201.          var2.setURL(var3.getURL());
  202.          this.debug("copied: " + var4);
  203.          if (var3.getSubButtonsExist()) {
  204.             var2.setSubButtonsExist(true);
  205.             ButtonObject var5 = var3.getSubButtons().getNext();
  206.             ButtonObject var6 = var2.getSubButtons();
  207.  
  208.             for(int var7 = 1; var5 != null; ++var7) {
  209.                var6.setNext(new ButtonObject());
  210.                var6 = var6.getNext();
  211.                this.CopyOneAsset(var5.getID());
  212.                var6.setID(var5.getID());
  213.                var6.setText(var5.getText());
  214.                var6.setURL(var5.getURL());
  215.                var5 = var5.getNext();
  216.             }
  217.          }
  218.  
  219.          var3 = var3.getNext();
  220.       }
  221.  
  222.       this.buttonList = var1;
  223.    }
  224.  
  225.    public String onInstall(DAssetManager var1, String var2) {
  226.       this.assMan = var1;
  227.       this.compImage = var2 + "DYNBUTTON.gif";
  228.       return "DynaButtons";
  229.    }
  230.  
  231.    public void onPublish(DAssetManager var1, int var2) {
  232.       this.updateSiteLook(var2);
  233.       this.setAllUrls(var2);
  234.       if (var2 == 1) {
  235.          this.paramButtonImage = this.ButtonImage;
  236.          this.paramHighliteImage = this.HighliteImage;
  237.          this.paramBackgroundImage = this.backgroundImage;
  238.       } else {
  239.          this.paramButtonImage = this.ButtonImage;
  240.          this.paramHighliteImage = this.HighliteImage;
  241.          this.paramBackgroundImage = this.backgroundImage;
  242.       }
  243.  
  244.       this.SetPropertyValues();
  245.       DRect var3 = this.theJavaApplet.getObjectRect();
  246.       this.theJavaApplet.AddParam("X Position", "String", Integer.toString(var3.getLeft()));
  247.       this.theJavaApplet.AddParam("Y Position", "String", Integer.toString(var3.getTop() + 7));
  248.    }
  249.  
  250.    public String PropertyListener(String var1, String var2, int var3, int var4, IDInspector var5) {
  251.       if (var3 == 1) {
  252.          if (var1.compareTo("Orientation") == 0) {
  253.             if (this.Orientation.compareTo("Horizontal") == 0) {
  254.                return "0";
  255.             }
  256.  
  257.             return "1";
  258.          }
  259.  
  260.          if (var1.compareTo("Number of Buttons") == 0) {
  261.             return Integer.toString(this.countButtons(this.buttonList));
  262.          }
  263.  
  264.          ButtonObject var6 = this.buttonList.getNext();
  265.  
  266.          for(int var7 = 1; var6 != null; ++var7) {
  267.             if (var1.compareTo("Use Sub-Buttons " + var7) == 0) {
  268.                if (var6.getSubButtonsExist()) {
  269.                   return "0";
  270.                }
  271.  
  272.                return "1";
  273.             }
  274.  
  275.             if (var1.compareTo("Button " + var7) == 0) {
  276.                if (var6.getSubButtonsExist()) {
  277.                   return var6.getText();
  278.                }
  279.  
  280.                return var6.getID();
  281.             }
  282.  
  283.             ButtonObject var8 = var6.getSubButtons();
  284.             if (var1.compareTo("Number Sub-Buttons " + var7) == 0) {
  285.                return Integer.toString(this.countButtons(var8));
  286.             }
  287.  
  288.             var8 = var8.getNext();
  289.  
  290.             for(int var9 = 1; var8 != null; ++var9) {
  291.                if (var1.compareTo(this.indent + "Sub-Button " + var7 + "," + var9) == 0) {
  292.                   return var8.getID();
  293.                }
  294.  
  295.                var8 = var8.getNext();
  296.             }
  297.  
  298.             var6 = var6.getNext();
  299.          }
  300.       } else {
  301.          if (var1.compareTo("Orientation") == 0) {
  302.             if (var2.compareTo("0") == 0) {
  303.                this.Orientation = "Horizontal";
  304.             } else {
  305.                this.Orientation = "Vertical";
  306.             }
  307.  
  308.             this.debug("\r\nrandom:");
  309.             this.checkList(this.buttonList);
  310.             this.modifyImageSize();
  311.          } else if (var1.compareTo("Number of Buttons") == 0) {
  312.             int var11 = Integer.parseInt(var2, 10);
  313.             if (var11 > 20) {
  314.                var11 = 20;
  315.             }
  316.  
  317.             this.modifyNumButtons(var11, this.buttonList);
  318.             this.modifyImageSize();
  319.          } else {
  320.             ButtonObject var10 = this.buttonList.getNext();
  321.  
  322.             for(int var12 = 1; var10 != null; ++var12) {
  323.                if (var1.compareTo("Button " + var12) == 0) {
  324.                   if (var10.getSubButtonsExist()) {
  325.                      var10.setText(var2);
  326.                   } else {
  327.                      var10.setID(var2);
  328.                      var10.setText(this.assMan.GetAssetName(Integer.parseInt(var2, 10)));
  329.                   }
  330.                } else if (var1.compareTo("Use Sub-Buttons " + var12) == 0) {
  331.                   if (var2.compareTo("0") == 0) {
  332.                      var10.setSubButtonsExist(true);
  333.                      if (var5 != null) {
  334.                         var5.OnPropertyChanged(-1);
  335.                      }
  336.                   } else {
  337.                      var10.setSubButtonsExist(false);
  338.                      if (var5 != null) {
  339.                         var5.OnPropertyChanged(-1);
  340.                      }
  341.                   }
  342.  
  343.                   this.modifyImageSize();
  344.                } else if (var1.compareTo("Number Sub-Buttons " + var12) == 0) {
  345.                   int var15 = Integer.parseInt(var2, 10);
  346.                   if (var15 > 20) {
  347.                      var15 = 20;
  348.                   }
  349.  
  350.                   this.modifyNumButtons(var15, var10.getSubButtons());
  351.                   this.modifyImageSize();
  352.                } else {
  353.                   ButtonObject var14 = var10.getSubButtons().getNext();
  354.  
  355.                   for(int var16 = 1; var14 != null; ++var16) {
  356.                      if (var1.compareTo(this.indent + "Sub-Button " + var12 + "," + var16) == 0) {
  357.                         var14.setID(var2);
  358.                         var14.setText(this.assMan.GetAssetName(Integer.parseInt(var2, 10)));
  359.                      }
  360.  
  361.                      var14 = var14.getNext();
  362.                   }
  363.                }
  364.  
  365.                var10 = var10.getNext();
  366.             }
  367.          }
  368.  
  369.          this.SetPropertyValues();
  370.       }
  371.  
  372.       return "";
  373.    }
  374.  
  375.    protected void RemoveOneAsset(String var1) {
  376.       int var2 = Integer.parseInt(var1, 10);
  377.       if (var2 != 0) {
  378.          this.assMan.RemoveAsset(var2);
  379.       }
  380.  
  381.    }
  382.  
  383.    public void onInspect(CStringArray var1, CStringArray var2) {
  384.       var1.Set("Orientation");
  385.       var2.Set("Set(Horizontal|Vertical)");
  386.       var1.Set("Number of Buttons");
  387.       var2.Set("Collection");
  388.       ButtonObject var3 = this.buttonList.getNext();
  389.  
  390.       for(int var4 = 1; var3 != null; ++var4) {
  391.          if (var3.getSubButtonsExist()) {
  392.             var1.Set("Button " + var4);
  393.             var2.Set("String");
  394.             var1.Set("Use Sub-Buttons " + var4);
  395.             var2.Set("Set(Yes|No)");
  396.             var1.Set("Number Sub-Buttons " + var4);
  397.             var2.Set("Collection");
  398.             ButtonObject var5 = var3.getSubButtons().getNext();
  399.  
  400.             for(int var6 = 1; var5 != null; ++var6) {
  401.                var1.Set(this.indent + "Sub-Button " + var4 + "," + var6);
  402.                var2.Set("Link");
  403.                var5 = var5.getNext();
  404.             }
  405.          } else {
  406.             var1.Set("Button " + var4);
  407.             var2.Set("Link");
  408.             var1.Set("Use Sub-Buttons " + var4);
  409.             var2.Set("Set(Yes|No)");
  410.          }
  411.  
  412.          var3 = var3.getNext();
  413.       }
  414.  
  415.    }
  416.  
  417.    private void updateSiteLook(int var1) {
  418.       DLayout var2 = this.theJavaApplet.getLayout();
  419.       DSite var3 = var2.getSite();
  420.       DStyle var4 = var3.getCurrentStyle();
  421.       this.RemoveAssets();
  422.       this.backgroundStyle = var2.getBackgroundStyle();
  423.       if (this.backgroundStyle != 0) {
  424.          if (this.backgroundStyle == 1) {
  425.             this.backgroundColor = var2.getBackgroundColor();
  426.          } else if (this.backgroundStyle == 2) {
  427.             this.backID = this.assMan.AddAsset(var2.getBackgroundImage(), "Image", "");
  428.             this.backgroundImage = this.assMan.GetAssetRelativeLocation(this.backID, var1, 1);
  429.          }
  430.       } else {
  431.          this.backgroundStyle = var4.getBackgroundStyle();
  432.          if (this.backgroundStyle == 1) {
  433.             this.backgroundColor = var4.getBackgroundColor();
  434.          } else if (this.backgroundStyle == 2) {
  435.             this.backID = this.assMan.AddAsset(var4.getBackgroundImage(), "Image", "DynaButtons");
  436.             this.backgroundImage = this.assMan.GetAssetRelativeLocation(this.backID, var1, 1);
  437.          }
  438.       }
  439.  
  440.       this.textJustification = 5;
  441.       this.textAlignment = var4.getButtonTextAlign();
  442.       this.fontColor = var4.getButtonFontColor();
  443.       this.highliteFontColor = var4.getButtonDownFontColor();
  444.       DFont var5 = var4.getButtonFont();
  445.       this.buttonFont = var5.getName();
  446.       this.fontSize = var5.getPoint();
  447.       this.bold = var5.getBold();
  448.       this.italic = var5.getItalic();
  449.       String var6 = var4.getButtonUpImage();
  450.       if (var6 == null || var6.compareTo("") == 0) {
  451.          var6 = this.field_0 + "transButton.gif";
  452.       }
  453.  
  454.       String var7 = var4.getButtonDownImage();
  455.       if (var7 == null || var7.compareTo("") == 0) {
  456.          var7 = this.field_0 + "transButton.gif";
  457.       }
  458.  
  459.       this.upID = this.assMan.AddAsset(var6, "Image", "DynaButtons");
  460.       this.downID = this.assMan.AddAsset(var7, "Image", "DynaButtons");
  461.       this.ButtonImage = this.assMan.GetAssetRelativeLocation(this.upID, var1, 1);
  462.       this.HighliteImage = this.assMan.GetAssetRelativeLocation(this.downID, var1, 1);
  463.       DSize var8 = var4.getButtonSize();
  464.       if (var8 != null) {
  465.          this.imgX = var8.getWidth();
  466.          this.imgY = var8.getHeight();
  467.       } else {
  468.          this.imgX = 100;
  469.          this.imgY = 35;
  470.       }
  471.  
  472.       this.modifyImageSize();
  473.    }
  474.  
  475.    protected void RemoveAssets() {
  476.       if (this.upID != 0) {
  477.          this.assMan.RemoveAsset(this.upID);
  478.          this.assMan.RemoveAsset(this.downID);
  479.       }
  480.  
  481.       if (this.backID != 0) {
  482.          this.assMan.RemoveAsset(this.backID);
  483.       }
  484.  
  485.    }
  486.  
  487.    private void setAllUrls(int var1) {
  488.       ButtonObject var2 = this.buttonList.getNext();
  489.  
  490.       for(int var3 = 1; var2 != null; ++var3) {
  491.          int var4 = Integer.parseInt(var2.getID(), 10);
  492.          String var5 = this.assMan.GetAssetRelativeLocation(var4, var1, 1);
  493.          String var6 = this.assMan.GetTargetFromLink(var4);
  494.          var2.setURL(var5);
  495.          var2.setTarget(var6);
  496.          if (var2.getSubButtonsExist()) {
  497.             ButtonObject var7 = var2.getSubButtons().getNext();
  498.  
  499.             for(int var8 = 1; var7 != null; ++var8) {
  500.                int var9 = Integer.parseInt(var7.getID(), 10);
  501.                String var10 = this.assMan.GetAssetRelativeLocation(var9, var1, 1);
  502.                String var11 = this.assMan.GetTargetFromLink(var9);
  503.                var7.setURL(var10);
  504.                var7.setTarget(var11);
  505.                var7 = var7.getNext();
  506.             }
  507.          }
  508.  
  509.          var2 = var2.getNext();
  510.       }
  511.  
  512.    }
  513.  
  514.    public void onDrop(DLayout var1, DRect var2, int var3) {
  515.       if (var3 == 1) {
  516.          this.theJavaApplet = new DDrawJava();
  517.          this.field_0 = this.theJavaApplet.getCodeBase();
  518.          this.compImage = this.field_0 + "DYNBUTTON.gif";
  519.          this.theJavaApplet.SetStyle(1, 1);
  520.          this.theJavaApplet.setStretch(2);
  521.          this.buttonList = new ButtonObject();
  522.          this.buttonList.setNext(new ButtonObject());
  523.          this.theJavaApplet.setImageFile(this.compImage);
  524.          this.theJavaApplet.setUsePictureText(true);
  525.          this.theJavaApplet.setPictureText("DynaButtons");
  526.          DSite var4 = var1.getSite();
  527.          DStyle var5 = var4.getCurrentStyle();
  528.          DSize var6 = var5.getButtonSize();
  529.          int var7;
  530.          int var8;
  531.          if (var6 != null) {
  532.             var7 = var6.getWidth();
  533.             var8 = var6.getHeight();
  534.          } else {
  535.             var7 = 100;
  536.             var8 = 35;
  537.          }
  538.  
  539.          this.theJavaApplet.SetPositionRect(var2.getLeft(), var2.getTop(), var2.getLeft() + var7, var2.getTop() + var8);
  540.          this.Orientation = "Horizontal";
  541.          this.theJavaApplet.setAppletFileName(this.field_0 + "DynaButtons.class");
  542.          this.theJavaApplet.AddAdditionalAppletFile(this.field_0 + "PopButton.class");
  543.          this.theJavaApplet.AddAdditionalAppletFile(this.field_0 + "PopObject.class");
  544.          this.theJavaApplet.AddAdditionalAppletFile(this.field_0 + "DynaButtons.zip");
  545.          var1.AddObject(this.theJavaApplet);
  546.       }
  547.  
  548.       if (var3 != 3 && var3 != 4) {
  549.          this.updateSiteLook(0);
  550.          this.SetPropertyValues();
  551.       }
  552.  
  553.    }
  554.  
  555.    void checkList(ButtonObject var1) {
  556.    }
  557.  
  558.    private void modifyImageSize() {
  559.       int var1 = 0;
  560.       int var2 = 0;
  561.       ButtonObject var3 = this.buttonList.getNext();
  562.       if (this.Orientation.compareTo("Horizontal") == 0) {
  563.          for(var1 = this.countButtons(this.buttonList); var3 != null; var3 = var3.getNext()) {
  564.             if (var2 == 0) {
  565.                var2 = 1;
  566.             }
  567.  
  568.             if (var3.getSubButtonsExist()) {
  569.                int var4 = this.countButtons(var3.getSubButtons()) + 1;
  570.                if (var4 > var2) {
  571.                   var2 = var4;
  572.                }
  573.             }
  574.          }
  575.       } else {
  576.          var2 = this.countButtons(this.buttonList);
  577.  
  578.          for(int var6 = 1; var3 != null; ++var6) {
  579.             if (var1 == 0) {
  580.                var1 = 1;
  581.             }
  582.  
  583.             if (var3.getSubButtonsExist()) {
  584.                var1 = 2;
  585.                int var5 = this.countButtons(var3.getSubButtons()) + var6;
  586.                if (var5 > var2) {
  587.                   var2 = var5;
  588.                }
  589.             }
  590.  
  591.             var3 = var3.getNext();
  592.          }
  593.       }
  594.  
  595.       this.theJavaApplet.SetSize(var1 * this.imgX, var2 * this.imgY);
  596.    }
  597. }
  598.