home *** CD-ROM | disk | FTP | other *** search
/ CD Actual Thematic 7: Programming / CDAT7.iso / Share / Java / JDesignerPro / Jdp3_0.exe / data1.cab / Program_Files / JDPInteractionMgr.class (.txt) < prev    next >
Encoding:
Java Class File  |  1999-04-09  |  35.8 KB  |  2,609 lines

  1. import java.awt.BorderLayout;
  2. import java.awt.Component;
  3. import java.awt.Container;
  4. import java.awt.Dimension;
  5. import java.awt.Event;
  6. import java.awt.Font;
  7. import java.awt.Label;
  8. import java.awt.Panel;
  9. import java.awt.TextArea;
  10. import java.awt.TextComponent;
  11. import java.awt.TextField;
  12. import java.awt.Toolkit;
  13. import java.util.StringTokenizer;
  14. import java.util.Vector;
  15.  
  16. public class JDPInteractionMgr extends JDPClassLayout {
  17.    JDPLayoutMgr target;
  18.    JDPJagg jaggSQL;
  19.    JDPPopupMessage popuppanel;
  20.    Panel targetPanel;
  21.    JDPDragItem dragPanel;
  22.    JDPSplitPanel Main;
  23.    JDPTabSelectPanel TabPanel1;
  24.    Panel Panel1;
  25.    JDPTreePicker methodTree;
  26.    JDPSplitPanel Panel2;
  27.    JDPTreePicker parameterTree;
  28.    JDPTreePicker methodPropertyTree;
  29.    TextArea eventSource;
  30.    JDPTreePicker eventTree;
  31.    JDPTreeBranch lastSelectedEvent;
  32.    JDPTreeBranch lastSelectedParameter;
  33.    String prevCompTypes;
  34.    JDPList methodList;
  35.    JDPList sourceEditorList;
  36.    String sourceSelected;
  37.    JDPSpinner currentLine;
  38.    Vector components;
  39.    Vector classMethods;
  40.    Vector returnMethods;
  41.    Vector returnTypeVector;
  42.    StringBuffer thisEntry;
  43.    StringTokenizer stok;
  44.    int lastCursorStartPos;
  45.    int lastCursorEndPos;
  46.    String sepChars = " \t\n\r;()/*[]\\!|&%$#@";
  47.    StringBuffer textSoFar;
  48.    String beforeSelection;
  49.    String afterSelection;
  50.    int saveSelectionStartPos;
  51.    Vector listItems;
  52.    TextField searchFor;
  53.    int lastSearchLine;
  54.    JDPButtons searchButtons;
  55.    JDPButton methodsButton;
  56.    Panel eventSourcePanel;
  57.    JDPSplitPanel eventSourcePanelFrame;
  58.    String globalSource;
  59.    Thread thisThread;
  60.    boolean threadRunning;
  61.  
  62.    void removeSelectedMethod() {
  63.       JDPTreeBranch[] var1 = this.eventTree.getTreeBranch(this.eventTree.getCurrentBranch());
  64.       this.eventTree.removeTreeBranch(this.eventTree.getCurrentBranch());
  65.       if (var1[2].leaves.size() == 0) {
  66.          this.eventTree.removeTreeBranch(var1[2]);
  67.          this.TabPanel1.select(0);
  68.       }
  69.  
  70.       this.clearParameterTree();
  71.       this.clearMethodPropertyTree();
  72.    }
  73.  
  74.    void dragAndDrop(String var1, JDPTreeBranch[] var2, JDPTreeBranch[] var3) {
  75.       if (var2 != null && var3 != null && var1 != null) {
  76.          if (var1.equals("Methods")) {
  77.             this.eventTree.setDropKeys((Object[])null);
  78.             this.eventTree.setDragAndDrop((boolean[])null);
  79.             int[] var4 = new int[]{4, 1, 2, 1};
  80.             String[] var5 = new String[]{"", null, null, null};
  81.             boolean[] var6 = new boolean[]{true, true, true, false};
  82.             this.eventTree.setIcons(var4);
  83.             this.eventTree.setExpanded(var6);
  84.             var5[0] = var3[1].name;
  85.             var5[1] = var2[var2.length - 3].name;
  86.             var5[2] = var2[var2.length - 1].name;
  87.             var4[2] = var2[var2.length - 3].icon;
  88.             var4[3] = 1;
  89.             var3[1].expanded = true;
  90.             this.eventTree.addEntry(var5, var4, var2[var2.length - 2].name);
  91.             this.eventTree.select(var5);
  92.             this.eventTree.reDraw();
  93.             this.lastSelectedEvent = this.eventTree.getLastAddedBranch();
  94.             this.TabPanel1.select(1);
  95.             JDPTreeBranch var7 = this.eventTree.getCurrentBranch();
  96.             JDPTreeBranch var8 = this.loadParameterTree(this.parameterTree, var7, this.eventTree.getTreeBranch(var7));
  97.             if (var2[2].name.equals("Local Methods")) {
  98.                var7.compPosition = "Local Methods";
  99.             }
  100.  
  101.             var7.treeVector.setElementAt(var8, 0);
  102.             this.eventSource.setText(this.target.gSource.constructEventSource(this.eventTree.getTreeBranch(this.eventTree.getCurrentBranch())));
  103.             this.clearMethodPropertyTree();
  104.             this.target.setAppChanged(true);
  105.          }
  106.  
  107.          if (var1.equals("MethodProperty")) {
  108.             if (!var3[var3.length - 1].equals(this.parameterTree.getCurrentBranch())) {
  109.                return;
  110.             }
  111.  
  112.             this.parameterTree.setDropKeys((Object[])null);
  113.             this.parameterTree.setDragAndDrop((boolean[])null);
  114.             int[] var9 = new int[]{4, 1, 2, 1};
  115.             String[] var11 = new String[]{"", null, null, null};
  116.             boolean[] var13 = new boolean[]{true, true, true, false};
  117.             this.parameterTree.setIcons(var9);
  118.             this.parameterTree.setExpanded(var13);
  119.             var11[0] = var3[1].name;
  120.             var11[1] = var2[var2.length - 3].name;
  121.             var11[2] = var2[var2.length - 1].name;
  122.             var9[2] = var2[var2.length - 3].icon;
  123.             var9[3] = 1;
  124.             var3[1].expanded = true;
  125.             var3[1].leaves = null;
  126.             var3[1].leaves = new Vector();
  127.             this.parameterTree.addEntry(var11, var9, var2[var2.length - 2].name);
  128.             this.parameterTree.reDraw();
  129.             JDPTreeBranch var15 = this.parameterTree.getLastAddedBranch();
  130.             var15.compType = var2[var2.length - 2].name;
  131.             var15.compPosition = var2[var2.length - 1].compPosition;
  132.             this.parameterTree.getTreeBranch(var15)[2].iconImage = var2[var2.length - 3].iconImage;
  133.             this.eventSource.setText(this.target.gSource.constructEventSource(this.eventTree.getTreeBranch(this.eventTree.getCurrentBranch())));
  134.             this.target.setAppChanged(true);
  135.          }
  136.  
  137.          if (var1.equals("MethodPropertyVar")) {
  138.             if (!var3[var3.length - 1].equals(this.parameterTree.getCurrentBranch())) {
  139.                return;
  140.             }
  141.  
  142.             this.parameterTree.setDropKeys((Object[])null);
  143.             this.parameterTree.setDragAndDrop((boolean[])null);
  144.             int[] var10 = new int[]{4, 1, 2, 1};
  145.             String[] var12 = new String[]{"", null, null};
  146.             boolean[] var14 = new boolean[]{true, true, false};
  147.             this.parameterTree.setIcons(var10);
  148.             this.parameterTree.setExpanded(var14);
  149.             var12[0] = var3[1].name;
  150.             var12[1] = var2[var2.length - 1].name;
  151.             var10[2] = var2[var2.length - 1].icon;
  152.             var3[1].expanded = true;
  153.             var3[1].leaves = null;
  154.             var3[1].leaves = new Vector();
  155.             this.parameterTree.addEntry(var12, var10, var2[var2.length - 1].name);
  156.             this.parameterTree.reDraw();
  157.             JDPTreeBranch var16 = this.parameterTree.getLastAddedBranch();
  158.             var16.compType = var2[var2.length - 1].name;
  159.             var16.compPosition = var2[var2.length - 1].compPosition;
  160.             this.parameterTree.getTreeBranch(var16)[2].iconImage = var2[var2.length - 1].iconImage;
  161.             this.eventSource.setText(this.target.gSource.constructEventSource(this.eventTree.getTreeBranch(this.eventTree.getCurrentBranch())));
  162.             this.target.setAppChanged(true);
  163.          }
  164.  
  165.       }
  166.    }
  167.  
  168.    void removeLocalMethodNames(JDPTreeBranch var1) {
  169.       String[] var2 = new String[]{this.methodTree.treeRoot.name, var1.name, "Local Methods"};
  170.       this.methodTree.removeBranch(var2);
  171.    }
  172.  
  173.    void extractMethodNames(JDPTreePicker var1, JDPTreeBranch var2, boolean var3) {
  174.       if (var1 != null) {
  175.          String[] var6 = new String[]{var1.treeRoot.name, var2.name, "Local Methods"};
  176.          var1.removeBranch(var6);
  177.          if (var2.text != null && var2.text.length > 0) {
  178.             String[] var7 = new String[3];
  179.             int[] var8 = new int[4];
  180.             boolean[] var9 = new boolean[]{true, false, true, false};
  181.             var1.setExpanded(var9);
  182.  
  183.             for(int var10 = 0; var10 < var2.text.length; ++var10) {
  184.                String var4 = var2.text[var10];
  185.                if (var4 != null) {
  186.                   int var5 = var4.indexOf("|");
  187.                   if (var5 > 0) {
  188.                      var7[0] = var2.name;
  189.                      var7[1] = var2.compType;
  190.                      var7[1] = "Local Methods";
  191.                      var7[2] = var4.substring(0, var5);
  192.                      var8[1] = var2.icon;
  193.                      var8[2] = 2;
  194.                      var8[3] = 1;
  195.                      String var11 = var2.compType;
  196.                      if (var2.thisObject != null) {
  197.                         var11 = var2.thisObject.toString();
  198.                         if (var11.indexOf("[") > 0) {
  199.                            var11 = var11.substring(0, var11.indexOf("["));
  200.                         }
  201.                      }
  202.  
  203.                      if (var11.equals("JDPGridLayout")) {
  204.                         var11 = "JDPTextGrid";
  205.                      }
  206.  
  207.                      if (var11.equals("JDPChartLayout")) {
  208.                         var11 = "JDPChart";
  209.                      }
  210.  
  211.                      int var12 = var4.indexOf("(");
  212.                      if (var12 > var5 && var4.substring(var5, var12).indexOf("public") >= 0) {
  213.                         var1.addEntry(var7, var8, var11);
  214.                      }
  215.                   }
  216.                }
  217.             }
  218.          }
  219.  
  220.          if (var3 && var2.leaves != null) {
  221.             for(int var13 = 0; var13 < var2.leaves.size(); ++var13) {
  222.                JDPTreeBranch var14 = (JDPTreeBranch)var2.leaves.elementAt(var13);
  223.                this.extractMethodNames(var1, var14, var3);
  224.             }
  225.          }
  226.  
  227.       }
  228.    }
  229.  
  230.    public void loadMethodAndVariableNames(JDPList var1, String var2, String var3) {
  231.       if (this.thisEntry == null) {
  232.          this.thisEntry = new StringBuffer();
  233.       }
  234.  
  235.       String var11 = this.jaggSQL.getSEP();
  236.       boolean var12 = true;
  237.       if (var2 != null) {
  238.          if (var2.startsWith("this.")) {
  239.             var2 = var2.substring(5);
  240.          } else {
  241.             this.loadMethodsFromName(var1, this.target.compTree, var2);
  242.          }
  243.       }
  244.  
  245.       this.getVarsFromSource(var2, var3, this.beforeSelection, var1);
  246.       if (this.globalSource == null) {
  247.          this.globalSource = this.target.gSource.templateSource[0].substring(0, this.target.gSource.templateSource[0].indexOf("<Components>"));
  248.       }
  249.  
  250.       this.getVarsFromSource(var2, var3, this.globalSource, var1);
  251.  
  252.       for(int var13 = 0; var13 < this.returnMethods.size(); ++var13) {
  253.          String var10 = (String)this.returnMethods.elementAt(var13);
  254.          if (!var10.equals(" ")) {
  255.             this.stok = new StringTokenizer(var10, var11);
  256.             if (this.stok.countTokens() > 2) {
  257.                String var7 = this.stok.nextToken();
  258.                if (var2 != null) {
  259.                   if (var7.startsWith(var2) && this.listItems.indexOf(var7) < 0) {
  260.                      var1.addItem(var7);
  261.                      this.listItems.addElement(var7);
  262.                   }
  263.                } else {
  264.                   this.loadVariablesFromType(var1, this.target.compTree, var3);
  265.                   this.stok.nextToken();
  266.                   int var14 = Integer.parseInt(this.stok.nextToken());
  267.                   Vector var15 = (Vector)this.classMethods.elementAt(var14);
  268.                   Vector var16 = (Vector)var15.elementAt(1);
  269.  
  270.                   for(int var17 = 0; var17 < var16.size(); ++var17) {
  271.                      var10 = (String)var16.elementAt(var17);
  272.                      if (!var10.equals(" ")) {
  273.                         this.stok = new StringTokenizer(var10, var11);
  274.                         if (this.stok.countTokens() > 4) {
  275.                            String var9 = this.stok.nextToken();
  276.                            this.stok.nextToken();
  277.                            String var6 = this.stok.nextToken();
  278.                            String var8 = this.stok.nextToken();
  279.                            String var5 = convertParm(this.stok.nextToken());
  280.                            this.thisEntry.setLength(0);
  281.                            if (var5.equals(var3)) {
  282.                               this.thisEntry.append(var7 + "." + var6 + "(");
  283.                               var12 = true;
  284.  
  285.                               while(this.stok.hasMoreTokens()) {
  286.                                  if (!var12) {
  287.                                     this.thisEntry.append(",");
  288.                                  }
  289.  
  290.                                  var12 = false;
  291.                                  this.thisEntry.append(convertParm(this.stok.nextToken()));
  292.                               }
  293.  
  294.                               this.thisEntry.append(")");
  295.                               String var4 = this.thisEntry.toString();
  296.                               if (this.listItems.indexOf(var4) < 0) {
  297.                                  var1.addItem(var4);
  298.                                  this.listItems.addElement(var4);
  299.                               }
  300.                            }
  301.                         }
  302.                      }
  303.                   }
  304.                }
  305.             }
  306.          }
  307.       }
  308.  
  309.       if (var1.countItems() > 0) {
  310.          var1.sortList();
  311.          ((JDPTreePicker)var1).select(0);
  312.       }
  313.  
  314.    }
  315.  
  316.    void loadSourceBuilderTree(JDPTreePicker var1, String var2) {
  317.       this.loadSourceBuilderTree(var1, var2, (JDPTreeBranch)null);
  318.    }
  319.  
  320.    public void startThread() {
  321.       if (this.threadRunning) {
  322.          if (this.thisThread != null) {
  323.             this.thisThread.interrupt();
  324.             return;
  325.          }
  326.       } else {
  327.          this.threadRunning = true;
  328.          this.thisThread = new Thread(this);
  329.          this.thisThread.start();
  330.       }
  331.  
  332.    }
  333.  
  334.    void loadSourceBuilderTree(JDPTreePicker var1, String var2, JDPTreeBranch var3) {
  335.       var2 = super.user.u.replace(var2, "<", "");
  336.       var2 = super.user.u.replace(var2, ">", "");
  337.       var1.setDropKeys((Object[])null);
  338.       var1.setDragAndDrop((boolean[])null);
  339.       this.loadSourceBuilderParameterTree(var1, var2, var3);
  340.    }
  341.  
  342.    public void loadObjectsIntoMethodTree(JDPTreePicker var1, JDPTreeBranch var2, String var3) {
  343.       int[] var4 = new int[]{4, 8, 1};
  344.       String[] var5 = new String[]{"", null, null, null};
  345.       boolean[] var6 = new boolean[]{true, false, true, false};
  346.       var1.setIcons(var4);
  347.       var1.setExpanded(var6);
  348.       if (!var2.compType.equals(var3) && (!var2.compType.startsWith("java") || !var2.compType.endsWith(var3) || var3.equals("Create from other object"))) {
  349.          if (var2.thisObject != null) {
  350.             try {
  351.                Class var11 = var2.thisObject.getClass();
  352.                if (var11 == null) {
  353.                   var11 = Class.forName(var2.compType);
  354.                }
  355.  
  356.                for(; var11 != null; var11 = var11.getSuperclass()) {
  357.                   if (var11.getName().equals(var3) || var11.getName().startsWith("java") && var11.getName().endsWith(var3)) {
  358.                      var5[0] = var2.name + " ";
  359.                      var4[1] = var2.icon;
  360.                      var1.addEntry(var5, var4, var5[0]);
  361.                   }
  362.                }
  363.             } catch (Exception var10) {
  364.                ((Throwable)var10).printStackTrace();
  365.             }
  366.          }
  367.       } else {
  368.          var5[0] = var2.name + " ";
  369.          var4[1] = var2.icon;
  370.          var1.addEntry(var5, var4, var5[0]);
  371.          JDPTreeBranch var7 = var1.getLastAddedBranch();
  372.          var7.thisObject = var2.thisObject;
  373.       }
  374.  
  375.       if (var2.leaves != null) {
  376.          for(int var12 = 0; var12 < var2.leaves.size(); ++var12) {
  377.             JDPTreeBranch var8 = (JDPTreeBranch)var2.leaves.elementAt(var12);
  378.             this.loadObjectsIntoMethodTree(var1, var8, var3);
  379.          }
  380.       }
  381.  
  382.    }
  383.  
  384.    public void loadMethodsFromName(JDPList var1, JDPTreeBranch var2, String var3) {
  385.       String var6 = "|";
  386.       if (var2.text != null) {
  387.          for(int var10 = 0; var10 < var2.text.length; ++var10) {
  388.             String var8 = var2.text[var10];
  389.             if (var8 != null && var8.startsWith(var3)) {
  390.                int var4 = var8.indexOf(var6);
  391.                if (var4 > 0) {
  392.                   String var7 = var8.substring(0, var4) + "(";
  393.                   var4 = var8.indexOf("(");
  394.                   int var5 = var8.indexOf(")");
  395.                   if (var4 > 0 && var5 > 0) {
  396.                      boolean var9 = true;
  397.                      StringTokenizer var11 = new StringTokenizer(var8.substring(var4 + 1, var5), " ,\n\t\r");
  398.  
  399.                      while(var11.hasMoreTokens()) {
  400.                         if (!var9) {
  401.                            var7 = var7 + ",";
  402.                         }
  403.  
  404.                         var9 = false;
  405.                         var7 = var7 + var11.nextToken();
  406.                         var11.nextToken();
  407.                      }
  408.  
  409.                      var7 = var7 + ")";
  410.                      if (this.listItems.indexOf(var7) < 0) {
  411.                         var1.addItem(var7);
  412.                         this.listItems.addElement(var7);
  413.                      }
  414.                   }
  415.                }
  416.             }
  417.          }
  418.       }
  419.  
  420.       if (var2.leaves != null) {
  421.          for(int var14 = 0; var14 < var2.leaves.size(); ++var14) {
  422.             JDPTreeBranch var15 = (JDPTreeBranch)var2.leaves.elementAt(var14);
  423.             this.loadMethodsFromName(var1, var15, var3);
  424.          }
  425.       }
  426.  
  427.    }
  428.  
  429.    boolean loadEventSource() {
  430.       if (this.TabPanel1.getSelectedIndex() == 0) {
  431.          this.TabPanel1.select(1);
  432.          this.clearMethodPropertyTree();
  433.       }
  434.  
  435.       this.clearParameterTree();
  436.       JDPTreeBranch var1 = this.eventTree.getCurrentBranch();
  437.       if (var1 == null) {
  438.          return false;
  439.       } else {
  440.          JDPTreeBranch var2 = this.loadParameterTree(this.parameterTree, var1, this.eventTree.getTreeBranch(var1));
  441.          var1.treeVector.setElementAt(var2, 0);
  442.          if (var1.text == null || var1.text[0] == null) {
  443.             var1.text = new String[1];
  444.             var1.text[0] = this.target.gSource.constructEventSource(this.eventTree.getTreeBranch(this.eventTree.getCurrentBranch()));
  445.          }
  446.  
  447.          this.TabPanel1.select(2);
  448.          this.eventSource.setText(var1.text[0]);
  449.          if (this.lastSelectedEvent != null && this.lastSelectedEvent.equals(var1)) {
  450.             return false;
  451.          } else {
  452.             this.lastSelectedEvent = var1;
  453.             return true;
  454.          }
  455.       }
  456.    }
  457.  
  458.    public void loadMethodList(TextArea var1, JDPList var2) {
  459.       int var3 = ((TextComponent)var1).getSelectionStart();
  460.       int var4 = ((TextComponent)var1).getSelectionEnd();
  461.       if (var3 >= 1 && var4 >= 1) {
  462.          Object var5 = null;
  463.          this.beforeSelection = null;
  464.          this.afterSelection = null;
  465.          this.listItems = new Vector();
  466.          String var6 = ((TextComponent)var1).getText();
  467.          String var7 = ((TextComponent)var1).getText();
  468.          int var8 = 0;
  469.          if (System.getProperty("java.version").startsWith("1.1") && System.getProperty("java.vendor").startsWith("Sun")) {
  470.             var6 = super.user.u.replace(var6, "\n", "\n ");
  471.  
  472.             for(int var9 = var3; (var9 = var6.lastIndexOf("\n", var9 - 1)) >= 0; --var3) {
  473.                ++var8;
  474.             }
  475.  
  476.             for(int var19 = var4; (var19 = var6.lastIndexOf("\n", var19 - 1)) >= 0; --var4) {
  477.             }
  478.          }
  479.  
  480.          this.beforeSelection = var7.substring(0, var3);
  481.          this.afterSelection = var7.substring(var4);
  482.          this.saveSelectionStartPos = var3;
  483.          if (var3 == var4) {
  484.             if (this.textSoFar == null) {
  485.                this.textSoFar = new StringBuffer();
  486.             }
  487.  
  488.             String var20 = var7.substring(var3 - 1, var3);
  489.             if (this.sepChars.indexOf(var20) >= 0) {
  490.                return;
  491.             }
  492.  
  493.             Object var10 = null;
  494.             String var11 = null;
  495.             int var12 = var3;
  496.             this.textSoFar.setLength(0);
  497.             boolean var13 = false;
  498.  
  499.             while(!var20.equals("") && this.sepChars.indexOf(var20) < 0) {
  500.                if (var20.equals(".") && var11 == null) {
  501.                   var13 = true;
  502.                   var11 = this.textSoFar.toString();
  503.                   this.textSoFar.setLength(0);
  504.                   this.beforeSelection = var7.substring(0, var12);
  505.                   this.saveSelectionStartPos = var12;
  506.                } else {
  507.                   this.textSoFar.insert(0, var20);
  508.                }
  509.  
  510.                --var12;
  511.                if (var12 == 0) {
  512.                   var20 = "";
  513.                } else {
  514.                   var20 = var7.substring(var12 - 1, var12);
  515.                }
  516.             }
  517.  
  518.             String var21 = this.textSoFar.toString();
  519.             if (var21.equals("this")) {
  520.                var21 = var11;
  521.                var11 = null;
  522.                var12 += 5;
  523.             }
  524.  
  525.             if (var11 == null) {
  526.                this.beforeSelection = var7.substring(0, var12);
  527.                this.saveSelectionStartPos = var12;
  528.             }
  529.  
  530.             if (var21 != null && var11 == null) {
  531.                var2.clear();
  532.                this.loadMethodAndVariableNames(var2, var21, (String)null);
  533.                if ((var2.countItems() != 1 || !var2.getItem(0).equals(var21)) && var2.countItems() > 0) {
  534.                   this.setMethodListVisible(true);
  535.                   ((Component)var2).requestFocus();
  536.                }
  537.             } else {
  538.                String var14 = this.getGlobalVariableType(var21);
  539.                if (var14 != null) {
  540.                   this.loadVariableMethods(var2, var14, var21, var11, 0);
  541.                   if (var2.countItems() > 0) {
  542.                      this.setMethodListVisible(true);
  543.                      ((Component)var2).requestFocus();
  544.                   }
  545.                } else {
  546.                   this.loadVariableMethods(var2, var21, var21, var11, 8);
  547.                   if (var2.countItems() > 0) {
  548.                      this.setMethodListVisible(true);
  549.                      ((Component)var2).requestFocus();
  550.                   }
  551.                }
  552.             }
  553.          } else if (var4 - var3 < 40) {
  554.             String var15 = var7.substring(var3, var4);
  555.             if (var15.indexOf(" ") < 0 && var15.indexOf("\t") < 0 && var15.indexOf("\n") < 0) {
  556.                var15 = super.user.u.replace(var15, "<", "");
  557.                var15 = super.user.u.replace(var15, ">", "");
  558.                this.loadMethodsForReturnValue(var2, var15);
  559.                this.loadMethodAndVariableNames(var2, (String)null, var15);
  560.                if (var2.countItems() > 0) {
  561.                   this.setMethodListVisible(true);
  562.                   ((Component)var2).requestFocus();
  563.                }
  564.             }
  565.          }
  566.  
  567.          this.saveSelectionStartPos += var8;
  568.       }
  569.    }
  570.  
  571.    public void loadMethodsFromReturnType(JDPList var1, JDPTreeBranch var2, String var3) {
  572.       String var6 = "|";
  573.       if (var2.text != null) {
  574.          for(int var11 = 0; var11 < var2.text.length; ++var11) {
  575.             String var9 = var2.text[var11];
  576.             if (var9 != null) {
  577.                int var4 = var9.indexOf("public");
  578.                if (var4 > 0) {
  579.                   String var8 = var9.substring(var4 + 7);
  580.                   var8 = var8.substring(0, var8.indexOf(" "));
  581.                   if (var8.equals(var3)) {
  582.                      var4 = var9.indexOf(var6);
  583.                      String var7 = var9.substring(0, var4) + "(";
  584.                      var4 = var9.indexOf("(");
  585.                      int var5 = var9.indexOf(")");
  586.                      if (var4 > 0 && var5 > 0) {
  587.                         boolean var10 = true;
  588.                         StringTokenizer var12 = new StringTokenizer(var9.substring(var4 + 1, var5), " ,\n\t\r");
  589.  
  590.                         while(var12.hasMoreTokens()) {
  591.                            if (!var10) {
  592.                               var7 = var7 + ",";
  593.                            }
  594.  
  595.                            var10 = false;
  596.                            var7 = var7 + var12.nextToken();
  597.                            var12.nextToken();
  598.                         }
  599.  
  600.                         var7 = var7 + ")";
  601.                         if (this.listItems.indexOf(var7) < 0) {
  602.                            var1.addItem(var7);
  603.                            this.listItems.addElement(var7);
  604.                         }
  605.                      }
  606.                   }
  607.                }
  608.             }
  609.          }
  610.       }
  611.  
  612.       if (var2.leaves != null) {
  613.          for(int var17 = 0; var17 < var2.leaves.size(); ++var17) {
  614.             JDPTreeBranch var18 = (JDPTreeBranch)var2.leaves.elementAt(var17);
  615.             this.loadMethodsFromReturnType(var1, var18, var3);
  616.          }
  617.       }
  618.  
  619.    }
  620.  
  621.    public void loadMethodsForReturnValue(JDPList var1, String var2) {
  622.       var1.clear();
  623.       if (this.thisEntry == null) {
  624.          this.thisEntry = new StringBuffer();
  625.       }
  626.  
  627.       String var10 = this.jaggSQL.getSEP();
  628.       var2 = super.user.u.replace(var2, "<", "");
  629.       var2 = super.user.u.replace(var2, ">", "");
  630.       boolean var11 = true;
  631.       this.loadMethodsFromReturnType(var1, this.target.compTree, var2);
  632.  
  633.       for(int var12 = 0; var12 < this.returnMethods.size(); ++var12) {
  634.          String var9 = (String)this.returnMethods.elementAt(var12);
  635.          if (!var9.equals(" ")) {
  636.             this.stok = new StringTokenizer(var9, var10);
  637.             if (this.stok.countTokens() > 2) {
  638.                String var6 = this.stok.nextToken();
  639.                if (!var6.startsWith("user")) {
  640.                   this.stok.nextToken();
  641.                   int var13 = Integer.parseInt(this.stok.nextToken());
  642.                   Vector var14 = (Vector)this.classMethods.elementAt(var13);
  643.                   Vector var15 = (Vector)var14.elementAt(1);
  644.  
  645.                   for(int var16 = 0; var16 < var15.size(); ++var16) {
  646.                      var9 = (String)var15.elementAt(var16);
  647.                      if (!var9.equals(" ")) {
  648.                         this.stok = new StringTokenizer(var9, var10);
  649.                         if (this.stok.countTokens() > 4) {
  650.                            String var8 = this.stok.nextToken();
  651.                            this.stok.nextToken();
  652.                            String var5 = this.stok.nextToken();
  653.                            String var7 = this.stok.nextToken();
  654.                            String var4 = convertParm(this.stok.nextToken());
  655.                            if (var4.equals(var2)) {
  656.                               this.thisEntry.setLength(0);
  657.                               this.thisEntry.append(var6 + ".");
  658.                               this.thisEntry.append(var5 + "(");
  659.                               var11 = true;
  660.  
  661.                               while(this.stok.hasMoreTokens()) {
  662.                                  if (!var11) {
  663.                                     this.thisEntry.append(",");
  664.                                  }
  665.  
  666.                                  var11 = false;
  667.                                  this.thisEntry.append(convertParm(this.stok.nextToken()));
  668.                               }
  669.  
  670.                               this.thisEntry.append(")");
  671.                               String var3 = this.thisEntry.toString();
  672.                               if (this.listItems.indexOf(var3) < 0) {
  673.                                  var1.addItem(var3);
  674.                                  this.listItems.addElement(var3);
  675.                               }
  676.                            }
  677.                         }
  678.                      }
  679.                   }
  680.                }
  681.             }
  682.          }
  683.       }
  684.  
  685.    }
  686.  
  687.    void clearMethodTree() {
  688.       int[] var1 = new int[]{4, 0, 2, 1};
  689.       this.methodTree.setIcons(var1);
  690.       this.methodTree.setRoot("Select or drag a method to the Event tree", true);
  691.       this.sourceSelected = "";
  692.       this.target.sourceSelected = "";
  693.    }
  694.  
  695.    void loadMethodTree(JDPTreeBranch var1, boolean var2) {
  696.       if (!this.target.appType.equals("NonVisualApp")) {
  697.          this.components = this.loadComponents(var1, (Vector)null);
  698.          Object[] var3 = new Object[]{null, null, null, "Methods"};
  699.          this.methodTree.setDropKeys(var3);
  700.          this.methodTree.setDragAndDrop((boolean[])null);
  701.          int[] var4 = new int[]{4, 0, 2, 1};
  702.          String[] var5 = new String[]{"", null, null, null};
  703.          this.methodTree.setIcons(var4);
  704.          boolean[] var6 = new boolean[]{true, var2, true, false};
  705.          this.methodTree.setExpanded(var6);
  706.          if (!var2) {
  707.             this.removeLocalMethodNames(var1);
  708.             this.extractMethodNames(this.methodTree, var1, var1.equals(this.target.compTree));
  709.          }
  710.  
  711.          for(int var7 = 0; var7 < this.components.size(); ++var7) {
  712.             var5[0] = ((String[])this.components.elementAt(var7))[1];
  713.             var5[1] = "";
  714.             var4[1] = Integer.parseInt(((String[])this.components.elementAt(var7))[2]);
  715.             var4[2] = 2;
  716.             var4[3] = 1;
  717.             this.methodTree.addEntry(var5, var4, ((String[])this.components.elementAt(var7))[0]);
  718.          }
  719.  
  720.          if (var2) {
  721.             boolean var20 = true;
  722.             String var9 = "";
  723.             String var10 = this.jaggSQL.getSEP();
  724.  
  725.             for(int var11 = 0; var11 < this.components.size(); ++var11) {
  726.                Vector var12 = this.getClassMethods((String[])this.components.elementAt(var11));
  727.  
  728.                for(int var13 = 0; var13 < var12.size(); ++var13) {
  729.                   Vector var14 = (Vector)var12.elementAt(var13);
  730.                   Vector var15 = (Vector)var14.elementAt(1);
  731.                   String var16 = "";
  732.                   String var17 = "";
  733.  
  734.                   for(int var18 = 0; var18 < var15.size(); ++var18) {
  735.                      var17 = (String)var15.elementAt(var18);
  736.                      if (!var17.equals(" ")) {
  737.                         StringTokenizer var8 = new StringTokenizer(var17, var10);
  738.                         var5[0] = ((String[])this.components.elementAt(var11))[1];
  739.                         var4[1] = Integer.parseInt(((String[])this.components.elementAt(var11))[2]);
  740.                         var16 = var8.nextToken();
  741.                         var5[1] = var8.nextToken();
  742.                         var5[2] = var8.nextToken();
  743.                         var4[2] = 2;
  744.                         var4[3] = 1;
  745.                         var8.nextToken();
  746.                         var8.nextToken();
  747.                         if (!var5[1].startsWith("java") && !var5[1].equals("JDPClassLayout") && var5[1].indexOf(".") <= 0) {
  748.                            boolean[] var27 = new boolean[]{true, false, true, false};
  749.                            this.methodTree.setExpanded(var27);
  750.                         } else {
  751.                            boolean[] var19 = new boolean[]{true, false, false, false};
  752.                            this.methodTree.setExpanded(var19);
  753.                         }
  754.  
  755.                         var5[2] = var5[2] + "(";
  756.  
  757.                         for(boolean var21 = true; var8.hasMoreTokens(); var5[2] = var5[2] + convertParm(var9)) {
  758.                            if (!var21) {
  759.                               var5[2] = var5[2] + ",";
  760.                            }
  761.  
  762.                            var21 = false;
  763.                            var9 = var8.nextToken();
  764.                         }
  765.  
  766.                         var5[2] = var5[2] + ")";
  767.                         this.methodTree.addEntry(var5, var4, var16);
  768.                      }
  769.                   }
  770.                }
  771.  
  772.                super.user.mainmsg.clearStatusMsg();
  773.             }
  774.          } else {
  775.             for(int var22 = 0; var22 < this.components.size(); ++var22) {
  776.                this.getClassMethods((String[])this.components.elementAt(var22));
  777.             }
  778.          }
  779.  
  780.          boolean[] var23 = new boolean[4];
  781.          var23[1] = true;
  782.          this.methodTree.sortTree(this.methodTree.treeRoot, var23);
  783.          this.methodTree.reDraw();
  784.       }
  785.    }
  786.  
  787.    void clearMethodPropertyTree() {
  788.       JDPTreeBranch var1 = new JDPTreeBranch();
  789.       this.methodPropertyTree.treeRoot = var1;
  790.       int[] var2 = new int[]{4, 2, 0, 1};
  791.       this.methodPropertyTree.setIcons(var2);
  792.       this.methodPropertyTree.setRoot("Select a method", true);
  793.    }
  794.  
  795.    void loadMethodPropertyTree(JDPTreeBranch var1) {
  796.       this.loadMethodPropertyTree(var1, (JDPTreeBranch)null);
  797.    }
  798.  
  799.    void loadMethodPropertyTree(JDPTreeBranch var1, JDPTreeBranch var2) {
  800.       Object[] var3 = new Object[]{null, null, null, "MethodProperty"};
  801.       this.methodPropertyTree.setDropKeys(var3);
  802.       this.methodPropertyTree.setDragAndDrop((boolean[])null);
  803.       String var4 = var1.name.trim();
  804.       this.loadSourceBuilderParameterTree(this.methodPropertyTree, var4, var2);
  805.    }
  806.  
  807.    Vector getClassMethodVector(String var1, String[] var2) {
  808.       for(int var3 = 0; var3 < this.classMethods.size(); ++var3) {
  809.          Vector var4 = (Vector)this.classMethods.elementAt(var3);
  810.          String var5 = (String)var4.elementAt(0);
  811.          if (var1.equals(var5)) {
  812.             this.addReturnMethods(var1, var2);
  813.             return var4;
  814.          }
  815.       }
  816.  
  817.       return this.loadClassMethodVector(var1, var2);
  818.    }
  819.  
  820.    public void setMethodListVisible(boolean var1) {
  821.       if (var1) {
  822.          this.methodList.show();
  823.       } else {
  824.          this.methodList.hide();
  825.       }
  826.  
  827.       ((Container)this).layout();
  828.       ((Component)this).paintAll(((Component)this).getGraphics());
  829.    }
  830.  
  831.    String findLocalVar(String var1, String var2) {
  832.       int var5 = var2.indexOf("(");
  833.       int var6 = var2.indexOf(")", var5 + 2);
  834.       if (var5 > 0 && var5 < var6) {
  835.          StringTokenizer var7 = new StringTokenizer(var2.substring(var5 + 1, var6), " \n\r\t,");
  836.  
  837.          String var3;
  838.          for(String var4 = null; var7.hasMoreTokens(); var4 = var3) {
  839.             var3 = var7.nextToken();
  840.             if (var3.equals(var1)) {
  841.                return var4;
  842.             }
  843.          }
  844.       }
  845.  
  846.       var5 = var2.indexOf("{");
  847.       if (var5 >= 0 && var5 < var2.length() - 1) {
  848.          this.stok = new StringTokenizer(var2.substring(var5 + 1), "{};");
  849.  
  850.          while(this.stok.hasMoreTokens()) {
  851.             String var8 = this.stok.nextToken();
  852.             StringTokenizer var12 = new StringTokenizer(var8, "\n\r \t;");
  853.  
  854.             String var9;
  855.             for(String var10 = null; var12.hasMoreTokens(); var10 = var9) {
  856.                var9 = var12.nextToken();
  857.                if (var9.equals(var1)) {
  858.                   return var10;
  859.                }
  860.             }
  861.          }
  862.  
  863.          return null;
  864.       } else {
  865.          return null;
  866.       }
  867.    }
  868.  
  869.    public void loadPlaceIntoForVisualApp(JDPComboBox var1, int var2) {
  870.       if (this.thisEntry == null) {
  871.          this.thisEntry = new StringBuffer();
  872.       }
  873.  
  874.       this.listItems = new Vector();
  875.       String var11 = this.jaggSQL.getSEP();
  876.  
  877.       for(int var12 = 0; var12 < this.returnMethods.size(); ++var12) {
  878.          String var10 = (String)this.returnMethods.elementAt(var12);
  879.          if (!var10.equals(" ")) {
  880.             this.stok = new StringTokenizer(var10, var11);
  881.             if (this.stok.countTokens() > 2) {
  882.                String var6 = this.stok.nextToken();
  883.                this.stok.nextToken();
  884.                int var13 = Integer.parseInt(this.stok.nextToken());
  885.                Vector var14 = (Vector)this.classMethods.elementAt(var13);
  886.                Vector var15 = (Vector)var14.elementAt(1);
  887.  
  888.                for(int var16 = 0; var16 < var15.size(); ++var16) {
  889.                   var10 = (String)var15.elementAt(var16);
  890.                   if (!var10.equals(" ")) {
  891.                      this.stok = new StringTokenizer(var10, var11);
  892.                      if (this.stok.countTokens() > 4) {
  893.                         String var7 = this.stok.nextToken();
  894.                         this.stok.nextToken();
  895.                         String var5 = this.stok.nextToken();
  896.                         String var8 = this.stok.nextToken();
  897.                         String var4 = convertParm(this.stok.nextToken());
  898.                         if (this.stok.hasMoreTokens()) {
  899.                            String var9 = this.stok.nextToken();
  900.                            if (var5.startsWith("set") && !this.stok.hasMoreTokens()) {
  901.                               this.thisEntry.setLength(0);
  902.                               if (var9.equals("int") && JDPUtils.isOdbcNum(var2)) {
  903.                                  this.thisEntry.setLength(0);
  904.                                  this.thisEntry.append(var6 + "." + var5 + "(");
  905.                                  this.thisEntry.append("Integer.parseInt(stok.nextToken())");
  906.                                  this.thisEntry.append(")");
  907.                                  String var19 = this.thisEntry.toString();
  908.                                  if (this.listItems.indexOf(var19) < 0) {
  909.                                     var1.addItem(var19);
  910.                                     this.listItems.addElement(var19);
  911.                                  }
  912.                               } else if (var9.equals("long") && JDPUtils.isOdbcNum(var2)) {
  913.                                  this.thisEntry.setLength(0);
  914.                                  this.thisEntry.append(var6 + "." + var5 + "(");
  915.                                  this.thisEntry.append("Long.valueOf(stok.nextToken()).longValue()");
  916.                                  this.thisEntry.append(")");
  917.                                  String var18 = this.thisEntry.toString();
  918.                                  if (this.listItems.indexOf(var18) < 0) {
  919.                                     var1.addItem(var18);
  920.                                     this.listItems.addElement(var18);
  921.                                  }
  922.                               } else if (var9.equals("float") && JDPUtils.isOdbcNum(var2)) {
  923.                                  this.thisEntry.setLength(0);
  924.                                  this.thisEntry.append(var6 + "." + var5 + "(");
  925.                                  this.thisEntry.append("Float.valueOf(stok.nextToken()).floatValue()");
  926.                                  this.thisEntry.append(")");
  927.                                  String var17 = this.thisEntry.toString();
  928.                                  if (this.listItems.indexOf(var17) < 0) {
  929.                                     var1.addItem(var17);
  930.                                     this.listItems.addElement(var17);
  931.                                  }
  932.                               } else if (var9.equals("java.lang.String") && JDPUtils.isOdbcChar(var2)) {
  933.                                  this.thisEntry.setLength(0);
  934.                                  this.thisEntry.append(var6 + "." + var5 + "(");
  935.                                  this.thisEntry.append("stok.nextToken()");
  936.                                  this.thisEntry.append(")");
  937.                                  String var3 = this.thisEntry.toString();
  938.                                  if (this.listItems.indexOf(var3) < 0) {
  939.                                     var1.addItem(var3);
  940.                                     this.listItems.addElement(var3);
  941.                                  }
  942.                               }
  943.                            }
  944.                         }
  945.                      }
  946.                   }
  947.                }
  948.             }
  949.          }
  950.       }
  951.  
  952.    }
  953.  
  954.    void replaceName(String var1, String var2) {
  955.       if (var1 != null && var2 != null) {
  956.          this.eventTree.reDraw();
  957.          this.replaceName(this.methodTree.treeRoot, var1, var2);
  958.          this.methodTree.reDraw();
  959.          this.parameterTree.reDraw();
  960.          this.methodPropertyTree.reDraw();
  961.          String var3 = "";
  962.          String var4 = this.jaggSQL.getSEP();
  963.          if (this.returnMethods != null) {
  964.             for(int var5 = 0; var5 < this.returnMethods.size(); ++var5) {
  965.                var3 = (String)this.returnMethods.elementAt(var5);
  966.                if (var3.startsWith(var1 + var4)) {
  967.                   var3 = super.user.u.replace(var3, var1 + var4, var2 + var4);
  968.                   this.returnMethods.setElementAt(var3, var5);
  969.                }
  970.             }
  971.          }
  972.  
  973.          if (this.returnTypeVector != null) {
  974.             for(int var9 = 0; var9 < this.returnTypeVector.size(); ++var9) {
  975.                String[] var6 = (String[])this.returnTypeVector.elementAt(var9);
  976.                if (var6[0].equals(var1)) {
  977.                   var6[0] = var2;
  978.                   this.returnTypeVector.setElementAt(var6, var9);
  979.                }
  980.             }
  981.          }
  982.  
  983.          this.replaceName(this.methodPropertyTree.treeRoot, var1, var2);
  984.          this.eventSource.setText(super.user.u.replace(this.eventSource.getText(), var1, var2));
  985.       }
  986.    }
  987.  
  988.    void removeMethod(JDPTreeBranch var1) {
  989.       JDPTreeBranch[] var2 = this.methodTree.getTreeBranch(var1.name);
  990.       if (var2 != null) {
  991.          this.methodTree.removeTreeBranch(var2[var2.length - 1]);
  992.          if (var1.leaves != null) {
  993.             for(int var3 = 0; var3 < var1.leaves.size(); ++var3) {
  994.                JDPTreeBranch var4 = (JDPTreeBranch)var1.leaves.elementAt(var3);
  995.                this.removeMethod(var4);
  996.             }
  997.          }
  998.  
  999.          String var8 = "";
  1000.          String var10 = this.jaggSQL.getSEP();
  1001.          if (this.returnMethods != null) {
  1002.             int var5 = this.returnMethods.size();
  1003.  
  1004.             for(int var6 = 0; var6 < var5; ++var6) {
  1005.                var8 = (String)this.returnMethods.elementAt(var6);
  1006.                if (var8.startsWith(var1.name + var10)) {
  1007.                   while(!var8.equals(" ") && var6 < var5) {
  1008.                      this.returnMethods.removeElementAt(var6);
  1009.                      --var5;
  1010.                      if (var6 < var5) {
  1011.                         var8 = (String)this.returnMethods.elementAt(var6);
  1012.                      }
  1013.                   }
  1014.                }
  1015.             }
  1016.          }
  1017.  
  1018.          if (this.returnTypeVector != null) {
  1019.             int var11 = this.returnTypeVector.size();
  1020.  
  1021.             for(int var12 = 0; var12 < var11; ++var12) {
  1022.                String[] var7 = (String[])this.returnTypeVector.elementAt(var12);
  1023.                if (var7[0].equals(var1.name)) {
  1024.                   this.returnTypeVector.removeElementAt(var12);
  1025.                   --var12;
  1026.                   --var11;
  1027.                }
  1028.             }
  1029.          }
  1030.  
  1031.       }
  1032.    }
  1033.  
  1034.    void replaceName(JDPTreeBranch var1, String var2, String var3) {
  1035.       if (var1.name != null) {
  1036.          if (var1.name.equals(var2)) {
  1037.             var1.name = var3;
  1038.          }
  1039.  
  1040.          if (var1.name.equals(var2 + "Method")) {
  1041.             var1.name = var3 + "Method";
  1042.          }
  1043.       }
  1044.  
  1045.       if (var1.text != null) {
  1046.          for(int var4 = 0; var4 < var1.text.length; ++var4) {
  1047.             if (var1.text[var4] != null) {
  1048.                var1.text[var4] = super.user.u.replace(var1.text[var4], var2, var3);
  1049.             }
  1050.          }
  1051.       }
  1052.  
  1053.       if (var1.treeVector != null) {
  1054.          for(int var6 = 0; var6 < var1.treeVector.size(); ++var6) {
  1055.             if (var1.treeVector.elementAt(var6) instanceof JDPTreeBranch) {
  1056.                JDPTreeBranch var5 = (JDPTreeBranch)var1.treeVector.elementAt(var6);
  1057.                this.replaceName(var5, var2, var3);
  1058.             }
  1059.          }
  1060.       }
  1061.  
  1062.       if (var1.leaves != null) {
  1063.          for(int var7 = 0; var7 < var1.leaves.size(); ++var7) {
  1064.             JDPTreeBranch var8 = (JDPTreeBranch)var1.leaves.elementAt(var7);
  1065.             this.replaceName(var8, var2, var3);
  1066.          }
  1067.       }
  1068.  
  1069.    }
  1070.  
  1071.    void extractReturnValues(JDPTreeBranch var1, String var2, JDPTreePicker var3) {
  1072.       if (var1 != null) {
  1073.          if (var1.text != null && var1.text.length > 0) {
  1074.             String[] var8 = new String[3];
  1075.             int[] var9 = new int[4];
  1076.  
  1077.             for(int var10 = 0; var10 < var1.text.length; ++var10) {
  1078.                String var6 = var1.text[var10];
  1079.                if (var6 != null) {
  1080.                   int var4 = var6.indexOf("(");
  1081.                   if (var4 > 0) {
  1082.                      StringTokenizer var11 = new StringTokenizer(var6.substring(0, var4), " \n\r\t");
  1083.                      int var12 = var11.countTokens() - 2;
  1084.  
  1085.                      while(var12-- > 0) {
  1086.                         var11.nextToken();
  1087.                      }
  1088.  
  1089.                      String var13 = var11.nextToken();
  1090.                      int var5 = var6.indexOf("|");
  1091.                      if (var4 > var5 && var6.substring(var5, var4).indexOf("public") >= 0 && (var13.equals(var2) || var2.endsWith(var13))) {
  1092.                         var8[0] = var1.name;
  1093.                         var9[1] = var1.icon;
  1094.                         String var7 = var1.compType;
  1095.                         var8[1] = "Methods";
  1096.                         var9[2] = 2;
  1097.                         var8[2] = var6.substring(0, var6.indexOf("|"));
  1098.                         var9[3] = 1;
  1099.                         var3.addEntry(var8, var9, var7);
  1100.                         var3.getLastAddedBranch().compPosition = "Local Methods";
  1101.                      }
  1102.                   }
  1103.                }
  1104.             }
  1105.          }
  1106.  
  1107.          if (var1.leaves != null) {
  1108.             for(int var14 = 0; var14 < var1.leaves.size(); ++var14) {
  1109.                JDPTreeBranch var15 = (JDPTreeBranch)var1.leaves.elementAt(var14);
  1110.                this.extractReturnValues(var15, var2, var3);
  1111.             }
  1112.          }
  1113.  
  1114.       }
  1115.    }
  1116.  
  1117.    Vector getClassNames(String var1) {
  1118.       Vector var2 = new Vector();
  1119.       int var3 = var1.indexOf("[");
  1120.       if (var3 >= 0) {
  1121.          var1 = var1.substring(0, var3);
  1122.       }
  1123.  
  1124.       if (var1.equals("JDPGridLayout")) {
  1125.          var1 = "JDPTextGrid";
  1126.       }
  1127.  
  1128.       if (var1.equals("JDPChartLayout")) {
  1129.          var1 = "JDPChart";
  1130.       }
  1131.  
  1132.       if (var1.length() == 0) {
  1133.          return var2;
  1134.       } else {
  1135.          try {
  1136.             Class var4 = null;
  1137.             if (var1.equals("int")) {
  1138.                var4 = Integer.TYPE;
  1139.             }
  1140.  
  1141.             if (var1.equals("boolean")) {
  1142.                var4 = Boolean.TYPE;
  1143.             }
  1144.  
  1145.             if (var1.equals("char")) {
  1146.                var4 = Character.TYPE;
  1147.             }
  1148.  
  1149.             if (var1.equals("byte")) {
  1150.                var4 = Byte.TYPE;
  1151.             }
  1152.  
  1153.             if (var1.equals("short")) {
  1154.                var4 = Short.TYPE;
  1155.             }
  1156.  
  1157.             if (var1.equals("long")) {
  1158.                var4 = Long.TYPE;
  1159.             }
  1160.  
  1161.             if (var1.equals("float")) {
  1162.                var4 = Float.TYPE;
  1163.             }
  1164.  
  1165.             if (var1.equals("double")) {
  1166.                var4 = Double.TYPE;
  1167.             }
  1168.  
  1169.             if (var1.equals("void")) {
  1170.                var4 = Void.TYPE;
  1171.             }
  1172.  
  1173.             if (var4 == null) {
  1174.                if (var1.indexOf(".") < 0) {
  1175.                   try {
  1176.                      var4 = Class.forName(var1);
  1177.                   } catch (Exception var12) {
  1178.                      try {
  1179.                         var4 = Class.forName("java.lang." + var1);
  1180.                      } catch (Exception var11) {
  1181.                         try {
  1182.                            var4 = Class.forName("java.awt." + var1);
  1183.                         } catch (Exception var10) {
  1184.                            try {
  1185.                               var4 = Class.forName("java.net." + var1);
  1186.                            } catch (Exception var9) {
  1187.                               try {
  1188.                                  var4 = Class.forName("java.io." + var1);
  1189.                               } catch (Exception var8) {
  1190.                                  try {
  1191.                                     var4 = Class.forName("java.util." + var1);
  1192.                                  } catch (Exception var7) {
  1193.                                     try {
  1194.                                        var4 = Class.forName("java.math." + var1);
  1195.                                     } catch (Exception var6) {
  1196.                                        try {
  1197.                                           var4 = Class.forName("java.sql." + var1);
  1198.                                        } catch (Exception var5) {
  1199.                                           var4 = Class.forName(var1);
  1200.                                        }
  1201.                                     }
  1202.                                  }
  1203.                               }
  1204.                            }
  1205.                         }
  1206.                      }
  1207.                   }
  1208.                } else {
  1209.                   var4 = Class.forName(var1);
  1210.                }
  1211.             }
  1212.  
  1213.             var2.addElement(var4.getName());
  1214.  
  1215.             while(var4 != null) {
  1216.                var4 = var4.getSuperclass();
  1217.                if (var4 != null) {
  1218.                   var2.addElement(var4.getName());
  1219.                }
  1220.             }
  1221.          } catch (Exception var13) {
  1222.          }
  1223.  
  1224.          return var2;
  1225.       }
  1226.    }
  1227.  
  1228.    JDPTreeBranch getMethodParameters(JDPTreeBranch var1, JDPTreePicker var2) {
  1229.       JDPTreePicker var3 = new JDPTreePicker(super.user, this.targetPanel, this.dragPanel);
  1230.       var3.setResizingAllowed(false);
  1231.       return this.loadParameterTree(var3, var1, var2.getTreeBranch(var1));
  1232.    }
  1233.  
  1234.    public void replaceSelectedText(TextArea var1, String var2) {
  1235.       if (var2.endsWith(")") && (this.afterSelection.startsWith("\n") || this.afterSelection.startsWith("\r") || this.afterSelection.equals(""))) {
  1236.          var2 = var2 + ";";
  1237.       }
  1238.  
  1239.       int var3 = this.saveSelectionStartPos + var2.length();
  1240.       ((TextComponent)var1).setText(this.beforeSelection + var2 + this.afterSelection);
  1241.       int var4 = var2.indexOf("(");
  1242.       int var5 = var2.indexOf(")");
  1243.       if (var4 >= 0 && var5 > var4 + 1) {
  1244.          int var6 = var2.indexOf(",");
  1245.          if (var6 >= 0) {
  1246.             var5 = var6;
  1247.          }
  1248.  
  1249.          int var7 = 0;
  1250.          if (System.getProperty("java.version").startsWith("1.1") && System.getProperty("java.vendor").startsWith("Sun")) {
  1251.             for(int var8 = this.beforeSelection.indexOf("\n"); var8 >= 0; var8 = this.beforeSelection.indexOf("\n", var8 + 1)) {
  1252.                ++var7;
  1253.             }
  1254.          }
  1255.  
  1256.          var4 += this.saveSelectionStartPos + 1 - var7;
  1257.          var5 += this.saveSelectionStartPos - var7;
  1258.          ((TextComponent)var1).select(var4, var5);
  1259.       } else {
  1260.          ((TextComponent)var1).setSelectionStart(var3);
  1261.          ((TextComponent)var1).setSelectionEnd(var3);
  1262.       }
  1263.  
  1264.       ((Component)var1).requestFocus();
  1265.    }
  1266.  
  1267.    void getVarsFromSource(String var1, String var2, String var3, JDPList var4) {
  1268.       int var9 = var3.indexOf("(");
  1269.       int var10 = var3.indexOf(")", var9 + 2);
  1270.       if (var9 > 0 && var9 < var10) {
  1271.          this.stok = new StringTokenizer(var3.substring(var9 + 1, var10), " \n\r\t,");
  1272.  
  1273.          while(this.stok.hasMoreTokens()) {
  1274.             String var7 = this.stok.nextToken();
  1275.             if (this.stok.hasMoreTokens()) {
  1276.                String var8 = this.stok.nextToken();
  1277.                if (var1 != null && var8.startsWith(var1) && this.listItems.indexOf(var8) < 0) {
  1278.                   var4.addItem(var8);
  1279.                   this.listItems.addElement(var8);
  1280.                }
  1281.  
  1282.                if (var2 != null && var7.equals(var2) && this.listItems.indexOf(var8) < 0) {
  1283.                   var4.addItem(var8);
  1284.                   this.listItems.addElement(var8);
  1285.                }
  1286.             }
  1287.          }
  1288.       }
  1289.  
  1290.       var9 = var3.indexOf("{");
  1291.       if (var9 >= 0 && var9 < var3.length() - 1) {
  1292.          this.stok = new StringTokenizer(var3.substring(var9 + 1), "{};");
  1293.  
  1294.          while(this.stok.hasMoreTokens()) {
  1295.             String var6 = this.stok.nextToken();
  1296.             StringTokenizer var5 = new StringTokenizer(var6, "\n\r \t;");
  1297.             if (var5.countTokens() >= 2) {
  1298.                String var11 = var5.nextToken();
  1299.                if (var5.hasMoreTokens()) {
  1300.                   String var12 = var5.nextToken();
  1301.                   if (var1 != null && var12.startsWith(var1) && this.listItems.indexOf(var12) < 0) {
  1302.                      var4.addItem(var12);
  1303.                      this.listItems.addElement(var12);
  1304.                   }
  1305.  
  1306.                   if (var2 != null && var11.equals(var2) && this.listItems.indexOf(var12) < 0) {
  1307.                      var4.addItem(var12);
  1308.                      this.listItems.addElement(var12);
  1309.                   }
  1310.                }
  1311.             }
  1312.          }
  1313.  
  1314.       }
  1315.    }
  1316.  
  1317.    void addReturnMethods(String var1, String[] var2) {
  1318.       if (this.returnMethods == null) {
  1319.          this.returnMethods = new Vector();
  1320.       }
  1321.  
  1322.       if (this.returnTypeVector == null) {
  1323.          this.returnTypeVector = new Vector();
  1324.       }
  1325.  
  1326.       String var4 = this.jaggSQL.getSEP();
  1327.       String var5 = "";
  1328.  
  1329.       for(int var6 = 0; var6 < this.classMethods.size(); ++var6) {
  1330.          Vector var7 = (Vector)this.classMethods.elementAt(var6);
  1331.          String var8 = (String)var7.elementAt(0);
  1332.          if (var1.equals(var8)) {
  1333.             Vector var9 = (Vector)var7.elementAt(1);
  1334.  
  1335.             for(int var12 = 0; var12 < var9.size(); ++var12) {
  1336.                String var11 = (String)var9.elementAt(var12);
  1337.                if (!var11.equals(" ")) {
  1338.                   StringTokenizer var3 = new StringTokenizer(var11, var4);
  1339.                   if (var3.countTokens() > 4) {
  1340.                      var3.nextToken();
  1341.                      var3.nextToken();
  1342.                      var3.nextToken();
  1343.                      var3.nextToken();
  1344.                      String var10 = convertParm(var3.nextToken()) + " ";
  1345.                      if (var5.indexOf(var10) < 0) {
  1346.                         var5 = var5 + var10;
  1347.                      }
  1348.                   }
  1349.                }
  1350.             }
  1351.  
  1352.             this.returnMethods.addElement(var2[1] + var4 + var2[2] + var4 + Integer.toString(var6));
  1353.          }
  1354.       }
  1355.  
  1356.       String[] var13 = new String[]{var2[1], var2[2], var5, var1};
  1357.       this.returnTypeVector.addElement(var13);
  1358.    }
  1359.  
  1360.    void clearEventTree() {
  1361.       JDPTreeBranch var1 = new JDPTreeBranch();
  1362.       this.eventTree.treeRoot = var1;
  1363.       int[] var2 = new int[]{4, 1, 2, 1};
  1364.       this.eventTree.setIcons(var2);
  1365.       this.eventTree.setRoot("Component Events", true);
  1366.       this.methodTree.resetSelections(this.methodTree.treeRoot);
  1367.       this.clearParameterTree();
  1368.       this.clearMethodPropertyTree();
  1369.       this.lastSelectedEvent = null;
  1370.       this.eventSource.setText("");
  1371.    }
  1372.  
  1373.    JDPTreeBranch loadEventTree(JDPTreeBranch var1, JDPTreeBranch var2) {
  1374.       this.clearEventTree();
  1375.       this.eventTree.treeRoot = var1;
  1376.       this.eventTree.resetSelections(this.eventTree.treeRoot);
  1377.       Object[] var3 = new Object[]{null, "Methods"};
  1378.       String[] var4 = new String[]{null, "Drop here to attach this component/method to this Event"};
  1379.       this.eventTree.setDropKeys(var3);
  1380.       this.eventTree.setDragAndDrop((boolean[])null);
  1381.       this.eventTree.setDropMessages(var4);
  1382.       int[] var5 = new int[]{4, 1, 2, 1};
  1383.       this.eventTree.setIcons(var5);
  1384.       boolean[] var6 = new boolean[]{true, true, true, false};
  1385.       this.eventTree.setExpanded(var6);
  1386.       if (this.eventTree.treeRoot == null || this.eventTree.treeRoot.leaves == null || this.eventTree.treeRoot.leaves.size() == 0) {
  1387.          this.eventTree.setRoot("Component Events", true);
  1388.       }
  1389.  
  1390.       if (var2.compType != null && var2.compType.equals("JDPButtons")) {
  1391.          int var7 = ((JDPButtons)var2.thisObject).getButtonCount();
  1392.  
  1393.          for(int var8 = 0; var8 < var7; ++var8) {
  1394.             String[] var9 = new String[]{"ACTION_BTN_" + Integer.toString(var8), null, null, null};
  1395.             this.eventTree.addEntry(var9, var5, "ACTION_BTN_" + Integer.toString(var8));
  1396.          }
  1397.       }
  1398.  
  1399.       String[] var11 = new String[]{null, null, null, null};
  1400.       if (var2.compType.equals("JDPRichText") || var2.thisObject instanceof Component || var2.compType.equals("JDPServerListener")) {
  1401.          if (!var2.compType.equals("JDPButtons")) {
  1402.             var11[0] = "ACTION_EVENT";
  1403.             this.eventTree.addEntry(var11, var5, var11[0]);
  1404.          }
  1405.  
  1406.          var11[0] = "KEY_PRESS";
  1407.          this.eventTree.addEntry(var11, var5, var11[0]);
  1408.          var11[0] = "KEY_RELEASE";
  1409.          this.eventTree.addEntry(var11, var5, var11[0]);
  1410.          var11[0] = "KEY_ACTION";
  1411.          this.eventTree.addEntry(var11, var5, var11[0]);
  1412.          var11[0] = "KEY_ACTION_RELEASE";
  1413.          this.eventTree.addEntry(var11, var5, var11[0]);
  1414.          var11[0] = "HOME";
  1415.          this.eventTree.addEntry(var11, var5, var11[0]);
  1416.          var11[0] = "END";
  1417.          this.eventTree.addEntry(var11, var5, var11[0]);
  1418.          var11[0] = "PGUP";
  1419.          this.eventTree.addEntry(var11, var5, var11[0]);
  1420.          var11[0] = "PGDN";
  1421.          this.eventTree.addEntry(var11, var5, var11[0]);
  1422.          var11[0] = "UP";
  1423.          this.eventTree.addEntry(var11, var5, var11[0]);
  1424.          var11[0] = "DOWN";
  1425.          this.eventTree.addEntry(var11, var5, var11[0]);
  1426.          var11[0] = "LEFT";
  1427.          this.eventTree.addEntry(var11, var5, var11[0]);
  1428.          var11[0] = "RIGHT";
  1429.          this.eventTree.addEntry(var11, var5, var11[0]);
  1430.          var11[0] = "F1";
  1431.          this.eventTree.addEntry(var11, var5, var11[0]);
  1432.          var11[0] = "F2";
  1433.          this.eventTree.addEntry(var11, var5, var11[0]);
  1434.          var11[0] = "F3";
  1435.          this.eventTree.addEntry(var11, var5, var11[0]);
  1436.          var11[0] = "F4";
  1437.          this.eventTree.addEntry(var11, var5, var11[0]);
  1438.          var11[0] = "F5";
  1439.          this.eventTree.addEntry(var11, var5, var11[0]);
  1440.          var11[0] = "F6";
  1441.          this.eventTree.addEntry(var11, var5, var11[0]);
  1442.          var11[0] = "F7";
  1443.          this.eventTree.addEntry(var11, var5, var11[0]);
  1444.          var11[0] = "F8";
  1445.          this.eventTree.addEntry(var11, var5, var11[0]);
  1446.          var11[0] = "F9";
  1447.          this.eventTree.addEntry(var11, var5, var11[0]);
  1448.          var11[0] = "F10";
  1449.          this.eventTree.addEntry(var11, var5, var11[0]);
  1450.          var11[0] = "F11";
  1451.          this.eventTree.addEntry(var11, var5, var11[0]);
  1452.          var11[0] = "F12";
  1453.          this.eventTree.addEntry(var11, var5, var11[0]);
  1454.          var11[0] = "ESC";
  1455.          this.eventTree.addEntry(var11, var5, var11[0]);
  1456.       }
  1457.  
  1458.       if (var2.compType.equals("List") || var2.compType.equals("JDPGridDetail") || var2.thisObject instanceof JDPList || var2.thisObject instanceof JDPTreePicker || var2.thisObject instanceof JDPTextGrid || var2.thisObject instanceof JDPMethodExplorer || var2.thisObject instanceof JDPSearchResults || var2.thisObject instanceof JDPClassLayout || var2.compType.equals("JDPServerListener")) {
  1459.          var11[0] = "LIST_SELECT";
  1460.          this.eventTree.addEntry(var11, var5, var11[0]);
  1461.          var11[0] = "LIST_DESELECT";
  1462.          this.eventTree.addEntry(var11, var5, var11[0]);
  1463.       }
  1464.  
  1465.       if (var2.compType.equals("Scrollbar") || var2.compType.equals("JDPScrollPanel")) {
  1466.          var11[0] = "SCROLL_ABSOLUTE";
  1467.          this.eventTree.addEntry(var11, var5, var11[0]);
  1468.          var11[0] = "SCROLL_LINE_DOWN";
  1469.          this.eventTree.addEntry(var11, var5, var11[0]);
  1470.          var11[0] = "SCROLL_LINE_UP";
  1471.          this.eventTree.addEntry(var11, var5, var11[0]);
  1472.          var11[0] = "SCROLL_PAGE_DOWN";
  1473.          this.eventTree.addEntry(var11, var5, var11[0]);
  1474.          var11[0] = "SCROLL_PAGE_UP";
  1475.          this.eventTree.addEntry(var11, var5, var11[0]);
  1476.       }
  1477.  
  1478.       if (var2.thisObject instanceof Component || var2.compType.equals("JDPServerListener")) {
  1479.          var11[0] = "MOUSE_DOWN";
  1480.          this.eventTree.addEntry(var11, var5, var11[0]);
  1481.          var11[0] = "MOUSE_UP";
  1482.          this.eventTree.addEntry(var11, var5, var11[0]);
  1483.          var11[0] = "MOUSE_DRAG";
  1484.          this.eventTree.addEntry(var11, var5, var11[0]);
  1485.          var11[0] = "WINDOW_EXPOSE";
  1486.          this.eventTree.addEntry(var11, var5, var11[0]);
  1487.          var11[0] = "WINDOW_DESTROY";
  1488.          this.eventTree.addEntry(var11, var5, var11[0]);
  1489.          var11[0] = "LOST_FOCUS";
  1490.          this.eventTree.addEntry(var11, var5, var11[0]);
  1491.          var11[0] = "GOT_FOCUS";
  1492.          this.eventTree.addEntry(var11, var5, var11[0]);
  1493.       }
  1494.  
  1495.       this.loadListenerEvents(var1, var2);
  1496.       var1 = this.eventTree.treeRoot;
  1497.       this.eventTree.reDraw();
  1498.       return var1;
  1499.    }
  1500.  
  1501.    void clearParameterTree() {
  1502.       JDPTreeBranch var1 = new JDPTreeBranch();
  1503.       this.parameterTree.treeRoot = var1;
  1504.       int[] var2 = new int[]{4, 1, 2, 1};
  1505.       this.parameterTree.setIcons(var2);
  1506.       this.parameterTree.setRoot("Method Parameters", true);
  1507.       this.clearMethodPropertyTree();
  1508.       this.eventSource.setText("");
  1509.    }
  1510.  
  1511.    synchronized JDPTreeBranch loadParameterTree(JDPTreePicker var1, JDPTreeBranch var2, JDPTreeBranch[] var3) {
  1512.       if (var2 == null) {
  1513.          return null;
  1514.       } else {
  1515.          if (var2.treeVector == null) {
  1516.             var2.treeVector = new Vector();
  1517.             JDPTreeBranch var4 = new JDPTreeBranch();
  1518.             var2.treeVector.addElement(var4);
  1519.          }
  1520.  
  1521.          var1.treeRoot = (JDPTreeBranch)var2.treeVector.elementAt(0);
  1522.          var1.resetSelections(var1.treeRoot);
  1523.          if (var1.treeRoot == null || var1.treeRoot.leaves == null || var1.treeRoot.leaves.size() == 0) {
  1524.             var1.setRoot("Method Parameters", true);
  1525.             Object[] var20 = new Object[]{null, "MethodProperty"};
  1526.             String[] var5 = new String[]{null, "Drop here to assign this method to this Parameter"};
  1527.             var1.setDropKeys(var20);
  1528.             var1.setDragAndDrop((boolean[])null);
  1529.             var1.setDropMessages(var5);
  1530.             int[] var6 = new int[]{4, 1, 2, 1};
  1531.             String[] var7 = new String[]{"", null, null, null};
  1532.             boolean[] var8 = new boolean[]{true, false, true, false};
  1533.             var1.setIcons(var6);
  1534.             var1.setExpanded(var8);
  1535.             if (this.extractParameterNames(var2, var3) == 0) {
  1536.                int var9 = 0;
  1537.                int var10 = var2.name.indexOf("(");
  1538.                String var11 = var2.name;
  1539.                if (var10 > 0) {
  1540.                   var11 = var11.substring(var10);
  1541.                   StringTokenizer var23 = new StringTokenizer(var11, ",()");
  1542.  
  1543.                   while(var23.hasMoreTokens()) {
  1544.                      ++var9;
  1545.                      var7[0] = var23.nextToken();
  1546.  
  1547.                      for(var6[1] = 1; var1.addEntry(var7, var6, var7[0]); var7[0] = var7[0] + " ") {
  1548.                      }
  1549.                   }
  1550.                } else {
  1551.                   String var12 = "*ALL;" + var2.name + ";";
  1552.                   var12 = var12 + var3[var3.length - 1].compType + ";";
  1553.                   Vector var13 = new Vector();
  1554.                   this.jaggSQL.setFCTN("JavaBeanGetParameterTypes");
  1555.                   this.jaggSQL.setFCTNP(var12);
  1556.                   if (JDPJagg.useJaggServer) {
  1557.                      this.jaggSQL.execSQL("", var13);
  1558.                   }
  1559.  
  1560.                   String var14 = this.jaggSQL.getSEP();
  1561.                   String var15 = "";
  1562.                   int var16 = 0;
  1563.  
  1564.                   for(int var17 = 0; var17 < var13.size(); ++var17) {
  1565.                      var15 = (String)var13.elementAt(var17);
  1566.                      if (var15.equals(" ")) {
  1567.                         ++var16;
  1568.                      } else {
  1569.                         StringTokenizer var18 = new StringTokenizer(var15, var14);
  1570.                         var18.nextToken();
  1571.                         var18.nextToken();
  1572.  
  1573.                         while(var18.hasMoreTokens()) {
  1574.                            ++var9;
  1575.                            var7[0] = convertParm(var18.nextToken());
  1576.  
  1577.                            for(var6[1] = 1; var1.addEntry(var7, var6, var7[0]); var7[0] = var7[0] + " ") {
  1578.                            }
  1579.                         }
  1580.                      }
  1581.                   }
  1582.                }
  1583.  
  1584.                if (var9 == 0 && var1.equals(this.parameterTree)) {
  1585.                   super.user.mainmsg.setStatusMsg("No parameters exist for this method.", 6);
  1586.                   this.TabPanel1.select(0);
  1587.                } else {
  1588.                   super.user.mainmsg.clearStatusMsg();
  1589.                }
  1590.             }
  1591.          }
  1592.  
  1593.          var2 = var1.treeRoot;
  1594.          var1.reDraw();
  1595.          return var2;
  1596.       }
  1597.    }
  1598.  
  1599.    void loadSourceBuilderParameterTree(JDPTreePicker var1, String var2, JDPTreeBranch var3) {
  1600.       int[] var4 = new int[]{4, 0, 2, 1};
  1601.       String[] var5 = new String[]{"", null, null, null};
  1602.       var1.setIcons(var4);
  1603.       boolean[] var6 = new boolean[]{true, false, true, false};
  1604.       var1.setExpanded(var6);
  1605.       if (var3 == null) {
  1606.          if (var2.equals("")) {
  1607.             var1.setRoot("Click on a method to add to source", true);
  1608.             if (((Component)var1).isShowing()) {
  1609.                super.user.mainmsg.setStatusMsg("Please select a Return type by selecting the text with the mouse", 7);
  1610.             }
  1611.  
  1612.             return;
  1613.          }
  1614.  
  1615.          var1.setRoot("Click on a method to add to source", true);
  1616.          this.extractReturnValues(this.target.compTree, var2, var1);
  1617.       }
  1618.  
  1619.       this.loadObjectsIntoMethodTree(var1, this.target.compTree, var2);
  1620.       String var7 = "";
  1621.       boolean var8 = true;
  1622.       String var10 = this.jaggSQL.getSEP();
  1623.       String var11 = "";
  1624.       String var12 = "";
  1625.       String var13 = "";
  1626.       int var14 = 0;
  1627.       if (var3 == null) {
  1628.          for(int var16 = 0; var16 < this.returnTypeVector.size(); ++var16) {
  1629.             String[] var15 = (String[])this.returnTypeVector.elementAt(var16);
  1630.             if (var2.equals("") || var15[2].indexOf(var2 + " ") >= 0) {
  1631.                var5[0] = var15[0];
  1632.                var4[1] = Integer.parseInt(var15[1]);
  1633.                var5[1] = "";
  1634.                var4[2] = 2;
  1635.                var1.addEntry(var5, var4, var15[3]);
  1636.             }
  1637.          }
  1638.       } else {
  1639.          for(int var28 = 0; var28 < this.returnMethods.size(); ++var28) {
  1640.             var13 = (String)this.returnMethods.elementAt(var28);
  1641.             if (!var13.equals(" ") && var13.startsWith(var3.name + var10)) {
  1642.                StringTokenizer var9 = new StringTokenizer(var13, var10);
  1643.                if (var9.countTokens() > 2) {
  1644.                   var5[0] = var9.nextToken();
  1645.                   var4[1] = Integer.parseInt(var9.nextToken());
  1646.                   int var17 = Integer.parseInt(var9.nextToken());
  1647.                   Vector var18 = (Vector)this.classMethods.elementAt(var17);
  1648.                   Vector var19 = (Vector)var18.elementAt(1);
  1649.  
  1650.                   for(int var20 = 0; var20 < var19.size(); ++var20) {
  1651.                      var13 = (String)var19.elementAt(var20);
  1652.                      if (!var13.equals(" ")) {
  1653.                         var9 = new StringTokenizer(var13, var10);
  1654.                         if (var9.countTokens() > 4) {
  1655.                            var11 = var9.nextToken();
  1656.                            var9.nextToken();
  1657.                            var5[1] = "Methods";
  1658.                            var4[2] = 2;
  1659.                            var5[2] = var9.nextToken();
  1660.                            var4[3] = 1;
  1661.                            var12 = var9.nextToken();
  1662.                            if (convertParm(var9.nextToken()).endsWith(var2) || var2.equals("")) {
  1663.                               var5[2] = var5[2] + "(";
  1664.  
  1665.                               for(boolean var22 = true; var9.hasMoreTokens(); var5[2] = var5[2] + convertParm(var7)) {
  1666.                                  if (!var22) {
  1667.                                     var5[2] = var5[2] + ",";
  1668.                                  }
  1669.  
  1670.                                  var22 = false;
  1671.                                  var7 = var9.nextToken();
  1672.                               }
  1673.  
  1674.                               var5[2] = var5[2] + ")";
  1675.                               var1.addEntry(var5, var4, var11);
  1676.                               ++var14;
  1677.                            }
  1678.                         }
  1679.                      }
  1680.                   }
  1681.                }
  1682.             }
  1683.          }
  1684.       }
  1685.  
  1686.       var1.sortTree(var1.treeRoot);
  1687.       var1.reDraw();
  1688.       if (var1.treeRoot.leaves.size() == 0) {
  1689.          super.user.mainmsg.setStatusMsg("No methods were found that match the selected return type", 7);
  1690.       } else {
  1691.          super.user.mainmsg.clearStatusMsg();
  1692.       }
  1693.    }
  1694.  
  1695.    JDPTreePicker addEvent(JDPTreeBranch var1, String var2) {
  1696.       if (var1.treeVector == null) {
  1697.          var1.treeVector = new Vector();
  1698.       }
  1699.  
  1700.       JDPTreePicker var3 = new JDPTreePicker(super.user, this.target, this.target.dragPanel);
  1701.       var3.setResizingAllowed(false);
  1702.       int[] var4 = new int[]{4, 1, 2, 1};
  1703.       var3.setIcons(var4);
  1704.       var3.setRoot("Component Events", true);
  1705.       JDPTreeBranch var5 = var3.treeRoot;
  1706.       Object[] var6 = new Object[]{null, "Methods"};
  1707.       String[] var7 = new String[]{null, "Drop here to attach this component/method to this Event"};
  1708.       var3.setDropKeys(var6);
  1709.       var3.setDragAndDrop((boolean[])null);
  1710.       var3.setDropMessages(var7);
  1711.       String[] var8 = new String[]{var2, null, null, null};
  1712.       boolean[] var9 = new boolean[]{true, true, true, false};
  1713.       var3.setIcons(var4);
  1714.       var3.setExpanded(var9);
  1715.       var3.addEntry(var8, var4, var2);
  1716.       var1.treeVector.addElement(var5);
  1717.       return var3;
  1718.    }
  1719.  
  1720.    void loadParameterTree(JDPTreeBranch var1, String[] var2) {
  1721.       var1.treeVector = new Vector();
  1722.       JDPTreePicker var3 = new JDPTreePicker(super.user, this.target, this.target.dragPanel);
  1723.       var3.setResizingAllowed(false);
  1724.       int[] var4 = new int[]{4, 1, 2, 1};
  1725.       var3.setIcons(var4);
  1726.       var3.setRoot("Method Parameters", true);
  1727.       JDPTreeBranch var5 = var3.treeRoot;
  1728.       Object[] var6 = new Object[]{null, "MethodProperty"};
  1729.       String[] var7 = new String[]{null, "Drop here to assign this method/property to this Parameter"};
  1730.       var3.setDropKeys(var6);
  1731.       var3.setDragAndDrop((boolean[])null);
  1732.       var3.setDropMessages(var7);
  1733.       boolean[] var8 = new boolean[]{true, false, true, false};
  1734.       var3.setExpanded(var8);
  1735.       String[] var9 = new String[]{null, null, null, null};
  1736.  
  1737.       for(int var10 = 0; var10 < var2.length; ++var10) {
  1738.          for(var9[0] = var2[var10]; var3.addEntry(var9, var4, var9[0]); var9[0] = var9[0] + " ") {
  1739.          }
  1740.       }
  1741.  
  1742.       var1.treeVector.addElement(var5);
  1743.    }
  1744.  
  1745.    public void loadVariableMethods(JDPList var1, String var2, String var3, String var4, int var5) {
  1746.       var1.clear();
  1747.       if (this.thisEntry == null) {
  1748.          this.thisEntry = new StringBuffer();
  1749.       }
  1750.  
  1751.       String var10 = this.jaggSQL.getSEP();
  1752.       if (var3 != null && var3.startsWith("this.")) {
  1753.          var3 = var3.substring(5);
  1754.       }
  1755.  
  1756.       String[] var11 = new String[]{var2, var3, Integer.toString(5)};
  1757.       Vector var12 = this.getClassMethods(var11);
  1758.       boolean var13 = true;
  1759.  
  1760.       for(int var14 = 0; var14 < var12.size(); ++var14) {
  1761.          Vector var15 = (Vector)var12.elementAt(var14);
  1762.          Vector var16 = (Vector)var15.elementAt(1);
  1763.          String var17 = "";
  1764.  
  1765.          for(int var18 = 0; var18 < var16.size(); ++var18) {
  1766.             var17 = (String)var16.elementAt(var18);
  1767.             if (!var17.equals(" ")) {
  1768.                this.stok = new StringTokenizer(var17, var10);
  1769.                this.stok.nextToken();
  1770.                this.stok.nextToken();
  1771.                String var6 = this.stok.nextToken();
  1772.                int var7 = Integer.parseInt(this.stok.nextToken());
  1773.                if (var5 == 0 || (var7 & var5) != 0) {
  1774.                   String var8 = this.stok.nextToken();
  1775.                   if (var6.startsWith(var4)) {
  1776.                      this.thisEntry.setLength(0);
  1777.                      this.thisEntry.append(var6 + "(");
  1778.                      var13 = true;
  1779.  
  1780.                      while(this.stok.hasMoreTokens()) {
  1781.                         if (!var13) {
  1782.                            this.thisEntry.append(",");
  1783.                         }
  1784.  
  1785.                         var13 = false;
  1786.                         this.thisEntry.append(convertParm(this.stok.nextToken()));
  1787.                      }
  1788.  
  1789.                      this.thisEntry.append(")");
  1790.                      String var9 = this.thisEntry.toString();
  1791.                      if (this.listItems.indexOf(var9) < 0) {
  1792.                         var1.addItem(var9);
  1793.                         this.listItems.addElement(var9);
  1794.                      }
  1795.                   }
  1796.                }
  1797.             }
  1798.          }
  1799.       }
  1800.  
  1801.       var1.sortList();
  1802.       ((JDPTreePicker)var1).select(0);
  1803.    }
  1804.  
  1805.    static String convertParm(String var0) {
  1806.       try {
  1807.          if (var0.indexOf("[[L") >= 0) {
  1808.             var0 = var0.substring(3, var0.length() - 1) + "[][]";
  1809.          } else if (var0.indexOf("[I") >= 0) {
  1810.             var0 = "int[]";
  1811.          } else if (var0.indexOf("[Z") >= 0) {
  1812.             var0 = "boolean[]";
  1813.          } else if (var0.indexOf("[C") >= 0) {
  1814.             var0 = "char[]";
  1815.          } else if (var0.indexOf("[B") >= 0) {
  1816.             var0 = "byte[]";
  1817.          } else if (var0.indexOf("[") >= 0) {
  1818.             var0 = var0.substring(2, var0.length() - 1) + "[]";
  1819.          }
  1820.  
  1821.          if (var0.startsWith("java")) {
  1822.             int var1 = var0.lastIndexOf(".");
  1823.             if (var1 > 0) {
  1824.                var0 = var0.substring(var1 + 1);
  1825.             }
  1826.          }
  1827.       } catch (Exception var3) {
  1828.          System.out.println("Parm value: " + var0);
  1829.          ((Throwable)var3).printStackTrace();
  1830.       }
  1831.  
  1832.       return var0;
  1833.    }
  1834.  
  1835.    public String getGlobalVariableType(String var1) {
  1836.       if (var1.equals("user.u")) {
  1837.          return "JDPUtils";
  1838.       } else if (var1.equals("user.mainmsg")) {
  1839.          return "JDPStatusMessage";
  1840.       } else if (var1.equals("user.cust")) {
  1841.          return "JDPCustomer";
  1842.       } else {
  1843.          if (this.globalSource == null) {
  1844.             this.globalSource = this.target.gSource.templateSource[0].substring(0, this.target.gSource.templateSource[0].indexOf("<Components>"));
  1845.          }
  1846.  
  1847.          String var2 = this.findLocalVar(var1, this.beforeSelection);
  1848.          if (var2 != null) {
  1849.             return var2;
  1850.          } else {
  1851.             if (var1 != null && var1.startsWith("this.")) {
  1852.                var1 = var1.substring(5);
  1853.             }
  1854.  
  1855.             String var3 = this.findLocalVar(var1, this.globalSource);
  1856.             if (var3 != null) {
  1857.                return var3;
  1858.             } else {
  1859.                JDPTreeBranch var4 = this.target.layoutTree.getBranch(var1);
  1860.                return var4 != null ? var4.compType : null;
  1861.             }
  1862.          }
  1863.       }
  1864.    }
  1865.  
  1866.    void removeSelectedParameter() {
  1867.       JDPTreeBranch[] var1 = this.parameterTree.getTreeBranch(this.parameterTree.getCurrentBranch());
  1868.       this.parameterTree.removeTreeBranch(this.parameterTree.getCurrentBranch());
  1869.       if (var1[2].leaves.size() == 0) {
  1870.          this.parameterTree.removeTreeBranch(var1[2]);
  1871.       }
  1872.  
  1873.       this.eventSource.setText(this.target.gSource.constructEventSource(this.eventTree.getTreeBranch(this.eventTree.getCurrentBranch())));
  1874.    }
  1875.  
  1876.    void loadListenerEvents(JDPTreeBranch var1, JDPTreeBranch var2) {
  1877.       String[] var3 = new String[]{null, null, null, null};
  1878.       int[] var4 = new int[]{4, 1, 2, 1};
  1879.       String var5;
  1880.       if (var2.thisObject != null && !(var2.thisObject instanceof String)) {
  1881.          var5 = var2.thisObject.toString();
  1882.       } else {
  1883.          var5 = var2.compType;
  1884.       }
  1885.  
  1886.       if (var5.equals("JDPGridLayout")) {
  1887.          var5 = "JDPTextGrid";
  1888.       }
  1889.  
  1890.       if (var5.equals("JDPChartLayout")) {
  1891.          var5 = "JDPChart";
  1892.       }
  1893.  
  1894.       if (var5.indexOf(" ") > 0) {
  1895.          var5 = var5.substring(0, var5.indexOf(" "));
  1896.       }
  1897.  
  1898.       if (var5.indexOf("@") > 0) {
  1899.          var5 = var5.substring(0, var5.indexOf("@"));
  1900.       }
  1901.  
  1902.       String[] var6 = new String[]{var5, var2.name, Integer.toString(var2.icon)};
  1903.       Vector var7 = this.getClassMethods(var6);
  1904.       String var9 = super.user.jaggSQL.getSEP();
  1905.  
  1906.       for(int var12 = 0; var12 < var7.size(); ++var12) {
  1907.          Vector var13 = (Vector)var7.elementAt(var12);
  1908.          Vector var14 = (Vector)var13.elementAt(2);
  1909.  
  1910.          for(int var15 = 0; var15 < var14.size(); ++var15) {
  1911.             String var11 = (String)var14.elementAt(var15);
  1912.             if (!var11.equals(" ")) {
  1913.                StringTokenizer var8 = new StringTokenizer(var11, var9);
  1914.                var8.nextToken();
  1915.                var8.nextToken();
  1916.                String var10 = var8.nextToken();
  1917.                String[] var16 = new String[var8.countTokens()];
  1918.  
  1919.                for(int var17 = 0; var17 < var16.length; ++var17) {
  1920.                   var16[var17] = var8.nextToken();
  1921.                }
  1922.  
  1923.                for(int var19 = 0; var19 < var16.length; ++var19) {
  1924.                   var3[0] = var16[var19];
  1925.                   this.eventTree.addEntry(var3, var4, var10);
  1926.                   JDPTreeBranch var18 = this.eventTree.getLastAddedBranch();
  1927.                   if (var18 != null) {
  1928.                      var18.text = var16;
  1929.                   }
  1930.                }
  1931.             }
  1932.          }
  1933.       }
  1934.  
  1935.    }
  1936.  
  1937.    synchronized void clearReturnValues() {
  1938.       this.returnMethods = null;
  1939.       this.returnTypeVector = null;
  1940.    }
  1941.  
  1942.    synchronized Vector loadClassMethodVector(String var1, String[] var2) {
  1943.       this.jaggSQL.getSEP();
  1944.       Vector var3 = new Vector();
  1945.       Vector var4 = new Vector();
  1946.       super.user.mainmsg.setStatusMsg("Retrieving class information...", 0);
  1947.       this.jaggSQL.setFCTN("JavaBeanGetMethods");
  1948.       this.jaggSQL.setFCTNP("*SUPER;" + var1 + ";");
  1949.       if (JDPJagg.useJaggServer) {
  1950.          this.jaggSQL.execSQL("", var3);
  1951.       }
  1952.  
  1953.       this.jaggSQL.setFCTN("JavaBeanGetEvents");
  1954.       if (JDPJagg.useJaggServer) {
  1955.          this.jaggSQL.execSQL("", var4);
  1956.       }
  1957.  
  1958.       Vector var5 = new Vector(3);
  1959.       var5.addElement(var1);
  1960.       var5.addElement(var3);
  1961.       var5.addElement(var4);
  1962.       this.classMethods.addElement(var5);
  1963.       this.addReturnMethods(var1, var2);
  1964.       super.user.mainmsg.clearStatusMsg();
  1965.       return var5;
  1966.    }
  1967.  
  1968.    void addEventEntry(JDPTreePicker var1, String var2, String var3, int var4, String var5, String[] var6, String var7) {
  1969.       String[] var8 = new String[]{var2, var3, var5, null};
  1970.       int[] var9 = new int[]{4, 1, var4, 1};
  1971.       var1.addEntry(var8, var9, var8[2]);
  1972.       JDPTreeBranch var10 = var1.getLastAddedBranch();
  1973.       var10.text = new String[1];
  1974.       var10.text[0] = var7;
  1975.       this.loadParameterTree(var10, var6);
  1976.    }
  1977.  
  1978.    public void loadMethodsForVisualApp(JDPComboBox var1, int var2) {
  1979.       this.loadMethodsForVisualApp(var1, var2, true);
  1980.    }
  1981.  
  1982.    public void loadMethodsForVisualApp(JDPComboBox var1, int var2, boolean var3) {
  1983.       if (this.thisEntry == null) {
  1984.          this.thisEntry = new StringBuffer();
  1985.       }
  1986.  
  1987.       this.listItems = new Vector();
  1988.       String var8 = "";
  1989.       String var11 = this.jaggSQL.getSEP();
  1990.  
  1991.       for(int var12 = 0; var12 < this.returnMethods.size(); ++var12) {
  1992.          String var10 = (String)this.returnMethods.elementAt(var12);
  1993.          if (!var10.equals(" ")) {
  1994.             this.stok = new StringTokenizer(var10, var11);
  1995.             if (this.stok.countTokens() > 2) {
  1996.                String var7 = this.stok.nextToken();
  1997.                this.stok.nextToken();
  1998.                int var13 = Integer.parseInt(this.stok.nextToken());
  1999.                Vector var14 = (Vector)this.classMethods.elementAt(var13);
  2000.                Vector var15 = (Vector)var14.elementAt(1);
  2001.  
  2002.                for(int var16 = 0; var16 < var15.size(); ++var16) {
  2003.                   var10 = (String)var15.elementAt(var16);
  2004.                   if (!var10.equals(" ")) {
  2005.                      this.stok = new StringTokenizer(var10, var11);
  2006.                      if (this.stok.countTokens() > 4) {
  2007.                         String var9 = this.stok.nextToken();
  2008.                         this.stok.nextToken();
  2009.                         String var6 = this.stok.nextToken();
  2010.                         var8 = this.stok.nextToken();
  2011.                         String var5 = convertParm(this.stok.nextToken());
  2012.                         if (var6.startsWith("get") && !this.stok.hasMoreTokens()) {
  2013.                            this.thisEntry.setLength(0);
  2014.                            if (var5.equals("int") && JDPUtils.isOdbcNum(var2)) {
  2015.                               this.thisEntry.append("\" + Integer.toString(" + var7 + "." + var6 + "(");
  2016.                               this.thisEntry.append(")) + \"");
  2017.                               String var19 = this.thisEntry.toString();
  2018.                               if (this.listItems.indexOf(var19) < 0) {
  2019.                                  var1.addItem(var19);
  2020.                                  this.listItems.addElement(var19);
  2021.                               }
  2022.                            } else if (var5.equals("long") && JDPUtils.isOdbcNum(var2)) {
  2023.                               this.thisEntry.append("\" + Long.toString(" + var7 + "." + var6 + "(");
  2024.                               this.thisEntry.append(")) + \"");
  2025.                               String var18 = this.thisEntry.toString();
  2026.                               if (this.listItems.indexOf(var18) < 0) {
  2027.                                  var1.addItem(var18);
  2028.                                  this.listItems.addElement(var18);
  2029.                               }
  2030.                            } else if (var5.equals("float") && JDPUtils.isOdbcNum(var2)) {
  2031.                               this.thisEntry.append("\" + Float.toString(" + var7 + "." + var6 + "(");
  2032.                               this.thisEntry.append(")) + \"");
  2033.                               String var17 = this.thisEntry.toString();
  2034.                               if (this.listItems.indexOf(var17) < 0) {
  2035.                                  var1.addItem(var17);
  2036.                                  this.listItems.addElement(var17);
  2037.                               }
  2038.                            } else if (var5.equals("String") && JDPUtils.isOdbcChar(var2)) {
  2039.                               if (var3) {
  2040.                                  this.thisEntry.append("'\" + " + var7 + "." + var6 + "(");
  2041.                                  this.thisEntry.append(") + \"'");
  2042.                               } else {
  2043.                                  this.thisEntry.append("\" + " + var7 + "." + var6 + "(");
  2044.                                  this.thisEntry.append(") + \"");
  2045.                               }
  2046.  
  2047.                               String var4 = this.thisEntry.toString();
  2048.                               if (this.listItems.indexOf(var4) < 0) {
  2049.                                  var1.addItem(var4);
  2050.                                  this.listItems.addElement(var4);
  2051.                               }
  2052.                            }
  2053.                         }
  2054.                      }
  2055.                   }
  2056.                }
  2057.             }
  2058.          }
  2059.       }
  2060.  
  2061.    }
  2062.  
  2063.    void searchForText(String var1, boolean var2) {
  2064.       if (var2) {
  2065.          if (this.lastSearchLine == 999999) {
  2066.             this.lastSearchLine = 0;
  2067.          }
  2068.       } else if (this.lastSearchLine == 0) {
  2069.          this.lastSearchLine = 999999;
  2070.       }
  2071.  
  2072.       int var4 = this.eventSource.getText().length();
  2073.       int var3;
  2074.       if (var2) {
  2075.          var3 = this.eventSource.getText().toUpperCase().indexOf(var1.toUpperCase(), this.lastSearchLine);
  2076.       } else {
  2077.          if (this.lastSearchLine > var4) {
  2078.             this.lastSearchLine = var4;
  2079.          }
  2080.  
  2081.          this.lastSearchLine -= 2;
  2082.          if (this.lastSearchLine < 0) {
  2083.             this.lastSearchLine = 0;
  2084.          }
  2085.  
  2086.          var3 = this.eventSource.getText().toUpperCase().lastIndexOf(var1.toUpperCase(), this.lastSearchLine);
  2087.       }
  2088.  
  2089.       if (var3 >= 0) {
  2090.          this.eventSource.select(var3, var3 + var1.length());
  2091.          this.lastSearchLine = var3 + 1;
  2092.          this.eventSource.requestFocus();
  2093.       } else {
  2094.          super.user.mainmsg.setStatusMsg("Search string not found", 5);
  2095.          if (var2) {
  2096.             this.lastSearchLine = 0;
  2097.          } else {
  2098.             this.lastSearchLine = 999999;
  2099.          }
  2100.       }
  2101.    }
  2102.  
  2103.    void setProperties(JDPTreeBranch var1) {
  2104.       if (this.target.buttonPanel != null && this.target.buttonPanel.getPressed() != null && this.target.buttonPanel.getPressed().equals("Events") && var1 != null) {
  2105.          if (var1.treeVector == null) {
  2106.             var1.treeVector = new Vector();
  2107.             JDPTreeBranch var2 = new JDPTreeBranch();
  2108.             var1.treeVector.addElement(var2);
  2109.          }
  2110.  
  2111.          JDPTreeBranch var3 = this.loadEventTree((JDPTreeBranch)var1.treeVector.elementAt(0), var1);
  2112.          var1.treeVector.setElementAt(var3, 0);
  2113.          if (var3 != null && var3.leaves != null && var3.leaves.size() != 0 && var3.leaves.elementAt(0) != null && ((JDPTreeBranch)var3.leaves.elementAt(0)).leaves != null && ((JDPTreeBranch)var3.leaves.elementAt(0)).leaves.size() != 0) {
  2114.             if (this.TabPanel1.getSelectedIndex() == 0) {
  2115.                this.TabPanel1.select(1);
  2116.                this.clearMethodPropertyTree();
  2117.             }
  2118.  
  2119.          } else {
  2120.             this.TabPanel1.select(0);
  2121.          }
  2122.       }
  2123.    }
  2124.  
  2125.    Vector loadComponents(JDPTreeBranch var1, Vector var2) {
  2126.       if (var2 == null) {
  2127.          var2 = new Vector();
  2128.          boolean var3 = false;
  2129.  
  2130.          for(int var4 = 0; var4 < this.methodTree.treeRoot.leaves.size(); ++var4) {
  2131.             if (((JDPTreeBranch)this.methodTree.treeRoot.leaves.elementAt(var4)).name.equals("user")) {
  2132.                var3 = true;
  2133.                break;
  2134.             }
  2135.          }
  2136.  
  2137.          if (!var3 || this.returnTypeVector == null) {
  2138.             String[] var9 = new String[]{"JDPUser", "user", Integer.toString(5)};
  2139.             this.getClassMethods(var9);
  2140.             var2.addElement(var9);
  2141.             String[] var5 = new String[]{"JDPCustomer", "user.cust", Integer.toString(5)};
  2142.             this.getClassMethods(var5);
  2143.             var2.addElement(var5);
  2144.             String[] var6 = new String[]{"JDPStatusMessage", "user.mainmsg", Integer.toString(34)};
  2145.             this.getClassMethods(var6);
  2146.             var2.addElement(var6);
  2147.             String[] var7 = new String[]{"JDPUtils", "user.u", Integer.toString(2)};
  2148.             this.getClassMethods(var7);
  2149.             var2.addElement(var7);
  2150.             if (var3) {
  2151.                var2 = new Vector();
  2152.             }
  2153.          }
  2154.       }
  2155.  
  2156.       if (var1 != null && var1.name != null && !var1.name.equals("")) {
  2157.          String var8;
  2158.          if (var1.thisObject != null && !(var1.thisObject instanceof String)) {
  2159.             var8 = var1.thisObject.toString();
  2160.          } else {
  2161.             var8 = var1.compType;
  2162.          }
  2163.  
  2164.          if (var8.equals("JDPGridLayout")) {
  2165.             var8 = "JDPTextGrid";
  2166.          }
  2167.  
  2168.          if (var8.equals("JDPChartLayout")) {
  2169.             var8 = "JDPChart";
  2170.          }
  2171.  
  2172.          if (var8.indexOf(" ") > 0) {
  2173.             var8 = var8.substring(0, var8.indexOf(" "));
  2174.          }
  2175.  
  2176.          if (var8.indexOf("@") > 0) {
  2177.             var8 = var8.substring(0, var8.indexOf("@"));
  2178.          }
  2179.  
  2180.          String[] var10 = new String[]{var8, var1.name, Integer.toString(var1.icon)};
  2181.          var2.addElement(var10);
  2182.          if (var1.thisObject != null) {
  2183.             for(int var11 = 0; var11 < var1.leaves.size(); ++var11) {
  2184.                JDPTreeBranch var12 = (JDPTreeBranch)var1.leaves.elementAt(var11);
  2185.                this.loadComponents(var12, var2);
  2186.             }
  2187.          }
  2188.       }
  2189.  
  2190.       return var2;
  2191.    }
  2192.  
  2193.    int extractParameterNames(JDPTreeBranch var1, JDPTreeBranch[] var2) {
  2194.       int var6 = 0;
  2195.       int[] var7 = new int[]{4, 1, 2, 1};
  2196.       String[] var8 = new String[]{"", null, null, null};
  2197.       String var9 = var2[2].name;
  2198.       JDPTreeBranch[] var10 = this.target.lView.tree.getTreeBranch(var9);
  2199.       if (var10 != null && var10[var10.length - 1].text != null && var10[var10.length - 1].text.length > 0) {
  2200.          for(int var11 = 0; var11 < var10[var10.length - 1].text.length; ++var11) {
  2201.             String var3 = var10[var10.length - 1].text[var11];
  2202.             if (var3 != null) {
  2203.                int var4 = var3.indexOf("|");
  2204.                if (var4 > 0 && var3.substring(0, var4).equals(var1.name)) {
  2205.                   var4 = var3.indexOf("(");
  2206.                   int var5 = var3.indexOf(")");
  2207.                   if (var4 > 0 && var5 > 0) {
  2208.                      StringTokenizer var12 = new StringTokenizer(var3.substring(var4 + 1, var5), " \n\t\r");
  2209.  
  2210.                      while(var12.hasMoreTokens()) {
  2211.                         ++var6;
  2212.                         var8[0] = var12.nextToken();
  2213.                         var12.nextToken();
  2214.                         var7[1] = 1;
  2215.                         this.parameterTree.addEntry(var8, var7, var8[0]);
  2216.                      }
  2217.                   }
  2218.                }
  2219.             }
  2220.          }
  2221.       }
  2222.  
  2223.       return var6;
  2224.    }
  2225.  
  2226.    Vector getClassMethods(String[] var1) {
  2227.       Vector var2 = this.getClassNames(var1[0]);
  2228.       Vector var3 = new Vector();
  2229.  
  2230.       for(int var4 = 0; var4 < var2.size(); ++var4) {
  2231.          String var5 = (String)var2.elementAt(var4);
  2232.          var3.addElement(this.getClassMethodVector(var5, var1));
  2233.       }
  2234.  
  2235.       return var3;
  2236.    }
  2237.  
  2238.    public boolean handleEvent(Event var1) {
  2239.       switch (var1.id) {
  2240.          case 202:
  2241.             return false;
  2242.          case 401:
  2243.             if (this.eventTree.getCurrentBranch() != null) {
  2244.                if (this.eventTree.getCurrentBranch().text == null) {
  2245.                   this.eventTree.getCurrentBranch().text = new String[1];
  2246.                }
  2247.  
  2248.                this.target.setAppChanged(true);
  2249.                this.eventTree.getCurrentBranch().text[0] = this.eventSource.getText();
  2250.             }
  2251.  
  2252.             if (var1.key == 9 && var1.target.equals(this.methodList)) {
  2253.                this.eventSource.requestFocus();
  2254.                return true;
  2255.             }
  2256.  
  2257.             return false;
  2258.          case 402:
  2259.             if (var1.target.equals(this.eventSource)) {
  2260.                if (var1.key == 10) {
  2261.                   JDPUtils.insertTabs((TextArea)var1.target);
  2262.                   return false;
  2263.                }
  2264.  
  2265.                if (var1.key == 9) {
  2266.                   return false;
  2267.                }
  2268.  
  2269.                this.startThread();
  2270.             }
  2271.  
  2272.             return false;
  2273.          case 404:
  2274.             if (var1.target.equals(this.eventSource) && (var1.key == 1006 || var1.key == 1007)) {
  2275.                this.startThread();
  2276.             }
  2277.  
  2278.             return false;
  2279.          case 501:
  2280.             this.dragPanel.postEvent(var1);
  2281.             return false;
  2282.          case 502:
  2283.             if (this.dragPanel.isVisible()) {
  2284.                this.dragPanel.postEvent(var1);
  2285.                return true;
  2286.             }
  2287.  
  2288.             return false;
  2289.          case 503:
  2290.          case 504:
  2291.          case 505:
  2292.             if (var1.target.equals(this.methodList)) {
  2293.                String var9 = "";
  2294.                if (System.getProperty("java.version").startsWith("1.1") && System.getProperty("java.vendor").startsWith("Sun")) {
  2295.                   String var4 = super.user.u.replace(this.eventSource.getText(), "\n", "  ");
  2296.                   var9 = var4.substring(this.eventSource.getSelectionStart(), this.eventSource.getSelectionEnd());
  2297.                } else {
  2298.                   var9 = this.eventSource.getSelectedText();
  2299.                }
  2300.  
  2301.                if (this.sourceSelected == null || !var9.equals(this.sourceSelected)) {
  2302.                   this.loadMethodList(this.eventSource, this.methodList);
  2303.                   this.sourceSelected = var9;
  2304.                }
  2305.             }
  2306.  
  2307.             this.popuppanel.postEvent(var1);
  2308.             return false;
  2309.          case 506:
  2310.             this.dragPanel.postEvent(var1);
  2311.             return true;
  2312.          case 701:
  2313.             if (var1.target.equals(this.methodList)) {
  2314.                this.replaceSelectedText(this.eventSource, this.methodList.getSelectedItem());
  2315.                this.startThread();
  2316.                return true;
  2317.             } else if (var1.target.equals(this.eventTree) && this.eventTree.getSelectedLvl() < 3) {
  2318.                if (this.lastSelectedEvent != null) {
  2319.                   this.eventTree.select(this.lastSelectedEvent);
  2320.                }
  2321.  
  2322.                return true;
  2323.             } else if (var1.target.equals(this.parameterTree) && this.parameterTree.getSelectedLvl() == 1) {
  2324.                this.clearMethodPropertyTree();
  2325.                JDPTreeBranch var5 = this.parameterTree.getCurrentBranch();
  2326.                this.loadMethodPropertyTree(var5);
  2327.                return true;
  2328.             } else {
  2329.                String var2 = (String)var1.arg;
  2330.                if (var1.target.equals(this.methodTree) && this.methodTree.getSelectedLvl() == 1 && var2.equals("BranchOpen")) {
  2331.                   JDPTreeBranch var8 = this.methodTree.getCurrentBranch();
  2332.                   if (var8.leaves.size() <= 2) {
  2333.                      this.loadMethodTree(var8, true);
  2334.                   }
  2335.  
  2336.                   return true;
  2337.                } else {
  2338.                   if (var1.target.equals(this.methodPropertyTree) && this.methodPropertyTree.getSelectedLvl() == 1 && var2.equals("BranchOpen")) {
  2339.                      JDPTreeBranch var7 = this.methodPropertyTree.getCurrentBranch();
  2340.                      if (var7.leaves.size() <= 2) {
  2341.                         this.loadMethodPropertyTree(this.parameterTree.getCurrentBranch(), var7);
  2342.                      }
  2343.  
  2344.                      return true;
  2345.                   }
  2346.  
  2347.                   if (var1.target.equals(this.eventTree) && this.eventTree.getSelectedLvl() == 3) {
  2348.                      this.lastSelectedEvent = this.eventTree.getCurrentBranch();
  2349.                   }
  2350.  
  2351.                   this.lastSelectedParameter = this.parameterTree.getCurrentBranch();
  2352.                   return false;
  2353.                }
  2354.             }
  2355.          case 1001:
  2356.             if (this.lastSelectedEvent != null) {
  2357.                if (this.lastSelectedEvent.text == null || this.lastSelectedEvent.text.length == 0) {
  2358.                   this.lastSelectedEvent.text = new String[1];
  2359.                }
  2360.  
  2361.                this.lastSelectedEvent.text[0] = this.eventSource.getText();
  2362.                this.target.setAppChanged(true);
  2363.             }
  2364.  
  2365.             if (var1.target.equals(this.eventTree) && this.eventTree.getSelectedLvl() == 3) {
  2366.                return this.loadEventSource();
  2367.             } else if (var1.target.equals(this.methodTree) && this.methodTree.getSelectedLvl() == 3) {
  2368.                this.lastSelectedEvent = null;
  2369.                JDPTreeBranch[] var6 = this.eventTree.getTreeBranch("ACTION_EVENT");
  2370.                if (var6 == null) {
  2371.                   var6 = this.eventTree.getTreeBranch("LIST_SELECT");
  2372.                }
  2373.  
  2374.                if (var6 == null) {
  2375.                   var6 = this.eventTree.getTreeBranch("ACTION_BTN_0");
  2376.                }
  2377.  
  2378.                this.dragAndDrop("Methods", this.methodTree.getTreeBranch(this.methodTree.getCurrentBranch()), var6);
  2379.                return true;
  2380.             } else if (var1.target.equals(this.parameterTree) && this.parameterTree.getSelectedLvl() == 1) {
  2381.                this.clearMethodPropertyTree();
  2382.                JDPTreeBranch var3 = this.parameterTree.getCurrentBranch();
  2383.                this.loadMethodPropertyTree(var3);
  2384.                if (this.lastSelectedParameter != null && this.lastSelectedParameter.equals(var3)) {
  2385.                   return false;
  2386.                }
  2387.  
  2388.                this.lastSelectedParameter = var3;
  2389.                return true;
  2390.             } else if (var1.target.equals(this.methodPropertyTree) && this.methodPropertyTree.getSelectedLvl() == 3 && this.parameterTree.getSelectedLvl() == 1) {
  2391.                this.dragAndDrop("MethodProperty", this.methodPropertyTree.getTreeBranch(this.methodPropertyTree.getCurrentBranch()), this.parameterTree.getTreeBranch(this.parameterTree.getCurrentBranch()));
  2392.                return true;
  2393.             } else if (var1.target.equals(this.methodPropertyTree) && this.methodPropertyTree.getSelectedLvl() == 1 && this.parameterTree.getSelectedLvl() == 1) {
  2394.                this.dragAndDrop("MethodPropertyVar", this.methodPropertyTree.getTreeBranch(this.methodPropertyTree.getCurrentBranch()), this.parameterTree.getTreeBranch(this.parameterTree.getCurrentBranch()));
  2395.                return true;
  2396.             } else if (var1.target.equals(this.methodList)) {
  2397.                this.replaceSelectedText(this.eventSource, this.methodList.getSelectedItem());
  2398.                this.startThread();
  2399.                return true;
  2400.             } else {
  2401.                if (var1.target.equals(this.methodsButton)) {
  2402.                   if (this.methodList.isVisible()) {
  2403.                      this.methodList.hide();
  2404.                      this.methodsButton.setPressed(false);
  2405.                   } else {
  2406.                      this.methodList.show();
  2407.                   }
  2408.  
  2409.                   this.eventSourcePanelFrame.layout();
  2410.                   this.eventSourcePanelFrame.paintAll(this.eventSourcePanelFrame.getGraphics());
  2411.                }
  2412.  
  2413.                if (var1.target.equals(this.searchButtons.button[0])) {
  2414.                   this.searchForText(this.searchFor.getText(), true);
  2415.                   return true;
  2416.                } else {
  2417.                   if (var1.target.equals(this.searchButtons.button[1])) {
  2418.                      this.searchForText(this.searchFor.getText(), false);
  2419.                      return true;
  2420.                   }
  2421.  
  2422.                   return false;
  2423.                }
  2424.             }
  2425.          case 1005:
  2426.             if (this.lastSelectedEvent != null) {
  2427.                if (this.lastSelectedEvent.text == null || this.lastSelectedEvent.text.length == 0) {
  2428.                   this.lastSelectedEvent.text = new String[1];
  2429.                }
  2430.  
  2431.                this.target.setAppChanged(true);
  2432.                this.lastSelectedEvent.text[0] = this.eventSource.getText();
  2433.             }
  2434.  
  2435.             if (var1.target.equals(this.eventSource)) {
  2436.                this.lastCursorStartPos = this.eventSource.getSelectionStart();
  2437.                this.lastCursorEndPos = this.eventSource.getSelectionEnd();
  2438.             }
  2439.  
  2440.             return false;
  2441.          default:
  2442.             return false;
  2443.       }
  2444.    }
  2445.  
  2446.    public void run() {
  2447.       this.threadRunning = true;
  2448.  
  2449.       while(this.threadRunning) {
  2450.          try {
  2451.             Thread.sleep(2000L);
  2452.             if (this.eventSource.isShowing()) {
  2453.                if (this.methodList.isVisible()) {
  2454.                   this.loadMethodList(this.eventSource, this.methodList);
  2455.                }
  2456.             } else if (this.sourceEditorList.isVisible()) {
  2457.                this.loadMethodList(this.target.sourcePanel, this.sourceEditorList);
  2458.             }
  2459.  
  2460.             this.threadRunning = false;
  2461.          } catch (InterruptedException var1) {
  2462.          }
  2463.       }
  2464.  
  2465.    }
  2466.  
  2467.    public void InitClass(JDPUser var1, JDPLayoutMgr var2, String var3) {
  2468.       super.user = var1;
  2469.       this.target = var2;
  2470.       this.targetPanel = var2.targetPanel;
  2471.       this.dragPanel = var2.dragPanel;
  2472.       this.jaggSQL = new JDPJagg(var1.jaggPath);
  2473.       this.jaggSQL.setDSN(var1.jaggSQL.getDSN());
  2474.       this.classMethods = new Vector();
  2475.       this.returnMethods = new Vector();
  2476.       this.returnTypeVector = new Vector();
  2477.       ((Container)this).setLayout(new BorderLayout());
  2478.       this.popuppanel = new JDPPopupMessage(var1, this);
  2479.       ((Container)this).add(this.popuppanel);
  2480.       this.Main = new JDPSplitPanel(var1, 1, 1);
  2481.       this.Main.setLeftPercentage(25.0F);
  2482.       String[] var4 = new String[3];
  2483.       Panel[] var5 = new Panel[]{new Panel(), null, null};
  2484.       var5[0].setLayout(new BorderLayout());
  2485.       var4[0] = "Add New Event";
  2486.       var5[1] = new Panel();
  2487.       var5[1].setLayout(new BorderLayout());
  2488.       var4[1] = "Parameters";
  2489.       var5[2] = new Panel();
  2490.       var5[2].setLayout(new BorderLayout());
  2491.       var4[2] = "Source";
  2492.       this.TabPanel1 = new JDPTabSelectPanel(var1, var4, var5, "North");
  2493.       this.Panel1 = new Panel();
  2494.       this.methodTree = new JDPTreePicker(var1, var2, this.dragPanel);
  2495.       this.methodTree.autoScrollOn = false;
  2496.       this.methodTree.setResizingAllowed(false);
  2497.       int var6 = (int)((double)this.targetPanel.bounds().width / (double)4.5F);
  2498.       if (var6 == 0) {
  2499.          Dimension var7 = Toolkit.getDefaultToolkit().getScreenSize();
  2500.          var6 = (int)((double)var7.width / (double)6.0F);
  2501.       }
  2502.  
  2503.       this.methodTree.setMinWidth(var6);
  2504.       this.Panel2 = new JDPSplitPanel(var1, 1, 1);
  2505.       this.parameterTree = new JDPTreePicker(var1, var2, this.dragPanel);
  2506.       this.parameterTree.setResizingAllowed(false);
  2507.       this.parameterTree.setRoot("parameterTree", true);
  2508.       this.parameterTree.setMinWidth(var6);
  2509.       this.methodPropertyTree = new JDPTreePicker(var1, var2, this.dragPanel);
  2510.       this.methodPropertyTree.setResizingAllowed(false);
  2511.       this.methodPropertyTree.autoScrollOn = false;
  2512.       this.clearMethodPropertyTree();
  2513.       this.eventSource = new TextArea("", 3, 20);
  2514.       this.eventSource.setFont(new Font("Courier", 0, 12));
  2515.       this.eventTree = new JDPTreePicker(var1, this.targetPanel, this.dragPanel);
  2516.       this.eventTree.setResizingAllowed(false);
  2517.       this.eventTree.setMinWidth(var6);
  2518.       this.methodList = new JDPList(var1);
  2519.       this.sourceEditorList = new JDPList(var1);
  2520.       this.methodList.setMinWidth(140);
  2521.       this.sourceEditorList.setMinWidth(140);
  2522.       this.currentLine = new JDPSpinner(var1, "0", 5);
  2523.       this.currentLine.setMinValue(0);
  2524.       this.currentLine.setMaxValue(999999);
  2525.       var2.sourcePanelFrame.add("Right", this.sourceEditorList);
  2526.       this.clearMethodTree();
  2527.       ((Container)this).add("Center", this.Main);
  2528.       this.Main.add("Right", this.TabPanel1);
  2529.       var5[0].add("Center", this.Panel1);
  2530.       this.Panel1.setLayout(new BorderLayout());
  2531.       this.Panel1.add("Center", this.methodTree);
  2532.       var5[1].add("Center", this.Panel2);
  2533.       this.Panel2.add("Left", this.parameterTree);
  2534.       this.Panel2.add("Right", this.methodPropertyTree);
  2535.       this.eventSourcePanelFrame = new JDPSplitPanel(var1, 1, 1);
  2536.       this.eventSourcePanelFrame.add("Left", this.eventSource);
  2537.       this.eventSourcePanelFrame.add("Right", this.methodList);
  2538.       this.eventSourcePanelFrame.setLeftPercentage(80.0F);
  2539.       this.eventSourcePanel = new Panel();
  2540.       this.eventSourcePanel.setLayout(new BorderLayout());
  2541.       this.eventSourcePanel.add("Center", this.eventSourcePanelFrame);
  2542.       var5[2].add("Center", this.eventSourcePanel);
  2543.       this.Main.add("Left", this.eventTree);
  2544.       this.methodsButton = new JDPButton(43, "Display Methods", 0);
  2545.       this.popuppanel.addComponent(this.methodsButton, "Display/Hide Source Helper", "Display/Hide the source helper");
  2546.       this.methodsButton.setStayOn(true);
  2547.       this.methodsButton.setPressed(true);
  2548.       Panel var11 = new Panel();
  2549.       ((Container)var11).setLayout(new BorderLayout());
  2550.       ((Container)var11).add("East", this.methodsButton);
  2551.       this.eventSourcePanel.add("South", var11);
  2552.       this.searchFor = new TextField("", 20);
  2553.       Panel var8 = new Panel();
  2554.       ((Container)var8).setLayout(new JDPLineLayout());
  2555.       ((Container)var8).add("Left", new Label("Search:", 2));
  2556.       ((Container)var8).add("Left", this.searchFor);
  2557.       ((Container)var11).add("West", var8);
  2558.       this.popuppanel.addComponent(this.searchFor, "Search", "Search for the text in the currently displayed source");
  2559.       String[] var9 = new String[]{"SearchFwd", "SearchBack"};
  2560.       int[] var10 = new int[]{48, 49};
  2561.       this.searchButtons = new JDPButtons(var1, var10, var9, JDPButtons.getAlignmentValue("Horizontal"));
  2562.       this.popuppanel.addComponent(this.searchButtons.button[0], "Search Forward", "Search for the text in the currently displayed source");
  2563.       this.popuppanel.addComponent(this.searchButtons.button[1], "Search Backward", "Search backwards for the text in the currently displayed source");
  2564.       ((Container)var8).add("Left", this.searchButtons);
  2565.       ((Container)var8).add("Left", new Panel());
  2566.       ((Container)var8).add("Left", new Label("Line:", 0));
  2567.       ((Container)var8).add("Left", this.currentLine);
  2568.       this.methodTree.setBackground(var1.u._cvtcolor("White"));
  2569.       this.parameterTree.setBackground(var1.u._cvtcolor("White"));
  2570.       this.methodPropertyTree.setBackground(var1.u._cvtcolor("White"));
  2571.       this.eventTree.setBackground(var1.u._cvtcolor("White"));
  2572.       var1.gParm.addElement(this);
  2573.       var1.JDesignerPro.gc();
  2574.    }
  2575.  
  2576.    public void loadVariablesFromType(JDPList var1, JDPTreeBranch var2, String var3) {
  2577.       if (!var2.compType.equals(var3) && (!var2.compType.startsWith("java") || !var2.compType.endsWith(var3))) {
  2578.          if (var2.thisObject != null) {
  2579.             try {
  2580.                Class var4 = var2.thisObject.getClass();
  2581.                if (var4 == null) {
  2582.                   var4 = Class.forName(var2.compType);
  2583.                }
  2584.  
  2585.                for(; var4 != null; var4 = var4.getSuperclass()) {
  2586.                   if ((var4.getName().equals(var3) || var4.getName().startsWith("java") && var4.getName().endsWith(var3)) && this.listItems.indexOf(var2.name) < 0) {
  2587.                      var1.addItem(var2.name);
  2588.                      this.listItems.addElement(var2.name);
  2589.                   }
  2590.                }
  2591.             } catch (Exception var7) {
  2592.                ((Throwable)var7).printStackTrace();
  2593.             }
  2594.          }
  2595.       } else if (this.listItems.indexOf(var2.name) < 0) {
  2596.          var1.addItem(var2.name);
  2597.          this.listItems.addElement(var2.name);
  2598.       }
  2599.  
  2600.       if (var2.leaves != null) {
  2601.          for(int var8 = 0; var8 < var2.leaves.size(); ++var8) {
  2602.             JDPTreeBranch var5 = (JDPTreeBranch)var2.leaves.elementAt(var8);
  2603.             this.loadVariablesFromType(var1, var5, var3);
  2604.          }
  2605.       }
  2606.  
  2607.    }
  2608. }
  2609.