home *** CD-ROM | disk | FTP | other *** search
/ Datatid 2000 #1 / Datatid-2000-01.iso / Internet / JAVA_NAVIGATOR / JAVANAVIGATOR.EXE / %MAINDIR% / files / JClass / JAVATabTree.jar / JAVATabTree.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-07-18  |  25.3 KB  |  1,266 lines

  1. import java.applet.Applet;
  2. import java.awt.Color;
  3. import java.awt.Component;
  4. import java.awt.Container;
  5. import java.awt.Dimension;
  6. import java.awt.Event;
  7. import java.awt.Font;
  8. import java.awt.Graphics;
  9. import java.awt.Image;
  10. import java.awt.LayoutManager;
  11. import java.awt.MediaTracker;
  12. import java.awt.Panel;
  13. import java.io.DataInputStream;
  14. import java.io.IOException;
  15. import java.io.InputStream;
  16. import java.net.MalformedURLException;
  17. import java.net.URL;
  18. import java.util.NoSuchElementException;
  19. import java.util.StringTokenizer;
  20.  
  21. public class JAVATabTree extends Applet implements Runnable {
  22.    Thread thJAVATabTree;
  23.    String[][] aHref;
  24.    String[][] aFrame;
  25.    String[][] aHref2;
  26.    String[][] aFrame2;
  27.    String[][] aMO;
  28.    String[][] aExpand;
  29.    String[] aTabLabel;
  30.    String[] aTabMO;
  31.    String[] aTabHref;
  32.    String[] aTabFrame;
  33.    String[] aTabHref2;
  34.    String[] aTabFrame2;
  35.    int iLoading;
  36.    int oldx;
  37.    int oldiTabIx;
  38.    String sMsgOld = "";
  39.    int[][] iLevel;
  40.    String sText = "";
  41.    String sHref = "";
  42.    String sFrame = "";
  43.    String sHref2 = "";
  44.    String sFrame2 = "";
  45.    String sExpand = "";
  46.    String sMO = "";
  47.    String sMsg = "";
  48.    boolean flg1 = false;
  49.    String sDefMO = "1st JAVA Navigator[Tab&Tree] (c)1997-1999 AUSCOMP - World Wide (www.auscomp.com)";
  50.    String sLevel = "";
  51.    String sPic1 = "";
  52.    String sPic2 = "";
  53.    int iItemMaxCnt;
  54.    int iItemCnt;
  55.    int[] iIC;
  56.    int iTabCnt;
  57.    String sBorder = "no";
  58.    Font fFont = new Font("Dialog", 0, 12);
  59.    String dblClick = "no";
  60.    TreeNode oldNode;
  61.    TreeNode newNode;
  62.    TreeNode oldMouseOverNode;
  63.    int iYRec;
  64.    String sLine;
  65.    int intWidth = 200;
  66.    int intHeight = 250;
  67.    Image ImgClosed;
  68.    Image ImgOpen;
  69.    Image ImgdLeaf;
  70.    Image ImgdClosed;
  71.    Image ImgdOpen;
  72.    // $FF: renamed from: g1 java.awt.Graphics
  73.    Graphics field_0;
  74.    int oldTabPanel = -1;
  75.    String sCopyright = "AUSCOMP (www.auscomp.com)";
  76.    int iTabDefault = 999;
  77.    private boolean bCopyright = false;
  78.    private boolean allLoaded = false;
  79.    Image imgBG;
  80.    Image imgTreeBG;
  81.    int[] iColorBlack = new int[]{0, 0, 0};
  82.    int[] iColorWhite = new int[]{255, 255, 255};
  83.    int[] iColorRed = new int[]{255, 0, 0};
  84.    int[] iColorBlue = new int[]{0, 0, 255};
  85.    int[] iColorYellow = new int[]{255, 255, 231};
  86.    int[] iColorGreen = new int[]{0, 255, 0};
  87.    int[] iTREE_BG = new int[]{255, 255, 255};
  88.    int[] iTREE_FG = new int[]{0, 0, 0};
  89.    int[] iTREE_SEL_BG = new int[]{0, 0, 255};
  90.    int[] iTREE_SEL_FG = new int[]{255, 255, 255};
  91.    int[] iTREE_MOUSEOVER = new int[]{255, 0, 0};
  92.    int[] iTREE_LINECOLOR = new int[]{0, 0, 0};
  93.    int[] iTREE_FOLDEROCOLOR = new int[]{0, 0, 0};
  94.    int[] iTREE_FOLDERCCOLOR = new int[]{0, 0, 0};
  95.    int[] iTREE_LEAFCOLOR = new int[]{0, 0, 0};
  96.    int[] iTREE_TOOLTIPBACKCOLOR = new int[]{255, 255, 231};
  97.    int[] iTREE_TOOLTIPFORECOLOR = new int[]{0, 0, 0};
  98.    int[] iTREE_MOUSEOVERFRAMECOLOR = new int[]{255, 0, 0};
  99.    int[] iColor;
  100.    boolean bTREE_AUTOEXPAND = false;
  101.    boolean bExpand = false;
  102.    Color cBackground;
  103.    String sTREE_STYLE;
  104.    String sTREE_MOUSEOVERFRAME;
  105.    int iTREE_LINESTEP;
  106.    String sTREE_TOOLTIP;
  107.    String sTREE_BORDER;
  108.    String sTREE_DOUBLECLICK;
  109.    String sMOUSEOVERSOUND;
  110.    String sMOUSECLICKSOUND;
  111.    String sSHOWTABSONLY;
  112.    String[] sTabColorParam;
  113.    String[] sColorParam;
  114.    String[] sNormalParam;
  115.    String[] sImageParam;
  116.    TabPanel tabPanel1;
  117.    TreeView[] treeView;
  118.    // $FF: renamed from: TN TreeNode[][]
  119.    TreeNode[][] field_1;
  120.    TreeNode[][] TN1;
  121.  
  122.    void tabPanel1_MouseUp(Event event) {
  123.       try {
  124.          if (!this.sMOUSECLICKSOUND.equals("none")) {
  125.             ((Applet)this).play(((Applet)this).getCodeBase(), this.sMOUSECLICKSOUND);
  126.          }
  127.       } catch (Exception var6) {
  128.       }
  129.  
  130.       try {
  131.          int iTabIx = this.tabPanel1.getCurrentPanelNdx();
  132.          if (this.oldiTabIx == iTabIx) {
  133.             return;
  134.          }
  135.  
  136.          this.oldiTabIx = iTabIx;
  137.          this.sHref = this.aTabHref[iTabIx];
  138.          this.sFrame = this.aTabFrame[iTabIx];
  139.          this.sHref2 = this.aTabHref2[iTabIx];
  140.          this.sFrame2 = this.aTabFrame2[iTabIx];
  141.          this.sHref = this.sHref.trim();
  142.          this.sFrame = this.sFrame.trim();
  143.          this.sHref2 = this.sHref2.trim();
  144.          this.sFrame2 = this.sFrame2.trim();
  145.          if (!this.sHref.toLowerCase().equals("none")) {
  146.             try {
  147.                ((Applet)this).getAppletContext().showDocument(new URL(((Applet)this).getCodeBase(), this.sHref), this.sFrame);
  148.             } catch (MalformedURLException var4) {
  149.             }
  150.          }
  151.  
  152.          if (!this.sHref2.toLowerCase().equals("none")) {
  153.             try {
  154.                ((Applet)this).getAppletContext().showDocument(new URL(((Applet)this).getCodeBase(), this.sHref2), this.sFrame2);
  155.                return;
  156.             } catch (MalformedURLException var3) {
  157.                return;
  158.             }
  159.          }
  160.       } catch (ArrayIndexOutOfBoundsException var5) {
  161.       }
  162.  
  163.    }
  164.  
  165.    void tabPanel1_MouseMove(Event event) {
  166.       int x = 0;
  167.  
  168.       try {
  169.          if (!this.sMOUSEOVERSOUND.equals("none")) {
  170.             ((Applet)this).play(((Applet)this).getCodeBase(), this.sMOUSEOVERSOUND);
  171.          }
  172.       } catch (Exception var3) {
  173.       }
  174.  
  175.       x = this.tabPanel1.setTabLabelColor(event);
  176.       if (x == 999 && this.oldx != 999) {
  177.          this.tabPanel1.setMOLabelColor(this.tabPanel1.getMOColor(), x);
  178.          this.sMsg = this.sDefMO;
  179.       } else if (x != 999) {
  180.          this.sMsg = this.aTabMO[x];
  181.          this.sHref = this.aTabHref[x];
  182.       }
  183.  
  184.       this.oldx = x;
  185.       this.sMsg = this.sMsg.trim();
  186.       if (this.sMsg != this.sMsgOld) {
  187.          if (!this.sMsg.toLowerCase().equals("none") && !this.sMsg.toLowerCase().equals("")) {
  188.             ((Applet)this).showStatus(this.sMsg);
  189.          } else {
  190.             ((Applet)this).showStatus(this.sHref);
  191.          }
  192.  
  193.          this.sMsgOld = this.sMsg;
  194.       }
  195.  
  196.    }
  197.  
  198.    void tabPanel1_MouseEnter(Event event) {
  199.       ((Applet)this).showStatus(this.sDefMO);
  200.    }
  201.  
  202.    void treeView_MouseEnter(Event event) {
  203.       ((Applet)this).showStatus(this.sDefMO);
  204.    }
  205.  
  206.    void treeView_MouseMove(Event event) {
  207.       try {
  208.          if (!this.sMOUSEOVERSOUND.equals("none")) {
  209.             ((Applet)this).play(((Applet)this).getCodeBase(), this.sMOUSEOVERSOUND);
  210.          }
  211.       } catch (Exception var4) {
  212.       }
  213.  
  214.       try {
  215.          int iTabIx = this.tabPanel1.getCurrentPanelNdx();
  216.  
  217.          for(int z = 0; z < this.iIC[iTabIx]; ++z) {
  218.             if (this.field_1[iTabIx][z] == this.treeView[iTabIx].getMouseOverNode()) {
  219.                this.sMO = this.aMO[iTabIx][z];
  220.                this.sHref = this.aHref[iTabIx][z];
  221.                this.newNode = this.field_1[iTabIx][z];
  222.                break;
  223.             }
  224.          }
  225.  
  226.          this.sMO = this.sMO.trim();
  227.          if (this.sMO.toLowerCase().equals("") || this.sMO.toLowerCase().equals("none")) {
  228.             this.sMO = this.sHref;
  229.          }
  230.  
  231.          if (this.newNode != this.oldNode) {
  232.             ((Applet)this).showStatus(this.sMO);
  233.             this.oldNode = this.newNode;
  234.             return;
  235.          }
  236.       } catch (ArrayIndexOutOfBoundsException var5) {
  237.       }
  238.  
  239.    }
  240.  
  241.    void treeView_MouseDown(Event event) {
  242.       int iTabIx = this.tabPanel1.getCurrentPanelNdx();
  243.       this.sHref = "none";
  244.       this.sHref2 = "none";
  245.  
  246.       try {
  247.          if (!this.sMOUSECLICKSOUND.equals("none")) {
  248.             ((Applet)this).play(((Applet)this).getCodeBase(), this.sMOUSECLICKSOUND);
  249.          }
  250.       } catch (Exception var6) {
  251.       }
  252.  
  253.       for(int z = 0; z < this.iIC[iTabIx]; ++z) {
  254.          if (this.field_1[iTabIx][z] == this.treeView[iTabIx].getSelectedNode()) {
  255.             this.sHref = this.aHref[iTabIx][z];
  256.             this.sFrame = this.aFrame[iTabIx][z];
  257.             this.sHref2 = this.aHref2[iTabIx][z];
  258.             this.sFrame2 = this.aFrame2[iTabIx][z];
  259.             break;
  260.          }
  261.       }
  262.  
  263.       this.sHref = this.sHref.trim();
  264.       this.sFrame = this.sFrame.trim();
  265.       this.sHref2 = this.sHref2.trim();
  266.       this.sFrame2 = this.sFrame2.trim();
  267.       if (!this.sHref.toLowerCase().equals("none")) {
  268.          try {
  269.             ((Applet)this).getAppletContext().showDocument(new URL(((Applet)this).getCodeBase(), this.sHref), this.sFrame);
  270.          } catch (MalformedURLException var5) {
  271.          }
  272.       }
  273.  
  274.       if (!this.sHref2.toLowerCase().equals("none")) {
  275.          try {
  276.             ((Applet)this).getAppletContext().showDocument(new URL(((Applet)this).getCodeBase(), this.sHref2), this.sFrame2);
  277.          } catch (MalformedURLException var4) {
  278.          }
  279.       }
  280.    }
  281.  
  282.    public void start() {
  283.       this.field_0 = ((Component)this).getGraphics();
  284.       this.paint(this.field_0);
  285.       this.thJAVATabTree = new Thread(this);
  286.       this.thJAVATabTree.start();
  287.    }
  288.  
  289.    public void run() {
  290.       if (!this.allLoaded) {
  291.          this.constructTabTree();
  292.          this.tabPanel1.show(true);
  293.          if (this.iTabDefault < 999) {
  294.             this.tabPanel1.setCurrentPanelNdx(this.iTabDefault);
  295.             this.tabPanel1_MouseUp((Event)null);
  296.             return;
  297.          }
  298.  
  299.          this.tabPanel1.setCurrentPanelNdx(0);
  300.       }
  301.  
  302.    }
  303.  
  304.    public void stop() {
  305.       this.thJAVATabTree.stop();
  306.       this.thJAVATabTree = null;
  307.    }
  308.  
  309.    public void paint(Graphics g) {
  310.       ++this.iLoading;
  311.       ((Component)this).setBackground(this.cBackground);
  312.       g.drawString("1st JAVA Navigator V5.0", 10, 20);
  313.       g.drawString("Loading resource No." + this.iLoading, 10, 40);
  314.       g.drawString("Please wait ...", 10, 60);
  315.    }
  316.  
  317.    public void init() {
  318.       super.init();
  319.       ((Container)this).setLayout((LayoutManager)null);
  320.       ((Panel)this).addNotify();
  321.  
  322.       try {
  323.          Dimension d = ((Component)this).size();
  324.          this.intWidth = d.width;
  325.          this.intHeight = d.height;
  326.       } catch (Exception var2) {
  327.       }
  328.  
  329.       if (this.intWidth < 20) {
  330.          this.intWidth = 200;
  331.       }
  332.  
  333.       if (this.intHeight < 50) {
  334.          this.intHeight = 250;
  335.       }
  336.  
  337.       this.tabPanel1 = new TabPanel();
  338.       this.tabPanel1.setLayout((LayoutManager)null);
  339.       ((Component)this).size();
  340.       this.tabPanel1.reshape(0, 0, this.intWidth, this.intHeight);
  341.    }
  342.  
  343.    private void constructTabTree() {
  344.       String strBG = "";
  345.  
  346.       try {
  347.          strBG = ((Applet)this).getParameter("COPYRIGHT");
  348.          if (strBG.indexOf(this.sCopyright) > 0) {
  349.             this.bCopyright = true;
  350.          } else {
  351.             this.bCopyright = false;
  352.          }
  353.       } catch (Exception var35) {
  354.       }
  355.  
  356.       for(int x = 0; x < 4; ++x) {
  357.          switch (x) {
  358.             case 0:
  359.                this.iColor = this.iColorWhite;
  360.                break;
  361.             case 1:
  362.                this.iColor = this.iColorBlack;
  363.                break;
  364.             case 2:
  365.                this.iColor = this.iColorBlue;
  366.          }
  367.  
  368.          try {
  369.             strBG = ((Applet)this).getParameter(this.sTabColorParam[x]);
  370.             if (strBG != null) {
  371.                this.iColor[0] = this.getCOLOR(0, this.sTabColorParam[x], strBG);
  372.                this.iColor[1] = this.getCOLOR(1, this.sTabColorParam[x], strBG);
  373.                this.iColor[2] = this.getCOLOR(2, this.sTabColorParam[x], strBG);
  374.             }
  375.          } catch (Exception var34) {
  376.          }
  377.  
  378.          switch (x) {
  379.             case 0:
  380.                this.cBackground = new Color(this.iColor[0], this.iColor[1], this.iColor[2]);
  381.                this.tabPanel1.setBackground(new Color(this.iColor[0], this.iColor[1], this.iColor[2]));
  382.                break;
  383.             case 1:
  384.                this.tabPanel1.setLabelColor(new Color(this.iColor[0], this.iColor[1], this.iColor[2]));
  385.                break;
  386.             case 2:
  387.                this.tabPanel1.setMOColor(new Color(this.iColor[0], this.iColor[1], this.iColor[2]));
  388.          }
  389.       }
  390.  
  391.       try {
  392.          this.sSHOWTABSONLY = "NO";
  393.          strBG = ((Applet)this).getParameter("SHOWTABSONLY");
  394.          if (strBG != null && strBG.toLowerCase().equals("yes")) {
  395.             this.tabPanel1.showTabsOnly(true);
  396.          }
  397.       } catch (Exception var33) {
  398.       }
  399.  
  400.       try {
  401.          this.sMOUSEOVERSOUND = "none";
  402.          strBG = ((Applet)this).getParameter("MOUSEOVERSOUND");
  403.          if (strBG != null) {
  404.             this.sMOUSEOVERSOUND = strBG;
  405.          }
  406.       } catch (Exception var32) {
  407.       }
  408.  
  409.       try {
  410.          this.sMOUSECLICKSOUND = "none";
  411.          strBG = ((Applet)this).getParameter("MOUSECLICKSOUND");
  412.          if (strBG != null) {
  413.             this.sMOUSECLICKSOUND = strBG;
  414.          }
  415.       } catch (Exception var31) {
  416.       }
  417.  
  418.       try {
  419.          strBG = ((Applet)this).getParameter("TABONBOTTOM");
  420.          if (strBG != null && strBG.toLowerCase().equals("yes")) {
  421.             this.tabPanel1.setTabsOnBottom(true);
  422.          }
  423.       } catch (Exception var30) {
  424.       }
  425.  
  426.       try {
  427.          strBG = ((Applet)this).getParameter("TAB_FONT");
  428.          String fName = "";
  429.          String fStyle = "";
  430.          String fSize = "";
  431.          int iStyle = 0;
  432.          if (strBG != null) {
  433.             StringTokenizer parser = new StringTokenizer(strBG, ";");
  434.  
  435.             try {
  436.                fName = parser.nextToken();
  437.                fStyle = parser.nextToken();
  438.                fSize = parser.nextToken();
  439.                if (fStyle.trim().toLowerCase().equals("bold")) {
  440.                   iStyle = 1;
  441.                }
  442.  
  443.                if (fStyle.trim().toLowerCase().equals("italic")) {
  444.                   iStyle = 2;
  445.                }
  446.  
  447.                this.fFont = new Font(fName, iStyle, Integer.parseInt(fSize.trim()));
  448.             } catch (NoSuchElementException var27) {
  449.                System.out.println(strBG + " Parameter Error(1)");
  450.             } catch (Exception var28) {
  451.                System.out.println(strBG + " Parameter Error(2)");
  452.             }
  453.          }
  454.       } catch (Exception var29) {
  455.       }
  456.  
  457.       this.tabPanel1.setFont(this.fFont);
  458.  
  459.       try {
  460.          strBG = ((Applet)this).getParameter("TAB_DEFAULT");
  461.          if (strBG == null) {
  462.             this.iTabDefault = 999;
  463.          } else {
  464.             this.iTabDefault = Integer.parseInt(strBG);
  465.          }
  466.       } catch (Exception var26) {
  467.       }
  468.  
  469.       try {
  470.          this.imgBG = null;
  471.          strBG = ((Applet)this).getParameter("TAB_BG_IMAGE");
  472.          if (strBG != null) {
  473.             this.imgBG = ((Applet)this).getImage(((Applet)this).getCodeBase(), strBG);
  474.             MediaTracker m = new MediaTracker(this);
  475.  
  476.             try {
  477.                m.addImage(this.imgBG, 0);
  478.                m.waitForAll();
  479.             } catch (InterruptedException var24) {
  480.                return;
  481.             }
  482.  
  483.             if (this.imgBG.getHeight(this) > 0) {
  484.                this.tabPanel1.setBGImage(this.imgBG);
  485.             }
  486.          }
  487.       } catch (Exception var25) {
  488.       }
  489.  
  490.       ((Container)this).add(this.tabPanel1);
  491.       this.tabPanel1.show(false);
  492.  
  493.       for(int x = 0; x < 12; ++x) {
  494.          switch (x) {
  495.             case 0:
  496.                this.iColor = this.iTREE_BG;
  497.                break;
  498.             case 1:
  499.                this.iColor = this.iTREE_FG;
  500.                break;
  501.             case 2:
  502.                this.iColor = this.iTREE_SEL_BG;
  503.                break;
  504.             case 3:
  505.                this.iColor = this.iTREE_SEL_FG;
  506.                break;
  507.             case 4:
  508.                this.iColor = this.iTREE_MOUSEOVER;
  509.                break;
  510.             case 5:
  511.                this.iColor = this.iTREE_LINECOLOR;
  512.                break;
  513.             case 6:
  514.                this.iColor = this.iTREE_FOLDEROCOLOR;
  515.                break;
  516.             case 7:
  517.                this.iColor = this.iTREE_FOLDERCCOLOR;
  518.                break;
  519.             case 8:
  520.                this.iColor = this.iTREE_LEAFCOLOR;
  521.                break;
  522.             case 9:
  523.                this.iColor = this.iTREE_TOOLTIPBACKCOLOR;
  524.                break;
  525.             case 10:
  526.                this.iColor = this.iTREE_TOOLTIPFORECOLOR;
  527.                break;
  528.             case 11:
  529.                this.iColor = this.iTREE_MOUSEOVERFRAMECOLOR;
  530.          }
  531.  
  532.          try {
  533.             String var36 = null;
  534.             strBG = ((Applet)this).getParameter(this.sColorParam[x]);
  535.             if (strBG != null) {
  536.                this.iColor[0] = this.getCOLOR(0, this.sColorParam[x], strBG);
  537.                this.iColor[1] = this.getCOLOR(1, this.sColorParam[x], strBG);
  538.                this.iColor[2] = this.getCOLOR(2, this.sColorParam[x], strBG);
  539.             }
  540.          } catch (Exception var23) {
  541.          }
  542.  
  543.          for(int y = 0; y < 3; ++y) {
  544.             switch (x) {
  545.                case 0:
  546.                   this.iTREE_BG[y] = this.iColor[y];
  547.                   break;
  548.                case 1:
  549.                   this.iTREE_FG[y] = this.iColor[y];
  550.                   break;
  551.                case 2:
  552.                   this.iTREE_SEL_BG[y] = this.iColor[y];
  553.                   break;
  554.                case 3:
  555.                   this.iTREE_SEL_FG[y] = this.iColor[y];
  556.                   break;
  557.                case 4:
  558.                   this.iTREE_MOUSEOVER[y] = this.iColor[y];
  559.                   break;
  560.                case 5:
  561.                   this.iTREE_LINECOLOR[y] = this.iColor[y];
  562.                   break;
  563.                case 6:
  564.                   this.iTREE_FOLDEROCOLOR[y] = this.iColor[y];
  565.                   break;
  566.                case 7:
  567.                   this.iTREE_FOLDERCCOLOR[y] = this.iColor[y];
  568.                   break;
  569.                case 8:
  570.                   this.iTREE_LEAFCOLOR[y] = this.iColor[y];
  571.                   break;
  572.                case 9:
  573.                   this.iTREE_TOOLTIPBACKCOLOR[y] = this.iColor[y];
  574.                   break;
  575.                case 10:
  576.                   this.iTREE_TOOLTIPFORECOLOR[y] = this.iColor[y];
  577.                   break;
  578.                case 11:
  579.                   this.iTREE_MOUSEOVERFRAMECOLOR[y] = this.iColor[y];
  580.             }
  581.          }
  582.       }
  583.  
  584.       for(int x = 0; x < 7; ++x) {
  585.          switch (x) {
  586.             case 0:
  587.                this.sTREE_STYLE = "AXAA";
  588.                break;
  589.             case 1:
  590.                this.sTREE_MOUSEOVERFRAME = "none";
  591.                break;
  592.             case 2:
  593.                this.iTREE_LINESTEP = 2;
  594.                break;
  595.             case 3:
  596.                this.sTREE_TOOLTIP = "yes";
  597.                break;
  598.             case 4:
  599.                this.sTREE_BORDER = "No";
  600.                break;
  601.             case 5:
  602.                this.sTREE_DOUBLECLICK = "No";
  603.                break;
  604.             case 6:
  605.                this.bTREE_AUTOEXPAND = false;
  606.          }
  607.  
  608.          try {
  609.             String var37 = null;
  610.             strBG = ((Applet)this).getParameter(this.sNormalParam[x]);
  611.          } catch (Exception var22) {
  612.          }
  613.  
  614.          switch (x) {
  615.             case 0:
  616.                if (strBG == null) {
  617.                   strBG = "AXAA";
  618.                }
  619.  
  620.                this.sTREE_STYLE = strBG;
  621.                break;
  622.             case 1:
  623.                if (strBG == null) {
  624.                   strBG = "none";
  625.                }
  626.  
  627.                this.sTREE_MOUSEOVERFRAME = strBG;
  628.                break;
  629.             case 2:
  630.                try {
  631.                   this.iTREE_LINESTEP = Integer.parseInt(strBG);
  632.                } catch (Exception var21) {
  633.                }
  634.                break;
  635.             case 3:
  636.                if (strBG == null) {
  637.                   strBG = "Yes";
  638.                }
  639.  
  640.                try {
  641.                   if (!strBG.trim().toLowerCase().equals("yes")) {
  642.                      strBG = "No";
  643.                   }
  644.                } catch (Exception var20) {
  645.                }
  646.  
  647.                this.sTREE_TOOLTIP = strBG;
  648.                break;
  649.             case 4:
  650.                if (strBG == null) {
  651.                   strBG = "No";
  652.                }
  653.  
  654.                try {
  655.                   if (strBG.trim().toLowerCase().equals("yes")) {
  656.                      strBG = "Yes";
  657.                   }
  658.                } catch (Exception var19) {
  659.                }
  660.  
  661.                this.sTREE_BORDER = strBG;
  662.                break;
  663.             case 5:
  664.                if (strBG == null) {
  665.                   strBG = "No";
  666.                }
  667.  
  668.                try {
  669.                   if (strBG.trim().toLowerCase().equals("yes")) {
  670.                      strBG = "Yes";
  671.                   }
  672.                } catch (Exception var18) {
  673.                }
  674.  
  675.                this.sTREE_DOUBLECLICK = strBG;
  676.                break;
  677.             case 6:
  678.                this.bTREE_AUTOEXPAND = false;
  679.  
  680.                try {
  681.                   if (strBG.trim().toLowerCase().equals("yes")) {
  682.                      this.bTREE_AUTOEXPAND = true;
  683.                   }
  684.                } catch (Exception var17) {
  685.                }
  686.          }
  687.       }
  688.  
  689.       for(int x = 0; x < 4; ++x) {
  690.          try {
  691.             strBG = ((Applet)this).getParameter(this.sImageParam[x]);
  692.             this.imgBG = null;
  693.             if (strBG != null) {
  694.                this.imgBG = ((Applet)this).getImage(((Applet)this).getCodeBase(), strBG);
  695.                MediaTracker m = new MediaTracker(this);
  696.  
  697.                try {
  698.                   m.addImage(this.imgBG, 0);
  699.                   m.waitForAll();
  700.                } catch (InterruptedException var15) {
  701.                }
  702.             }
  703.  
  704.             switch (x) {
  705.                case 0:
  706.                   if (this.imgBG.getHeight(this) > 0) {
  707.                      this.ImgdOpen = this.imgBG;
  708.                   } else {
  709.                      System.out.println("Error - couldn't find FOLDER OPEN IMAGE - please check image URL");
  710.                   }
  711.                   break;
  712.                case 1:
  713.                   if (this.imgBG.getHeight(this) > 0) {
  714.                      this.ImgdClosed = this.imgBG;
  715.                   } else {
  716.                      System.out.println("Error - couldn't find FOLDER CLOSED IMAGE - please check image URL");
  717.                   }
  718.                   break;
  719.                case 2:
  720.                   if (this.imgBG.getHeight(this) > 0) {
  721.                      this.ImgdLeaf = this.imgBG;
  722.                   } else {
  723.                      System.out.println("Error - couldn't find FOLDER CLOSED IMAGE - please check image URL");
  724.                   }
  725.                   break;
  726.                case 3:
  727.                   if (this.imgBG.getHeight(this) > 0) {
  728.                      this.imgTreeBG = this.imgBG;
  729.                   } else {
  730.                      System.out.println("Error - couldn't find FOLDER TREE BACKGROUND IMAGE - please check image URL");
  731.                   }
  732.             }
  733.          } catch (Exception var16) {
  734.          }
  735.       }
  736.  
  737.       try {
  738.          strBG = ((Applet)this).getParameter("TREE_FONT");
  739.          String fName = "";
  740.          String fStyle = "";
  741.          String fSize = "";
  742.          int iStyle = 0;
  743.          if (strBG != null) {
  744.             StringTokenizer parser = new StringTokenizer(strBG, ";");
  745.  
  746.             try {
  747.                fName = parser.nextToken();
  748.                fStyle = parser.nextToken();
  749.                fSize = parser.nextToken();
  750.                if (fStyle.trim().toLowerCase().equals("bold")) {
  751.                   iStyle = 1;
  752.                }
  753.  
  754.                if (fStyle.trim().toLowerCase().equals("italic")) {
  755.                   iStyle = 2;
  756.                }
  757.  
  758.                this.fFont = new Font(fName, iStyle, Integer.parseInt(fSize.trim()));
  759.             } catch (NoSuchElementException var12) {
  760.                System.out.println(strBG + " Parameter Error(1)");
  761.             } catch (Exception var13) {
  762.                System.out.println(strBG + " Parameter Error(2)");
  763.             }
  764.          }
  765.       } catch (Exception var14) {
  766.       }
  767.  
  768.       int i;
  769.       for(i = 0; ((Applet)this).getParameter("TAB" + i) != null; ++i) {
  770.       }
  771.  
  772.       this.iTabCnt = i;
  773.       this.treeView = new TreeView[i];
  774.       String tempString = "";
  775.       this.iIC = new int[i];
  776.       this.aTabLabel = new String[i];
  777.       this.aTabMO = new String[i];
  778.       this.aTabHref = new String[i];
  779.       this.aTabHref2 = new String[i];
  780.       this.aTabFrame = new String[i];
  781.       this.aTabFrame2 = new String[i];
  782.       this.aHref = new String[i][999];
  783.       this.aFrame = new String[i][999];
  784.       this.aHref2 = new String[i][999];
  785.       this.aFrame2 = new String[i][999];
  786.       this.aExpand = new String[i][999];
  787.       this.aMO = new String[i][999];
  788.       this.iLevel = new int[i][999];
  789.       this.field_1 = new TreeNode[i][999];
  790.       this.TN1 = new TreeNode[i][999];
  791.  
  792.       for(int var54 = 0; ((Applet)this).getParameter("TAB" + var54) != null; ++var54) {
  793.          tempString = new String(((Applet)this).getParameter("TAB" + var54));
  794.          this.aTabLabel[var54] = "";
  795.          this.aTabMO[var54] = "";
  796.          this.aTabHref[var54] = "none";
  797.          this.aTabHref2[var54] = "none";
  798.          this.aTabFrame[var54] = "none";
  799.          this.aTabFrame2[var54] = "none";
  800.          if (this.bCopyright) {
  801.             StringTokenizer parser = new StringTokenizer(tempString, ";");
  802.  
  803.             try {
  804.                this.aTabLabel[var54] = parser.nextToken();
  805.                this.aTabHref[var54] = parser.nextToken();
  806.                this.aTabFrame[var54] = parser.nextToken();
  807.                this.aTabMO[var54] = parser.nextToken();
  808.                this.aTabHref2[var54] = parser.nextToken();
  809.                this.aTabFrame2[var54] = parser.nextToken();
  810.             } catch (NoSuchElementException var11) {
  811.             }
  812.          } else {
  813.             this.aTabLabel[var54] = "Error";
  814.             this.aTabMO[var54] = "Copyright parameter missing";
  815.          }
  816.  
  817.          this.treeView[var54] = new TreeView();
  818.          this.treeView[var54].setBackground(new Color(this.iTREE_BG[0], this.iTREE_BG[1], this.iTREE_BG[2]));
  819.          this.treeView[var54].setForeground(new Color(this.iTREE_FG[0], this.iTREE_FG[1], this.iTREE_FG[2]));
  820.          this.treeView[var54].setBgHilite(new Color(this.iTREE_SEL_BG[0], this.iTREE_SEL_BG[1], this.iTREE_SEL_BG[2]));
  821.          this.treeView[var54].setFgHilite(new Color(this.iTREE_SEL_FG[0], this.iTREE_SEL_FG[1], this.iTREE_SEL_FG[2]));
  822.          this.treeView[var54].setMOHilite(new Color(this.iTREE_MOUSEOVER[0], this.iTREE_MOUSEOVER[1], this.iTREE_MOUSEOVER[2]));
  823.          this.treeView[var54].setLineColor(new Color(this.iTREE_LINECOLOR[0], this.iTREE_LINECOLOR[1], this.iTREE_LINECOLOR[2]));
  824.          this.treeView[var54].setFolderOColor(new Color(this.iTREE_FOLDEROCOLOR[0], this.iTREE_FOLDEROCOLOR[1], this.iTREE_FOLDEROCOLOR[2]));
  825.          this.treeView[var54].setFolderCColor(new Color(this.iTREE_FOLDERCCOLOR[0], this.iTREE_FOLDERCCOLOR[1], this.iTREE_FOLDERCCOLOR[2]));
  826.          this.treeView[var54].setLeafColor(new Color(this.iTREE_LEAFCOLOR[0], this.iTREE_LEAFCOLOR[1], this.iTREE_LEAFCOLOR[2]));
  827.          this.treeView[var54].setToolTipBackColor(new Color(this.iTREE_TOOLTIPBACKCOLOR[0], this.iTREE_TOOLTIPBACKCOLOR[1], this.iTREE_TOOLTIPBACKCOLOR[2]));
  828.          this.treeView[var54].setToolTipForeColor(new Color(this.iTREE_TOOLTIPFORECOLOR[0], this.iTREE_TOOLTIPFORECOLOR[1], this.iTREE_TOOLTIPFORECOLOR[2]));
  829.          this.treeView[var54].setMouseOverFrameColor(new Color(this.iTREE_MOUSEOVERFRAMECOLOR[0], this.iTREE_MOUSEOVERFRAMECOLOR[1], this.iTREE_MOUSEOVERFRAMECOLOR[2]));
  830.          this.treeView[var54].setStyle(this.sTREE_STYLE);
  831.          this.treeView[var54].setMouseOverStyle(this.sTREE_MOUSEOVERFRAME);
  832.          this.treeView[var54].setLineStep(this.iTREE_LINESTEP);
  833.          this.treeView[var54].setToolTip(this.sTREE_TOOLTIP);
  834.          this.treeView[var54].setFont(this.fFont);
  835.          this.treeView[var54].setBorder(this.sTREE_BORDER);
  836.          this.treeView[var54].setDblClick(this.sTREE_DOUBLECLICK);
  837.          this.treeView[var54].reshape(0, 0, this.intWidth, this.intHeight);
  838.          this.tabPanel1.add(this.treeView[var54]);
  839.          if (this.imgTreeBG != null) {
  840.             this.treeView[var54].setBGImage(this.imgTreeBG);
  841.          }
  842.       }
  843.  
  844.       this.tabPanel1.setPanelLabels(this.aTabLabel);
  845.  
  846.       for(int z = 0; z < this.iTabCnt; ++z) {
  847.          int ii = 0;
  848.          strBG = ((Applet)this).getParameter("TAB" + z + "_Content");
  849.          if (strBG != null) {
  850.             ii = this.readFile(strBG, z);
  851.          } else {
  852.             for(; ((Applet)this).getParameter("T" + z + "I" + ii) != null; ++ii) {
  853.                strBG = ((Applet)this).getParameter("T" + z + "I" + ii);
  854.                if (strBG != null) {
  855.                   this.workParam("T" + z + "I" + ii, strBG, z);
  856.                }
  857.             }
  858.          }
  859.  
  860.          if (ii > 0) {
  861.             this.makeTree(z, this.iIC[z]);
  862.          }
  863.       }
  864.  
  865.       this.allLoaded = true;
  866.    }
  867.  
  868.    public void setTabTreeNode(String sNode, int iTab, boolean bExecute) {
  869.       try {
  870.          if (sNode == null) {
  871.             return;
  872.          }
  873.  
  874.          this.tabPanel1.setCurrentPanelNdx(iTab);
  875.          this.treeView[iTab].setNode(sNode);
  876.          if (this.treeView[iTab].getSelectedText().equals(sNode) && bExecute) {
  877.             this.treeView_MouseDown((Event)null);
  878.             return;
  879.          }
  880.       } catch (Exception var4) {
  881.       }
  882.  
  883.    }
  884.  
  885.    public String getTabTreeNode(int iTab) {
  886.       this.tabPanel1.setCurrentPanelNdx(iTab);
  887.       return this.treeView[iTab].getSelectedText() == null ? null : this.treeView[iTab].getSelectedText();
  888.    }
  889.  
  890.    public void addTabTreeNode(int iTab, String s1ParentNodeText, String s1NodeText, String s1Href1, String s1Target1, String s1Href2, String s1Target2, String s1Statusbar, String s1Expand) {
  891.       try {
  892.          if (s1NodeText == null) {
  893.             return;
  894.          }
  895.  
  896.          this.tabPanel1.setCurrentPanelNdx(iTab);
  897.          this.aHref[iTab][this.iIC[iTab]] = "none";
  898.          if (s1Href1 != null && !s1Href1.trim().equals("")) {
  899.             this.aHref[iTab][this.iIC[iTab]] = s1Href1;
  900.          }
  901.  
  902.          if (s1Target1 != null) {
  903.             this.aFrame[iTab][this.iIC[iTab]] = s1Target1;
  904.          } else {
  905.             this.aFrame[iTab][this.iIC[iTab]] = "none";
  906.          }
  907.  
  908.          this.aHref2[iTab][this.iIC[iTab]] = "none";
  909.          if (s1Href2 != null && !s1Href2.trim().equals("")) {
  910.             this.aHref2[iTab][this.iIC[iTab]] = s1Href2;
  911.          }
  912.  
  913.          if (s1Target2 != null) {
  914.             this.aFrame2[iTab][this.iIC[iTab]] = s1Target2;
  915.          } else {
  916.             this.aFrame2[iTab][this.iIC[iTab]] = "none";
  917.          }
  918.  
  919.          this.aMO[iTab][this.iIC[iTab]] = "";
  920.          if (s1Statusbar != null && !s1Statusbar.trim().equals("")) {
  921.             this.aMO[iTab][this.iIC[iTab]] = s1Statusbar;
  922.          }
  923.  
  924.          this.aExpand[iTab][this.iIC[iTab]] = "NO";
  925.          if (s1Expand != null && s1Expand.trim().toLowerCase().equals("yes")) {
  926.             this.aExpand[iTab][this.iIC[iTab]] = "YES";
  927.          }
  928.  
  929.          this.field_1[iTab][this.iIC[iTab]] = new TreeNode(s1NodeText, this.ImgdLeaf, this.ImgdLeaf);
  930.          this.bExpand = false;
  931.          if (this.aExpand[iTab][this.iIC[iTab]].toLowerCase().equals("yes")) {
  932.             this.bExpand = true;
  933.          }
  934.  
  935.          if (this.bTREE_AUTOEXPAND) {
  936.             this.bExpand = true;
  937.          }
  938.  
  939.          if (s1ParentNodeText.trim().equals("")) {
  940.             this.treeView[iTab].append(this.field_1[iTab][this.iIC[iTab]], this.bExpand);
  941.          } else {
  942.             this.treeView[iTab].setNode(s1ParentNodeText);
  943.             this.TN1[iTab][this.iIC[iTab]] = this.treeView[iTab].getSelectedNode();
  944.             if (this.TN1[iTab][this.iIC[iTab]] != null) {
  945.                this.TN1[iTab][this.iIC[iTab]].setCollapsedImage(this.ImgdClosed);
  946.                this.TN1[iTab][this.iIC[iTab]].setExpandedImage(this.ImgdOpen);
  947.             }
  948.  
  949.             this.treeView[iTab].insert(this.field_1[iTab][this.iIC[iTab]], this.TN1[iTab][this.iIC[iTab]], 0, this.bExpand);
  950.          }
  951.  
  952.          if (!this.bTREE_AUTOEXPAND) {
  953.             if (this.aExpand[iTab][this.iIC[iTab]].trim().toUpperCase().equals("YES")) {
  954.                this.bExpand = true;
  955.             } else {
  956.                this.bExpand = false;
  957.             }
  958.          }
  959.  
  960.          this.treeView[iTab].setNode(s1NodeText);
  961.       } catch (Exception var10) {
  962.       }
  963.  
  964.       int var10002 = this.iIC[iTab]++;
  965.       this.treeView[iTab].redraw();
  966.    }
  967.  
  968.    public void delTabTreeNode(String sNode, int iTab) {
  969.       try {
  970.          if (!sNode.trim().equals("(c)1997-199 Auscomp") && !sNode.trim().equals("Copyright parameter missing!") && !sNode.trim().equals("Auscom - America (West Coast)") && !sNode.trim().equals("Auscom - America (East Coast)") && !sNode.trim().equals("Auscom - Australia")) {
  971.             this.tabPanel1.setCurrentPanelNdx(iTab);
  972.             this.treeView[iTab].remove(sNode);
  973.             this.treeView[iTab].redraw();
  974.             return;
  975.          }
  976.       } catch (Exception var3) {
  977.       }
  978.  
  979.    }
  980.  
  981.    public boolean handleEvent(Event event) {
  982.       try {
  983.          if (this.treeView[this.tabPanel1.getCurrentPanelNdx()].getMouseOverNode() != null && event.target == this.treeView[this.tabPanel1.getCurrentPanelNdx()] && event.id == 501) {
  984.             this.treeView_MouseDown(event);
  985.             return true;
  986.          }
  987.       } catch (Exception var3) {
  988.       }
  989.  
  990.       try {
  991.          if (this.oldMouseOverNode != this.treeView[this.tabPanel1.getCurrentPanelNdx()].getMouseOverNode() && this.treeView[this.tabPanel1.getCurrentPanelNdx()].getMouseOverNode() != null && event.target == this.treeView[this.tabPanel1.getCurrentPanelNdx()] && event.id == 503) {
  992.             this.treeView_MouseMove(event);
  993.             this.oldMouseOverNode = this.treeView[this.tabPanel1.getCurrentPanelNdx()].getMouseOverNode();
  994.             return true;
  995.          }
  996.       } catch (Exception var2) {
  997.       }
  998.  
  999.       if (event.target == this.tabPanel1 && event.id == 504) {
  1000.          this.tabPanel1_MouseEnter(event);
  1001.          return true;
  1002.       } else if (this.oldTabPanel != this.tabPanel1.getCurrentPanelNdx() && event.target == this.tabPanel1 && event.id == 503) {
  1003.          this.tabPanel1_MouseMove(event);
  1004.          this.oldTabPanel = this.tabPanel1.getCurrentPanelNdx();
  1005.          return true;
  1006.       } else if (event.target == this.tabPanel1 && event.id == 502) {
  1007.          this.tabPanel1_MouseUp(event);
  1008.          return true;
  1009.       } else {
  1010.          return super.handleEvent(event);
  1011.       }
  1012.    }
  1013.  
  1014.    private int readFile(String tFile, int iTabCnt1) {
  1015.       this.sLine = "";
  1016.       this.iYRec = 0;
  1017.  
  1018.       try {
  1019.          URL u = new URL(((Applet)this).getCodeBase(), tFile);
  1020.          u.openConnection();
  1021.          u.getContent();
  1022.          InputStream in = u.openStream();
  1023.          DataInputStream datainStream = new DataInputStream(in);
  1024.  
  1025.          while((this.sLine = datainStream.readLine()) != null) {
  1026.             if (!this.sLine.trim().equalsIgnoreCase("")) {
  1027.                this.workParam("Tab" + iTabCnt1 + " File - Line: " + this.iYRec, this.sLine, iTabCnt1);
  1028.                ++this.iYRec;
  1029.             }
  1030.          }
  1031.       } catch (MalformedURLException var6) {
  1032.          System.err.println("URL Error");
  1033.       } catch (IOException e) {
  1034.          System.out.println("Error - File not found (" + ((Applet)this).getCodeBase() + tFile + ")");
  1035.          ((Throwable)e).printStackTrace();
  1036.       }
  1037.  
  1038.       return this.iYRec;
  1039.    }
  1040.  
  1041.    private int getCOLOR(int iColor, String sWhat, String sPBG) {
  1042.       int iRed = 255;
  1043.       int iBlue = 255;
  1044.       int iGreen = 255;
  1045.       StringTokenizer parser = new StringTokenizer(sPBG, ",");
  1046.  
  1047.       try {
  1048.          String sRed = parser.nextToken();
  1049.          String sGreen = parser.nextToken();
  1050.          String sBlue = parser.nextToken();
  1051.          iRed = Integer.parseInt(sRed);
  1052.          iGreen = Integer.parseInt(sGreen);
  1053.          iBlue = Integer.parseInt(sBlue);
  1054.       } catch (NoSuchElementException var11) {
  1055.          System.out.println(sWhat + " Parameter Error(1)");
  1056.       } catch (Exception var12) {
  1057.          System.out.println(sWhat + " Parameter Error(2)");
  1058.       }
  1059.  
  1060.       switch (iColor) {
  1061.          case 0:
  1062.             return iRed;
  1063.          case 1:
  1064.             return iGreen;
  1065.          case 2:
  1066.             return iBlue;
  1067.          default:
  1068.             return 255;
  1069.       }
  1070.    }
  1071.  
  1072.    private void makeNode(int iTCnt, int iNCnt, String sT, String sP1, String sP2) {
  1073.       if (sP1.trim().toLowerCase().equals("")) {
  1074.          this.field_1[iTCnt][iNCnt] = new TreeNode(sT);
  1075.       } else if (sP1.trim().toLowerCase().equals("none")) {
  1076.          this.field_1[iTCnt][iNCnt] = new TreeNode(sT);
  1077.       } else if (sP1.trim().toLowerCase().equals("leaf")) {
  1078.          if (this.ImgdLeaf == null) {
  1079.             this.field_1[iTCnt][iNCnt] = new TreeNode(sT);
  1080.          } else {
  1081.             this.field_1[iTCnt][iNCnt] = new TreeNode(sT, this.ImgdLeaf, this.ImgdLeaf);
  1082.          }
  1083.       } else if (sP1.trim().toLowerCase().equals("folder")) {
  1084.          if (this.ImgdLeaf == null) {
  1085.             this.field_1[iTCnt][iNCnt] = new TreeNode(sT);
  1086.          } else {
  1087.             this.field_1[iTCnt][iNCnt] = new TreeNode(sT, this.ImgdClosed, this.ImgdOpen);
  1088.          }
  1089.       } else {
  1090.          this.ImgClosed = ((Applet)this).getImage(((Applet)this).getCodeBase(), sP1);
  1091.          this.ImgOpen = ((Applet)this).getImage(((Applet)this).getCodeBase(), sP2);
  1092.          MediaTracker m = new MediaTracker(this);
  1093.  
  1094.          try {
  1095.             m.addImage(this.ImgClosed, 0);
  1096.             m.addImage(this.ImgOpen, 1);
  1097.             m.waitForAll();
  1098.          } catch (InterruptedException var7) {
  1099.             return;
  1100.          }
  1101.  
  1102.          this.field_1[iTCnt][iNCnt] = new TreeNode(sT, this.ImgClosed, this.ImgOpen);
  1103.       }
  1104.    }
  1105.  
  1106.    private void makeTree(int iNodeTCnt, int iNodeICnt) {
  1107.       this.bExpand = false;
  1108.  
  1109.       for(int y = 0; y < iNodeICnt; ++y) {
  1110.          if (this.bTREE_AUTOEXPAND) {
  1111.             this.bExpand = true;
  1112.          }
  1113.  
  1114.          if (this.iLevel[iNodeTCnt][y] == 0) {
  1115.             this.treeView[iNodeTCnt].append(this.field_1[iNodeTCnt][y], this.bExpand);
  1116.          } else {
  1117.             this.treeView[iNodeTCnt].insert(this.field_1[iNodeTCnt][y], this.TN1[iNodeTCnt][this.iLevel[iNodeTCnt][y] - 1], 0, this.bExpand);
  1118.          }
  1119.  
  1120.          this.TN1[iNodeTCnt][this.iLevel[iNodeTCnt][y]] = this.field_1[iNodeTCnt][y];
  1121.          if (!this.bTREE_AUTOEXPAND) {
  1122.             if (this.aExpand[iNodeTCnt][y].trim().toUpperCase().equals("YES")) {
  1123.                this.bExpand = true;
  1124.             } else {
  1125.                this.bExpand = false;
  1126.             }
  1127.          }
  1128.       }
  1129.  
  1130.       this.treeView[iNodeTCnt].redraw();
  1131.    }
  1132.  
  1133.    private void workParam(String sItem, String sP, int iTCnt) {
  1134.       if (this.bCopyright) {
  1135.          this.sHref2 = "None";
  1136.          this.sFrame2 = "None";
  1137.          this.sExpand = "NO";
  1138.          if (sP.substring(0, 3).equals("***")) {
  1139.             this.sHref = "None";
  1140.             this.sFrame = "None";
  1141.          } else {
  1142.             StringTokenizer parser = new StringTokenizer(sP, ";");
  1143.             int iCnt = parser.countTokens() - 10;
  1144.             if (iCnt != 0) {
  1145.                System.out.println("*** Warning in parameter '" + sItem + "' - Item count is ( " + parser.countTokens() + " ) instead of ( 10 ) *** ");
  1146.             }
  1147.  
  1148.             try {
  1149.                this.sText = parser.nextToken();
  1150.                this.sHref = parser.nextToken();
  1151.                this.sFrame = parser.nextToken();
  1152.                this.sLevel = parser.nextToken();
  1153.                this.sPic1 = parser.nextToken();
  1154.                this.sPic2 = parser.nextToken();
  1155.                this.sMO = parser.nextToken();
  1156.                this.sHref2 = parser.nextToken();
  1157.                this.sFrame2 = parser.nextToken();
  1158.                this.sExpand = parser.nextToken();
  1159.             } catch (NoSuchElementException var7) {
  1160.             } catch (Exception var8) {
  1161.                System.out.println(sItem + " Parameter Error(3)");
  1162.             }
  1163.  
  1164.             if (this.iIC[iTCnt] == 0 && iTCnt == 0) {
  1165.                this.makeNode(iTCnt, this.iIC[iTCnt], "(c)1997-1999 Auscomp", "SLauscomp.gif", "SLauscomp.gif");
  1166.                this.iLevel[iTCnt][this.iIC[iTCnt]] = 0;
  1167.                this.aHref[iTCnt][this.iIC[iTCnt]] = "http://www.auscomp.com";
  1168.                this.aFrame[iTCnt][this.iIC[iTCnt]] = "_blank";
  1169.                this.aHref2[iTCnt][this.iIC[iTCnt]] = "none";
  1170.                this.aFrame2[iTCnt][this.iIC[iTCnt]] = "none";
  1171.                this.aExpand[iTCnt][this.iIC[iTCnt]] = "NO";
  1172.                this.aMO[iTCnt][this.iIC[iTCnt]] = "1st JAVA Navigator[Tab&Tree] (C)1997-1999 Auscomp - World Wide.";
  1173.                int var10 = this.iIC[iTCnt]++;
  1174.                this.makeNode(iTCnt, this.iIC[iTCnt], "1st JAVA Navigator[Tab&Tree]", "none", "none");
  1175.                this.iLevel[iTCnt][this.iIC[iTCnt]] = 0;
  1176.                this.aHref[iTCnt][this.iIC[iTCnt]] = "http://www.auscomp.com";
  1177.                this.aFrame[iTCnt][this.iIC[iTCnt]] = "_blank";
  1178.                this.aHref2[iTCnt][this.iIC[iTCnt]] = "none";
  1179.                this.aFrame2[iTCnt][this.iIC[iTCnt]] = "none";
  1180.                this.aExpand[iTCnt][this.iIC[iTCnt]] = "NO";
  1181.                this.aMO[iTCnt][this.iIC[iTCnt]] = "1st JAVA Navigator[Tab&Tree] for evaluation purposes only.";
  1182.                var10 = this.iIC[iTCnt]++;
  1183.                this.makeNode(iTCnt, this.iIC[iTCnt], "For evaluation only", "none", "none");
  1184.                this.iLevel[iTCnt][this.iIC[iTCnt]] = 0;
  1185.                this.aHref[iTCnt][this.iIC[iTCnt]] = "http://www.auscomp.com/buy_online.html";
  1186.                this.aFrame[iTCnt][this.iIC[iTCnt]] = "_blank";
  1187.                this.aHref2[iTCnt][this.iIC[iTCnt]] = "none";
  1188.                this.aFrame2[iTCnt][this.iIC[iTCnt]] = "none";
  1189.                this.aExpand[iTCnt][this.iIC[iTCnt]] = "NO";
  1190.                this.aMO[iTCnt][this.iIC[iTCnt]] = "Click to buy on-line";
  1191.                var10 = this.iIC[iTCnt]++;
  1192.                this.makeNode(iTCnt, this.iIC[iTCnt], "_______________________________", "none", "none");
  1193.                this.iLevel[iTCnt][this.iIC[iTCnt]] = 0;
  1194.                this.aHref[iTCnt][this.iIC[iTCnt]] = "none";
  1195.                this.aFrame[iTCnt][this.iIC[iTCnt]] = "_blank";
  1196.                this.aHref2[iTCnt][this.iIC[iTCnt]] = "none";
  1197.                this.aFrame2[iTCnt][this.iIC[iTCnt]] = "none";
  1198.                this.aExpand[iTCnt][this.iIC[iTCnt]] = "NO";
  1199.                this.aMO[iTCnt][this.iIC[iTCnt]] = "Click to buy on-line";
  1200.                var10 = this.iIC[iTCnt]++;
  1201.             }
  1202.  
  1203.             if (this.iIC[iTCnt] == 0 && iTCnt == 0) {
  1204.                this.iIC[iTCnt] += 2;
  1205.             }
  1206.  
  1207.             this.sLevel = this.sLevel.trim();
  1208.             this.iLevel[iTCnt][this.iIC[iTCnt]] = 0;
  1209.  
  1210.             try {
  1211.                this.iLevel[iTCnt][this.iIC[iTCnt]] = Integer.parseInt(this.sLevel);
  1212.             } catch (Exception var6) {
  1213.             }
  1214.  
  1215.             this.aHref[iTCnt][this.iIC[iTCnt]] = this.sHref;
  1216.             this.aFrame[iTCnt][this.iIC[iTCnt]] = this.sFrame;
  1217.             this.aHref2[iTCnt][this.iIC[iTCnt]] = this.sHref2;
  1218.             this.aFrame2[iTCnt][this.iIC[iTCnt]] = this.sFrame2;
  1219.             this.aMO[iTCnt][this.iIC[iTCnt]] = this.sMO;
  1220.             this.aExpand[iTCnt][this.iIC[iTCnt]] = this.sExpand;
  1221.             this.makeNode(iTCnt, this.iIC[iTCnt], this.sText, this.sPic1, this.sPic2);
  1222.             int var14 = this.iIC[iTCnt]++;
  1223.          }
  1224.       } else {
  1225.          if (this.iIC[iTCnt] == 0) {
  1226.             this.makeNode(iTCnt, this.iIC[iTCnt], "(c)1997-199 Auscomp", "SLauscomp.gif", "SLauscomp.gif");
  1227.             this.iLevel[iTCnt][this.iIC[iTCnt]] = 0;
  1228.             this.aHref[iTCnt][this.iIC[iTCnt]] = "http://www.auscomp.com";
  1229.             this.aFrame[iTCnt][this.iIC[iTCnt]] = "_blank";
  1230.             this.aHref2[iTCnt][this.iIC[iTCnt]] = "none";
  1231.             this.aFrame2[iTCnt][this.iIC[iTCnt]] = "none";
  1232.             this.aExpand[iTCnt][this.iIC[iTCnt]] = "no";
  1233.             this.aMO[iTCnt][this.iIC[iTCnt]] = "1st JAVA Navigator is a product from Auscomp - World Wide.";
  1234.             int var10002 = this.iIC[iTCnt]++;
  1235.             this.makeNode(iTCnt, this.iIC[iTCnt], "Copyright parameter missing!", "none", "none");
  1236.             this.iLevel[iTCnt][this.iIC[iTCnt]] = 0;
  1237.             this.aHref[iTCnt][this.iIC[iTCnt]] = "http://www.auscomp.com";
  1238.             this.aFrame[iTCnt][this.iIC[iTCnt]] = "_blank";
  1239.             this.aHref2[iTCnt][this.iIC[iTCnt]] = "none";
  1240.             this.aFrame2[iTCnt][this.iIC[iTCnt]] = "none";
  1241.             this.aExpand[iTCnt][this.iIC[iTCnt]] = "no";
  1242.             this.aMO[iTCnt][this.iIC[iTCnt]] = "Copyright parameter missing!";
  1243.             var10002 = this.iIC[iTCnt]++;
  1244.          }
  1245.  
  1246.       }
  1247.    }
  1248.  
  1249.    public JAVATabTree() {
  1250.       this.cBackground = Color.white;
  1251.       this.sTREE_STYLE = "AXAA";
  1252.       this.sTREE_MOUSEOVERFRAME = "none";
  1253.       this.iTREE_LINESTEP = 2;
  1254.       this.sTREE_TOOLTIP = "yes";
  1255.       this.sTREE_BORDER = "no";
  1256.       this.sTREE_DOUBLECLICK = "no";
  1257.       this.sMOUSEOVERSOUND = "none";
  1258.       this.sMOUSECLICKSOUND = "none";
  1259.       this.sSHOWTABSONLY = "NO";
  1260.       this.sTabColorParam = new String[]{"TAB_BG", "TAB_FG", "TAB_MOUSEOVER"};
  1261.       this.sColorParam = new String[]{"TREE_BG", "TREE_FG", "TREE_SEL_BG", "TREE_SEL_FG", "TREE_MOUSEOVER", "TREE_LINECOLOR", "TREE_FOLDEROCOLOR", "TREE_FOLDERCCOLOR", "TREE_LEAFCOLOR", "TREE_TOOLTIPBACKCOLOR", "TREE_TOOLTIPFORECOLOR", "TREE_MOUSEOVERFRAMECOLOR"};
  1262.       this.sNormalParam = new String[]{"TREE_STYLE", "TREE_MOUSEOVERFRAME", "TREE_LINESTEP", "TREE_TOOLTIP", "TREE_BORDER", "TREE_DOUBLECLICK", "TREE_AUTOEXPAND"};
  1263.       this.sImageParam = new String[]{"FOLDER_OPEN", "FOLDER_CLOSED", "LEAF", "TREE_BG_IMAGE"};
  1264.    }
  1265. }
  1266.