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

  1. import java.awt.BorderLayout;
  2. import java.awt.Button;
  3. import java.awt.CardLayout;
  4. import java.awt.Checkbox;
  5. import java.awt.CheckboxGroup;
  6. import java.awt.Choice;
  7. import java.awt.Color;
  8. import java.awt.Component;
  9. import java.awt.Container;
  10. import java.awt.Dialog;
  11. import java.awt.Event;
  12. import java.awt.FlowLayout;
  13. import java.awt.Font;
  14. import java.awt.Label;
  15. import java.awt.LayoutManager;
  16. import java.awt.List;
  17. import java.awt.Panel;
  18. import java.awt.Rectangle;
  19. import java.awt.Scrollbar;
  20. import java.awt.TextArea;
  21. import java.awt.TextComponent;
  22. import java.awt.TextField;
  23. import java.awt.Window;
  24. import java.util.Properties;
  25. import java.util.StringTokenizer;
  26. import java.util.Vector;
  27.  
  28. public class JDPLayoutMgr extends JDPClassLayout implements Runnable {
  29.    JDPComponentMgr cMgr;
  30.    JDPLayoutView lView;
  31.    JDPGenerateSource gSource;
  32.    Panel targetPanel;
  33.    JDPPanelLoader testPanel;
  34.    JDPMethodTree mTree;
  35.    JDPSourceLayout sLayout;
  36.    JDPSQLWizard sqlWizard;
  37.    JDPJagg jaggSQL;
  38.    JDPPreviewServerJob previewServerJob;
  39.    Panel previewPanel;
  40.    JDPDeployment deploymentMgr;
  41.    JDPTreePicker selectTree;
  42.    JDPTreePicker layoutTree;
  43.    JDPTreeBranch compTree;
  44.    JDPTreeBranch currentBranch;
  45.    JDPTreeBranch lastSelectedBranch;
  46.    JDPTreeBranch lastSelectedCmgrBranch;
  47.    JDPPopupMessage popuppanel;
  48.    JDPDragItem dragPanel;
  49.    JDPPopupMenu popup;
  50.    JDPTreeBranch popupMain;
  51.    JDPTreeBranch popupComponent;
  52.    JDPTreeBranch popupComponentMain;
  53.    JDPTreeBranch popupComponentRoot;
  54.    JDPTreeBranch popupTreeBranch;
  55.    JDPTreeBranch popupTreeDialogBranch;
  56.    JDPTreeBranch popupBranch;
  57.    JDPTreeBranch popupDialogBranch;
  58.    JDPTreeBranch popupInteractionEvent;
  59.    JDPTreeBranch popupInteractionParameter;
  60.    JDPTreeBranch popupNewMenu;
  61.    JDPTreeBranch popupSaveMenu;
  62.    JDPSplitPanel mainPanel;
  63.    JDPSplitPanel cardMainPanel;
  64.    JDPSplitPanel leftPanel;
  65.    Panel cardPanel;
  66.    Panel centerPanel;
  67.    Panel definePanel;
  68.    TextArea sourcePanel;
  69.    TextArea sourcePanel2;
  70.    String saveSourcePanel2;
  71.    JDPList compileErrors;
  72.    TextField searchFor;
  73.    int lastSearchLine;
  74.    int lastSearchPanel = -1;
  75.    JDPButtons searchButtons;
  76.    JDPCardPanel leftCardPanel;
  77.    Panel sourceMainPanel;
  78.    JDPButtons sourceButtonPanel;
  79.    JDPInteractionMgr interactionMgr;
  80.    JDPBrowserCtl apiHelp;
  81.    JDPHelpBrowser layoutHelp;
  82.    JDPComponentMaint componentMaint;
  83.    JDPInstanceMgr instanceMgr;
  84.    JDPFilePicker filePicker1;
  85.    JDPFilePicker filePicker2;
  86.    String javaSourceName;
  87.    String appName = "";
  88.    String lastBuiltAppName = "";
  89.    JDPChiselFramePanel titleFrame;
  90.    Panel sButtonPanel;
  91.    Panel methodsButtonPanel;
  92.    JDPSpinner currentLine;
  93.    JDPDialog messageDialog;
  94.    JDPButtons dialogButtons;
  95.    JDPButton dialogOKButton;
  96.    Checkbox dontDisplaySizeWarning;
  97.    boolean finalBuildRequested;
  98.    boolean debugBuildRequested;
  99.    boolean prelimBuildRequested;
  100.    JDPList sourceSelect;
  101.    JDPButtons buttonPanel;
  102.    String lastButton;
  103.    JDPButtons buttonPanel1;
  104.    JDPButtons buttonPanel2;
  105.    JDPSplitPanel sourceMainPanel1;
  106.    JDPSplitPanel sourcePanelFrame;
  107.    JDPButton methodsButton;
  108.    String sourceSelected;
  109.    String sLayoutsourceSelected;
  110.    int newIndex = -1;
  111.    boolean appChanged;
  112.    CheckboxGroup[] cbgroup;
  113.    int leftMarginWidth = 120;
  114.    String saveBranchName;
  115.    int thisScreenIndex = -1;
  116.    boolean projectLoading;
  117.    boolean checkUniqueName = true;
  118.    Vector eventVector;
  119.    long lastEventTime;
  120.    JDPSaveProps saveProps;
  121.    Properties developerProps;
  122.    String componentTreeFile;
  123.    Vector expandedVector;
  124.    // $FF: renamed from: ts JDPTabSelectPanel
  125.    JDPTabSelectPanel field_0;
  126.    boolean demoMode;
  127.    boolean loadingWizardApp;
  128.    String wizAllowInserts;
  129.    String wizAllowUpdates;
  130.    String wizAllowDeletes;
  131.    String wizConfirmDeletes;
  132.    JDPSelectDSN dJDPSelectDSN;
  133.    JDPSelectTable dJDPSelectTable;
  134.    JDPSelectColumns dJDPSelectColumns;
  135.    JDPScreenSettings dJDPScreenSettings;
  136.    JDPScreenLayout dJDPScreenLayout;
  137.    JDPSearchLayout dJDPSearchLayout;
  138.    JDPListLayout dJDPListLayout;
  139.    JDPGridSettings dJDPGridSettings;
  140.    JDPGridSettings drJDPGridSettings;
  141.    JDPSelectReportDef dJDPSelectReportDef;
  142.    JDPSelectChartDef dJDPSelectChartDef;
  143.    JDPChoiceLayout dJDPChoiceLayout;
  144.    JDPEmailLayout dJDPEmailLayout;
  145.    JDPAlphaLayout dJDPAlphaLayout;
  146.    boolean projectLoadFailed;
  147.    String appType = "VisualApp";
  148.    JDPTreeBranch lastSelectedmTree;
  149.    int lastCursorStartPos;
  150.    int lastCursorEndPos;
  151.    boolean searchForward = true;
  152.    String lastOpenDir;
  153.    String lastOpenDirNonVisual;
  154.    String lastSaveDir;
  155.    String lastSaveDirNonVisual;
  156.    Vector last20Apps;
  157.    boolean shutdownInProgress;
  158.  
  159.    void refreshRelatedComps(JDPTreeBranch var1) {
  160.       if (var1.relatedComps != null) {
  161.          for(int var2 = 0; var2 < var1.relatedComps.length; ++var2) {
  162.             String var3 = ((JDPClassLayout)var1.relatedComps[var2]).getComponentName();
  163.             if (!var3.equals(var1.name)) {
  164.                ((JDPClassLayout)var1.relatedComps[var2]).setComponentName(var1.name);
  165.                ((JDPClassLayout)var1.relatedComps[var2]).setThisBranch(var1);
  166.                ((JDPClassLayout)var1.relatedComps[var2]).refresh();
  167.             }
  168.          }
  169.       }
  170.  
  171.    }
  172.  
  173.    public boolean removeTemporaryFiles() {
  174.       if (this.jaggSQL == null) {
  175.          this.jaggSQL = new JDPJagg(super.user.jaggPath);
  176.       }
  177.  
  178.       this.jaggSQL.setFCTN("RemoveFiles");
  179.       this.jaggSQL.setFCTNP(super.user.JDesignerPro.JDPDirectory + ";Prelim*.class;");
  180.       Vector var1 = new Vector();
  181.       this.jaggSQL.execSQL("", var1);
  182.       this.jaggSQL.setFCTNP(super.user.JDesignerPro.JDPDirectory + JDesignerPro.serverSeparator + "Temp" + JDesignerPro.serverSeparator + ";Prelim*.java;");
  183.       this.jaggSQL.execSQL("", var1);
  184.       return true;
  185.    }
  186.  
  187.    void checkAppSize(int var1) {
  188.       if (var1 >= 400000 && !this.dontDisplaySizeWarning.getState()) {
  189.          this.messageDialog = new JDPDialog(super.user, "Application structure suggestion", this, false);
  190.          this.dialogOKButton = new JDPButton("     OK     ");
  191.          Panel var2 = new Panel();
  192.          ((Container)var2).setLayout(new FlowLayout());
  193.          ((Container)var2).add(this.dialogOKButton);
  194.          Panel var3 = new Panel();
  195.          ((Container)var3).setLayout(new JDPRowLayout());
  196.          ((Container)var3).add("Left", new Panel());
  197.          ((Container)var3).add("Right", new Label("The size of this application indicates that it is probably wise to break it", 0));
  198.          ((Container)var3).add("Right", new Label("up into smaller modules.", 0));
  199.          ((Container)var3).add("Right", new Label("For further information see the manual under the following section:", 0));
  200.          ((Container)var3).add("Right", new Label("Application Builder\\Open Save and Compile\\Reusing JDesignerPro Objects.", 0));
  201.          ((Container)var3).add("Right", new Panel());
  202.          ((Container)var3).add("Right", this.dontDisplaySizeWarning);
  203.          Panel var4 = new Panel();
  204.          ((Container)var4).setLayout(new BorderLayout());
  205.          ((Container)var4).add("North", var3);
  206.          ((Container)var4).add("South", var2);
  207.          this.messageDialog.setLayout(new BorderLayout());
  208.          this.messageDialog.add("Center", var4);
  209.          this.messageDialog.display();
  210.       }
  211.    }
  212.  
  213.    synchronized void loadList(JDPTreeBranch var1) {
  214.       if (!this.projectLoading) {
  215.          if (var1 != null && var1.text != null && var1.text[0] != null && var1.text[0].indexOf("|") >= 0) {
  216.             if (this.lastSelectedBranch == null || !this.lastSelectedBranch.equals(var1) || this.sourceSelect.countItems() != var1.text.length) {
  217.                this.lastSelectedBranch = null;
  218.                this.lastSelectedBranch = var1;
  219.                this.sourceSelect.clear();
  220.  
  221.                for(int var4 = 0; var4 < var1.text.length; ++var4) {
  222.                   String var2 = var1.text[var4];
  223.                   int var3 = var2.indexOf("|");
  224.                   this.sourceSelect.addItem(var2.substring(0, var3), 8);
  225.                }
  226.  
  227.                if (this.sourceSelect.countItems() == 0 || this.sourceSelect.getSelectedIndex() < 0) {
  228.                   this.sourceButtonPanel.button[1].disable();
  229.                }
  230.  
  231.             }
  232.          } else {
  233.             this.sourceSelect.clear();
  234.          }
  235.       }
  236.    }
  237.  
  238.    synchronized void removeSource(JDPTreeBranch var1, int var2) {
  239.       if (var2 >= 0 && var2 <= this.sourceSelect.countItems() - 1) {
  240.          this.setAppChanged(true);
  241.          this.sourceSelect.delItem(var2);
  242.          String[] var3 = var1.text;
  243.          var1.text = new String[var3.length - 1];
  244.          if (var2 > 0) {
  245.             System.arraycopy(var3, 0, var1.text, 0, var2);
  246.          }
  247.  
  248.          if (var2 < var3.length - 1) {
  249.             System.arraycopy(var3, var2 + 1, var1.text, var2, var3.length - var2 - 1);
  250.          }
  251.  
  252.          if (var1.text.length == 0) {
  253.             var1.text = new String[1];
  254.          }
  255.  
  256.          Object var4 = null;
  257.       }
  258.    }
  259.  
  260.    void addComponent(String[] var1, int[] var2, Component var3, Object var4, JDPTreeBranch var5, JDPTreeBranch var6, String var7, String[] var8, String[][] var9, Vector var10) {
  261.       boolean var11 = false;
  262.       int var12 = 1;
  263.       String var13 = super.user.u.replace(var5.name, " ", "");
  264.       String var14 = super.user.u.replace(var5.name, " ", "");
  265.       if (this.checkUniqueName) {
  266.          try {
  267.             int var15 = 0;
  268.  
  269.             do {
  270.                Integer.parseInt(var14.substring(var14.length() - 1));
  271.                var14 = var14.substring(0, var14.length() - 1);
  272.                ++var15;
  273.             } while(var15 < 3);
  274.          } catch (Exception var28) {
  275.          }
  276.  
  277.          if (var13.equals(var14)) {
  278.             var13 = var14 + Integer.toString(var12++);
  279.          }
  280.  
  281.          for(JDPTreeBranch[] var29 = this.layoutTree.getTreeBranch(var13); var29 != null; var29 = this.layoutTree.getTreeBranch(var13)) {
  282.             var13 = var14 + Integer.toString(var12++);
  283.          }
  284.       }
  285.  
  286.       String var30 = var13;
  287.       if (var3 != null) {
  288.          if (var3 instanceof Label) {
  289.             var30 = ((Label)var3).getText();
  290.          } else if (var3 instanceof Checkbox) {
  291.             var30 = ((Checkbox)var3).getLabel();
  292.          } else if (var3 instanceof Button) {
  293.             var30 = ((Button)var3).getLabel();
  294.          } else if (var3 instanceof JDPButton) {
  295.             var30 = ((JDPButton)var3).getLabel();
  296.          }
  297.       }
  298.  
  299.       String var16 = var5.compType;
  300.       if (!this.projectLoading) {
  301.          var6.expanded = true;
  302.       }
  303.  
  304.       String var17 = "JDPLayoutMgr:" + var13;
  305.       String var18 = null;
  306.  
  307.       try {
  308.          if (((Container)var3).getLayout() != null) {
  309.             var18 = ((Panel)var3).getLayout().toString();
  310.             if (var18.indexOf("Grid") >= 0) {
  311.                var7 = "";
  312.             }
  313.          }
  314.       } catch (Exception var26) {
  315.       }
  316.  
  317.       if (!(var3 instanceof Container)) {
  318.          super.user.mainmsg.setStatusMsg("You cannot add a component to this one.", 15);
  319.       } else {
  320.          if (var7 == null) {
  321.             if (var3 instanceof Container && var18 != null) {
  322.                if (var18.indexOf("Border") >= 0) {
  323.                   String var19 = "";
  324.  
  325.                   for(int var20 = 0; var20 < var6.leaves.size(); ++var20) {
  326.                      JDPTreeBranch var21 = (JDPTreeBranch)var6.leaves.elementAt(var20);
  327.                      var19 = var19 + var21.compPosition + " ";
  328.                   }
  329.  
  330.                   if (var19.indexOf("Center ") < 0) {
  331.                      var7 = "Center";
  332.                   } else if (var19.indexOf("West ") < 0) {
  333.                      var7 = "West";
  334.                   } else if (var19.indexOf("South ") < 0) {
  335.                      var7 = "South";
  336.                   } else if (var19.indexOf("North ") < 0) {
  337.                      var7 = "North";
  338.                   } else if (var19.indexOf("East ") < 0) {
  339.                      var7 = "East";
  340.                   }
  341.                }
  342.  
  343.                if (var18.indexOf("JDPLineLayout") >= 0) {
  344.                   var7 = "Left";
  345.                }
  346.             }
  347.  
  348.             if (var3 instanceof JDPTabSelectPanel) {
  349.                var7 = "Center";
  350.             }
  351.  
  352.             if (var3 instanceof JDPCardPanel) {
  353.                var7 = var13;
  354.             }
  355.  
  356.             if (var3 instanceof JDPScrollPanel) {
  357.                var7 = "Left";
  358.                if (var6.leaves.size() > 0) {
  359.                   JDPTreeBranch var31 = (JDPTreeBranch)var6.leaves.elementAt(var6.leaves.size() - 1);
  360.                   if (var31.compPosition.equals("Left")) {
  361.                      var7 = "Right";
  362.                   }
  363.                }
  364.             }
  365.  
  366.             if (var3 instanceof JDPSplitPanel) {
  367.                JDPSplitPanel var32 = (JDPSplitPanel)var3;
  368.                if (var32.getTopLeftComp() == null) {
  369.                   var7 = "Left";
  370.                } else if (var32.getTopRightComp() == null) {
  371.                   var7 = "Right";
  372.                } else if (var32.getBottomLeftComp() == null) {
  373.                   var7 = "Left";
  374.                } else if (var32.getBottomRightComp() == null) {
  375.                   var7 = "Right";
  376.                } else {
  377.                   var7 = "";
  378.                }
  379.             }
  380.          }
  381.  
  382.          String var33 = "";
  383.          if (var5.thisObject instanceof TextField) {
  384.             var33 = ((TextField)var5.thisObject).getText();
  385.          }
  386.  
  387.          if (var5.thisObject instanceof TextArea) {
  388.             var33 = ((TextArea)var5.thisObject).getText();
  389.          }
  390.  
  391.          if (var4 == null) {
  392.             if (!var16.equals("Panel") && !var16.equals("JDPColumns") && !var16.startsWith("JDPWiz")) {
  393.                if (var16.equals("JDPWhereClause")) {
  394.                   var4 = new JDPWhereClause(super.user);
  395.                } else if (var16.equals("JDPSearchResults")) {
  396.                   var4 = new JDPSearchResults(super.user);
  397.                } else if (var16.equals("JDPGridDetail")) {
  398.                   var4 = new JDPGridLayout();
  399.                   ((JDPClassLayout)var4).InitClass(super.user, this.targetPanel, var17);
  400.                } else if (var16.equals("JDPReportDetail")) {
  401.                   var4 = new JDPGridLayout();
  402.                   ((JDPClassLayout)var4).InitClass(super.user, this.targetPanel, "Report" + var17);
  403.                } else if (var16.equals("JDPChartDetail")) {
  404.                   var4 = new JDPChartLayout();
  405.                   ((JDPClassLayout)var4).InitClass(super.user, this.targetPanel, var17);
  406.                } else if (var16.equals("JDPChoice")) {
  407.                   var4 = new JDPChoice();
  408.                } else if (var16.equals("JDPComboBox")) {
  409.                   var4 = new JDPComboBox(super.user);
  410.                } else if (var16.equals("JDPDate")) {
  411.                   var4 = new JDPDate(super.user);
  412.                } else if (var16.equals("JDPList")) {
  413.                   var4 = new JDPList(super.user);
  414.                } else if (var16.equals("JDPDialog")) {
  415.                   var4 = new JDPDialog(super.user, this);
  416.                } else if (var16.equals("JDPMessageDialog")) {
  417.                   var4 = new JDPMessageDialog(super.user, this);
  418.                } else if (var16.equals("Label")) {
  419.                   var4 = new Label(var30, 0);
  420.                } else if (var16.equals("TextField")) {
  421.                   var4 = new TextField(var33, 20);
  422.                } else if (var16.equals("JDPTextField")) {
  423.                   var4 = new JDPTextField(var33, 20);
  424.                } else if (var16.equals("TextArea")) {
  425.                   var4 = new TextArea(var33, 3, 20);
  426.                } else if (var16.equals("Button")) {
  427.                   var4 = new Button(var30);
  428.                } else if (var16.equals("List")) {
  429.                   var4 = new List();
  430.                } else if (var16.equals("Choice")) {
  431.                   var4 = new Choice();
  432.                } else if (var16.equals("CheckboxGroup")) {
  433.                   var4 = new Checkbox(var30, this.cbgroup[0], true);
  434.                } else if (var16.equals("Checkbox")) {
  435.                   var4 = new Checkbox(var30);
  436.                } else if (var16.equals("Scrollbar")) {
  437.                   var4 = new Scrollbar(0, 0, 5, 0, 100);
  438.                } else if (var16.equals("JDPButton")) {
  439.                   var4 = new JDPButton(var30);
  440.                } else if (var16.equals("JDPButtons")) {
  441.                   String[] var35 = new String[]{var30};
  442.                   int[] var38 = new int[]{-1};
  443.                   var4 = new JDPButtons(super.user, var35, var38, JDPButtons.HORIZONTAL);
  444.                } else if (var16.equals("JDPChiselFramePanel")) {
  445.                   var4 = new JDPChiselFramePanel(super.user, var30, (Component)null, "North");
  446.                } else if (var16.equals("JDPScrollPanel")) {
  447.                   var4 = new JDPScrollPanel(false);
  448.                } else if (var16.equals("JDPSplitPanel")) {
  449.                   var4 = new JDPSplitPanel(super.user);
  450.                } else if (var16.equals("JDPCardPanel")) {
  451.                   var4 = new JDPCardPanel();
  452.                } else if (var16.equals("JDPTabSelectPanel")) {
  453.                   String[] var36 = new String[]{"Tab 1"};
  454.                   Panel[] var39 = new Panel[1];
  455.                   var4 = new JDPTabSelectPanel(super.user, var36, var39, "North");
  456.                } else if (var16.equals("JDPTextGrid")) {
  457.                   var4 = new JDPTextGrid(super.user);
  458.                } else if (var16.equals("JDPTreePicker")) {
  459.                   var4 = new JDPTreePicker(super.user);
  460.                   ((JDPTreePicker)var4).setRoot(var30, true);
  461.                } else if (var16.equals("JDPRichText")) {
  462.                   var4 = new JDPRichText(super.user);
  463.                } else if (var16.equals("JDPImage")) {
  464.                   var4 = new JDPImage(super.user);
  465.                } else if (var16.equals("JDPBrowser")) {
  466.                   var4 = new JDPBrowser();
  467.                   ((JDPClassLayout)var4).InitClass(super.user, this.targetPanel, "");
  468.                } else if (var16.equals("JDPCalendarPicker")) {
  469.                   var4 = new JDPCalendarPicker();
  470.                } else if (var16.equals("JDPPopupComponent")) {
  471.                   var4 = new JDPPopupComponent(super.user, this);
  472.                } else if (var16.equals("JDPSpinner")) {
  473.                   var4 = new JDPSpinner();
  474.                } else if (var16.equals("JDPBrowserCtl")) {
  475.                   var4 = new JDPBrowserCtl();
  476.                   ((JDPClassLayout)var4).InitClass(super.user, this.targetPanel, "");
  477.                } else if (var16.equals("JDPGridLayout")) {
  478.                   var4 = new JDPGridLayout();
  479.                   ((JDPClassLayout)var4).InitClass(super.user, this.targetPanel, var17);
  480.                } else if (var16.equals("JDPChartLayout")) {
  481.                   var4 = new JDPChartLayout();
  482.                   ((JDPClassLayout)var4).InitClass(super.user, this.targetPanel, var17);
  483.                } else if (var16.equals("JDPEmailSender")) {
  484.                   var4 = null;
  485.                } else if (var16.equals("JDPAlphaSender")) {
  486.                   var4 = null;
  487.                } else if (var16.equals("JDPCommandExecuter")) {
  488.                   var4 = new JDPCommandExecuter(super.user);
  489.                } else if (var16.equals("JDPJagg")) {
  490.                   var4 = new JDPJagg(super.user.jaggPath);
  491.                } else if (var16.equals("JDPMaskEdit")) {
  492.                   var4 = new JDPMaskEdit();
  493.                } else if (var16.equals("JDPFormatDoc")) {
  494.                   var4 = new JDPFormatDoc(super.user);
  495.                } else if (var16.equals("JDPServerListener")) {
  496.                   var4 = null;
  497.                } else if (var16.equals("JDPServerSender")) {
  498.                   var4 = null;
  499.                } else if (var16.equals("JDPRMIConnection")) {
  500.                   var4 = null;
  501.                } else {
  502.                   var4 = null;
  503.  
  504.                   try {
  505.                      super.user.mainmsg.setStatusMsg("Loading " + var16 + "...", 0);
  506.                      this.instanceMgr.setThisBranch((JDPTreeBranch)null);
  507.                      if (!this.instanceMgr.loadConstructors(var16)) {
  508.                         var4 = new Panel();
  509.                         var11 = true;
  510.                         var1[var1.length - 1] = var13;
  511.                         this.instanceMgr.addEntry(var1, var2, var3, var4, var16, var7, var8, var9, var10);
  512.                      } else {
  513.                         Object var37 = Class.forName(var16).newInstance();
  514.                         if (var37 instanceof JDPClassLayout) {
  515.                            if (!this.projectLoading) {
  516.                               var7 = this.checkIfInstanceOrHiddenRequired(var7);
  517.                            }
  518.  
  519.                            if (var7 == null || !var7.equals("MenuAccess") && !var7.equals("MenuAutoLoad")) {
  520.                               JDPClassLayout var40 = (JDPClassLayout)var37;
  521.                               var40.InitClass(super.user, this.targetPanel, "");
  522.                               var4 = var40;
  523.                               Panel var22 = (Panel)var3;
  524.                               Component[] var23 = ((Container)var22).getComponents();
  525.                               boolean var24 = false;
  526.  
  527.                               for(int var25 = 0; var25 < var23.length; ++var25) {
  528.                                  if (var23[var25].equals(var40)) {
  529.                                     var24 = true;
  530.                                  }
  531.                               }
  532.  
  533.                               if (!var24) {
  534.                                  ((Container)var22).add("Center", var40);
  535.                                  ((Component)var22).paintAll(((Component)var22).getGraphics());
  536.                               }
  537.                            }
  538.  
  539.                            var11 = false;
  540.                         } else {
  541.                            var4 = new Panel();
  542.                            var11 = true;
  543.                            var1[var1.length - 1] = var13;
  544.                            this.instanceMgr.addEntry(var1, var2, var3, var4, var16, var7, var8, var9, var10);
  545.                         }
  546.                      }
  547.  
  548.                      super.user.mainmsg.clearStatusMsg();
  549.                   } catch (Exception var27) {
  550.                      var4 = new Panel();
  551.                      var11 = true;
  552.                      var1[var1.length - 1] = var13;
  553.                      this.instanceMgr.addEntry(var1, var2, var3, var4, var16, var7, var8, var9, var10);
  554.                   }
  555.                }
  556.             } else {
  557.                var4 = new Panel();
  558.                Panel var34 = (Panel)var4;
  559.                ((Container)var34).setLayout(new BorderLayout());
  560.             }
  561.          }
  562.  
  563.          var1[var1.length - 1] = var13;
  564.          this.lView.addEntry(var1, var2, var3, var4, var16, var7, var8, var9, var10);
  565.          if (var11) {
  566.             if (this.projectLoading) {
  567.                this.lView.tree.getLastAddedBranch().relatedComps = new Panel[1];
  568.                this.lView.tree.getLastAddedBranch().relatedComps[0] = this.instanceMgr;
  569.             } else {
  570.                this.cMgr.currentBranch.relatedComps = new Panel[1];
  571.                this.cMgr.currentBranch.relatedComps[0] = this.instanceMgr;
  572.             }
  573.          } else if (!this.projectLoading) {
  574.             this.interactionMgr.loadMethodTree(this.lView.tree.getLastAddedBranch(), false);
  575.          }
  576.  
  577.          this.loadDefinitionPanels(this.cMgr.currentBranch);
  578.       }
  579.    }
  580.  
  581.    void refreshLayout(JDPTreeBranch var1) {
  582.       String[] var2 = null;
  583.       if (var1.leaves != null && var1.leaves.size() > 0 && var1.thisObject != null && var1.thisObject instanceof Component) {
  584.          if (var1.thisObject instanceof JDPTabSelectPanel) {
  585.             var2 = ((JDPTabSelectPanel)var1.thisObject).getTabnames();
  586.             ((JDPTabSelectPanel)var1.thisObject).removeAllTabs();
  587.          } else if (var1.thisObject instanceof Container) {
  588.             ((Container)var1.thisObject).removeAll();
  589.          }
  590.  
  591.          for(int var3 = 0; var3 < var1.leaves.size(); ++var3) {
  592.             JDPTreeBranch var4 = (JDPTreeBranch)var1.leaves.elementAt(var3);
  593.             if (var4.thisObject != null && var4.thisObject instanceof Component) {
  594.                if (var1.thisObject instanceof JDPTabSelectPanel) {
  595.                   JDPTabSelectPanel var5 = (JDPTabSelectPanel)var1.thisObject;
  596.                   var5.add((Component)var4.thisObject, var2[var3]);
  597.                } else {
  598.                   if (var4.compPosition == null) {
  599.                      var4.compPosition = "";
  600.                   }
  601.  
  602.                   if (var1.thisObject instanceof Container && !(var4.thisObject instanceof Window)) {
  603.                      this.recalcPosition(var1, var4);
  604.                      ((Container)var1.thisObject).add(var4.compPosition, (Component)var4.thisObject);
  605.                   }
  606.                }
  607.             }
  608.  
  609.             this.refreshLayout(var4);
  610.          }
  611.  
  612.          if (var1.thisObject instanceof Container) {
  613.             ((Container)var1.thisObject).layout();
  614.          }
  615.       }
  616.  
  617.    }
  618.  
  619.    JDPTreeBranch loadPopupMenu4Open() {
  620.       this.popup.clear();
  621.       this.popup.addEntry("Open Visual App...");
  622.       this.popup.addEntry("Open Non Visual App...");
  623.       if (this.last20Apps.size() > 0) {
  624.          this.popup.addEntry("");
  625.       }
  626.  
  627.       for(int var2 = 0; var2 < this.last20Apps.size(); ++var2) {
  628.          String[] var3 = (String[])this.last20Apps.elementAt(var2);
  629.          if (var3[0].endsWith(".jdp")) {
  630.             String var1 = var3[0].substring(0, var3[0].length() - 4);
  631.             String[] var4 = new String[]{"Open Visual App", var1};
  632.             this.popup.addEntry(var4);
  633.          }
  634.       }
  635.  
  636.       for(int var6 = 0; var6 < this.last20Apps.size(); ++var6) {
  637.          String[] var7 = (String[])this.last20Apps.elementAt(var6);
  638.          if (var7[0].endsWith(".java")) {
  639.             String var5 = var7[0].substring(0, var7[0].length() - 5);
  640.             String[] var8 = new String[]{"Open Non Visual App", var5};
  641.             this.popup.addEntry(var8);
  642.          }
  643.       }
  644.  
  645.       return this.popup.getMenuTree();
  646.    }
  647.  
  648.    void loadDefinitionPanels(JDPTreeBranch var1) {
  649.       String var2 = "JDPLayoutMgr:" + var1.name;
  650.       String var3 = var1.compType;
  651.       Panel[] var4 = null;
  652.       String[] var5 = new String[20];
  653.       int var6 = 0;
  654.  
  655.       do {
  656.          var5[var6] = "";
  657.          ++var6;
  658.       } while(var6 < 20);
  659.  
  660.       this.currentBranch = var1;
  661.       if (var3 != null) {
  662.          super.user.mainmsg.setStatusMsg("Loading...", 0);
  663.          if (var3.equals("JDPColumns")) {
  664.             if (this.dJDPSelectDSN == null) {
  665.                this.dJDPSelectDSN = new JDPSelectDSN();
  666.             }
  667.  
  668.             if (this.dJDPSelectTable == null) {
  669.                this.dJDPSelectTable = new JDPSelectTable();
  670.             }
  671.  
  672.             if (this.dJDPSelectColumns == null) {
  673.                this.dJDPSelectColumns = new JDPSelectColumns();
  674.             }
  675.  
  676.             if (this.dJDPScreenSettings == null) {
  677.                this.dJDPScreenSettings = new JDPScreenSettings();
  678.             }
  679.  
  680.             if (this.dJDPScreenLayout == null) {
  681.                this.dJDPScreenLayout = new JDPScreenLayout();
  682.             }
  683.  
  684.             var4 = new Panel[]{this.dJDPSelectDSN, this.dJDPSelectTable, this.dJDPSelectColumns, this.dJDPScreenSettings, this.dJDPScreenLayout};
  685.          } else if (var3.equals("JDPWhereClause")) {
  686.             if (this.dJDPSelectDSN == null) {
  687.                this.dJDPSelectDSN = new JDPSelectDSN();
  688.             }
  689.  
  690.             if (this.dJDPSelectTable == null) {
  691.                this.dJDPSelectTable = new JDPSelectTable();
  692.             }
  693.  
  694.             if (this.dJDPSelectColumns == null) {
  695.                this.dJDPSelectColumns = new JDPSelectColumns();
  696.             }
  697.  
  698.             if (this.dJDPSearchLayout == null) {
  699.                this.dJDPSearchLayout = new JDPSearchLayout();
  700.             }
  701.  
  702.             var4 = new Panel[]{this.dJDPSelectDSN, this.dJDPSelectTable, this.dJDPSelectColumns, this.dJDPSearchLayout};
  703.          } else if (var3.equals("JDPSearchResults")) {
  704.             if (this.dJDPSelectDSN == null) {
  705.                this.dJDPSelectDSN = new JDPSelectDSN();
  706.             }
  707.  
  708.             if (this.dJDPSelectTable == null) {
  709.                this.dJDPSelectTable = new JDPSelectTable();
  710.             }
  711.  
  712.             if (this.dJDPSelectColumns == null) {
  713.                this.dJDPSelectColumns = new JDPSelectColumns();
  714.             }
  715.  
  716.             if (this.dJDPListLayout == null) {
  717.                this.dJDPListLayout = new JDPListLayout();
  718.             }
  719.  
  720.             var4 = new Panel[]{this.dJDPSelectDSN, this.dJDPSelectTable, this.dJDPSelectColumns, this.dJDPListLayout};
  721.          } else if (var3.equals("JDPGridDetail")) {
  722.             if (this.dJDPSelectDSN == null) {
  723.                this.dJDPSelectDSN = new JDPSelectDSN();
  724.             }
  725.  
  726.             if (this.dJDPSelectTable == null) {
  727.                this.dJDPSelectTable = new JDPSelectTable();
  728.             }
  729.  
  730.             if (this.dJDPSelectColumns == null) {
  731.                this.dJDPSelectColumns = new JDPSelectColumns();
  732.             }
  733.  
  734.             if (this.dJDPGridSettings == null) {
  735.                this.dJDPGridSettings = new JDPGridSettings();
  736.             }
  737.  
  738.             var4 = new Panel[]{this.dJDPSelectDSN, this.dJDPSelectTable, this.dJDPSelectColumns, this.dJDPGridSettings};
  739.          } else if (var3.equals("JDPReportDetail")) {
  740.             if (this.dJDPSelectDSN == null) {
  741.                this.dJDPSelectDSN = new JDPSelectDSN();
  742.             }
  743.  
  744.             if (this.dJDPSelectTable == null) {
  745.                this.dJDPSelectTable = new JDPSelectTable();
  746.             }
  747.  
  748.             if (this.dJDPSelectColumns == null) {
  749.                this.dJDPSelectColumns = new JDPSelectColumns();
  750.             }
  751.  
  752.             if (this.dJDPSelectReportDef == null) {
  753.                this.dJDPSelectReportDef = new JDPSelectReportDef();
  754.             }
  755.  
  756.             if (this.drJDPGridSettings == null) {
  757.                this.drJDPGridSettings = new JDPGridSettings();
  758.             }
  759.  
  760.             var4 = new Panel[]{this.dJDPSelectDSN, this.dJDPSelectTable, this.dJDPSelectColumns, this.dJDPSelectReportDef, this.drJDPGridSettings};
  761.             var5[4] = "Report";
  762.          } else if (var3.equals("JDPChartDetail")) {
  763.             if (this.dJDPSelectDSN == null) {
  764.                this.dJDPSelectDSN = new JDPSelectDSN();
  765.             }
  766.  
  767.             if (this.dJDPSelectTable == null) {
  768.                this.dJDPSelectTable = new JDPSelectTable();
  769.             }
  770.  
  771.             if (this.dJDPSelectColumns == null) {
  772.                this.dJDPSelectColumns = new JDPSelectColumns();
  773.             }
  774.  
  775.             if (this.dJDPSelectChartDef == null) {
  776.                this.dJDPSelectChartDef = new JDPSelectChartDef();
  777.             }
  778.  
  779.             var4 = new Panel[]{this.dJDPSelectDSN, this.dJDPSelectTable, this.dJDPSelectColumns, this.dJDPSelectChartDef};
  780.          } else if (var3.equals("JDPChoice")) {
  781.             if (this.dJDPSelectDSN == null) {
  782.                this.dJDPSelectDSN = new JDPSelectDSN();
  783.             }
  784.  
  785.             if (this.dJDPChoiceLayout == null) {
  786.                this.dJDPChoiceLayout = new JDPChoiceLayout();
  787.             }
  788.  
  789.             var4 = new Panel[]{this.dJDPSelectDSN, this.dJDPChoiceLayout};
  790.          } else if (var3.equals("JDPComboBox")) {
  791.             if (this.dJDPSelectDSN == null) {
  792.                this.dJDPSelectDSN = new JDPSelectDSN();
  793.             }
  794.  
  795.             if (this.dJDPChoiceLayout == null) {
  796.                this.dJDPChoiceLayout = new JDPChoiceLayout();
  797.             }
  798.  
  799.             var4 = new Panel[]{this.dJDPSelectDSN, this.dJDPChoiceLayout};
  800.          } else if (var3.equals("JDPList")) {
  801.             if (this.dJDPSelectDSN == null) {
  802.                this.dJDPSelectDSN = new JDPSelectDSN();
  803.             }
  804.  
  805.             if (this.dJDPChoiceLayout == null) {
  806.                this.dJDPChoiceLayout = new JDPChoiceLayout();
  807.             }
  808.  
  809.             var4 = new Panel[]{this.dJDPSelectDSN, this.dJDPChoiceLayout};
  810.          } else if (var3.equals("JDPWizEmail")) {
  811.             if (this.dJDPSelectDSN == null) {
  812.                this.dJDPSelectDSN = new JDPSelectDSN();
  813.             }
  814.  
  815.             if (this.dJDPSelectTable == null) {
  816.                this.dJDPSelectTable = new JDPSelectTable();
  817.             }
  818.  
  819.             if (this.dJDPSelectColumns == null) {
  820.                this.dJDPSelectColumns = new JDPSelectColumns();
  821.             }
  822.  
  823.             if (this.dJDPEmailLayout == null) {
  824.                this.dJDPEmailLayout = new JDPEmailLayout();
  825.             }
  826.  
  827.             var4 = new Panel[]{this.dJDPSelectDSN, this.dJDPSelectTable, this.dJDPSelectColumns, this.dJDPEmailLayout};
  828.          } else if (var3.equals("JDPWizAlphaPaging")) {
  829.             if (this.dJDPSelectDSN == null) {
  830.                this.dJDPSelectDSN = new JDPSelectDSN();
  831.             }
  832.  
  833.             if (this.dJDPSelectTable == null) {
  834.                this.dJDPSelectTable = new JDPSelectTable();
  835.             }
  836.  
  837.             if (this.dJDPSelectColumns == null) {
  838.                this.dJDPSelectColumns = new JDPSelectColumns();
  839.             }
  840.  
  841.             if (this.dJDPAlphaLayout == null) {
  842.                this.dJDPAlphaLayout = new JDPAlphaLayout();
  843.             }
  844.  
  845.             var4 = new Panel[]{this.dJDPSelectDSN, this.dJDPSelectTable, this.dJDPSelectColumns, this.dJDPAlphaLayout};
  846.          } else if (var3.equals("JDPWizForm")) {
  847.             if (this.dJDPSelectDSN == null) {
  848.                this.dJDPSelectDSN = new JDPSelectDSN();
  849.             }
  850.  
  851.             if (this.dJDPSelectTable == null) {
  852.                this.dJDPSelectTable = new JDPSelectTable();
  853.             }
  854.  
  855.             if (this.dJDPSelectColumns == null) {
  856.                this.dJDPSelectColumns = new JDPSelectColumns();
  857.             }
  858.  
  859.             if (this.dJDPSearchLayout == null) {
  860.                this.dJDPSearchLayout = new JDPSearchLayout();
  861.             }
  862.  
  863.             if (this.dJDPListLayout == null) {
  864.                this.dJDPListLayout = new JDPListLayout();
  865.             }
  866.  
  867.             if (this.dJDPScreenSettings == null) {
  868.                this.dJDPScreenSettings = new JDPScreenSettings();
  869.             }
  870.  
  871.             if (this.dJDPScreenLayout == null) {
  872.                this.dJDPScreenLayout = new JDPScreenLayout();
  873.             }
  874.  
  875.             var4 = new Panel[]{this.dJDPSelectDSN, this.dJDPSelectTable, this.dJDPSelectColumns, this.dJDPSearchLayout, this.dJDPListLayout, this.dJDPScreenSettings, this.dJDPScreenLayout};
  876.          } else if (var3.equals("JDPWizGrid")) {
  877.             if (this.dJDPSelectDSN == null) {
  878.                this.dJDPSelectDSN = new JDPSelectDSN();
  879.             }
  880.  
  881.             if (this.dJDPSelectTable == null) {
  882.                this.dJDPSelectTable = new JDPSelectTable();
  883.             }
  884.  
  885.             if (this.dJDPSelectColumns == null) {
  886.                this.dJDPSelectColumns = new JDPSelectColumns();
  887.             }
  888.  
  889.             if (this.dJDPSearchLayout == null) {
  890.                this.dJDPSearchLayout = new JDPSearchLayout();
  891.             }
  892.  
  893.             if (this.dJDPListLayout == null) {
  894.                this.dJDPListLayout = new JDPListLayout();
  895.             }
  896.  
  897.             if (this.dJDPGridSettings == null) {
  898.                this.dJDPGridSettings = new JDPGridSettings();
  899.             }
  900.  
  901.             var4 = new Panel[]{this.dJDPSelectDSN, this.dJDPSelectTable, this.dJDPSelectColumns, this.dJDPSearchLayout, this.dJDPListLayout, this.dJDPGridSettings};
  902.          } else if (var3.equals("JDPWizMasterDetail")) {
  903.             if (this.dJDPSelectDSN == null) {
  904.                this.dJDPSelectDSN = new JDPSelectDSN();
  905.             }
  906.  
  907.             if (this.dJDPSelectTable == null) {
  908.                this.dJDPSelectTable = new JDPSelectTable();
  909.             }
  910.  
  911.             if (this.dJDPSelectColumns == null) {
  912.                this.dJDPSelectColumns = new JDPSelectColumns();
  913.             }
  914.  
  915.             if (this.dJDPSearchLayout == null) {
  916.                this.dJDPSearchLayout = new JDPSearchLayout();
  917.             }
  918.  
  919.             if (this.dJDPListLayout == null) {
  920.                this.dJDPListLayout = new JDPListLayout();
  921.             }
  922.  
  923.             if (this.dJDPGridSettings == null) {
  924.                this.dJDPGridSettings = new JDPGridSettings();
  925.             }
  926.  
  927.             if (this.dJDPScreenSettings == null) {
  928.                this.dJDPScreenSettings = new JDPScreenSettings();
  929.             }
  930.  
  931.             if (this.dJDPScreenLayout == null) {
  932.                this.dJDPScreenLayout = new JDPScreenLayout();
  933.             }
  934.  
  935.             var4 = new Panel[]{this.dJDPSelectDSN, this.dJDPSelectTable, this.dJDPSelectColumns, this.dJDPSearchLayout, this.dJDPListLayout, this.dJDPGridSettings, this.dJDPScreenSettings, this.dJDPScreenLayout};
  936.          } else if (var3.equals("JDPWizReport")) {
  937.             if (this.dJDPSelectDSN == null) {
  938.                this.dJDPSelectDSN = new JDPSelectDSN();
  939.             }
  940.  
  941.             if (this.dJDPSelectTable == null) {
  942.                this.dJDPSelectTable = new JDPSelectTable();
  943.             }
  944.  
  945.             if (this.dJDPSelectColumns == null) {
  946.                this.dJDPSelectColumns = new JDPSelectColumns();
  947.             }
  948.  
  949.             if (this.dJDPSearchLayout == null) {
  950.                this.dJDPSearchLayout = new JDPSearchLayout();
  951.             }
  952.  
  953.             if (this.dJDPListLayout == null) {
  954.                this.dJDPListLayout = new JDPListLayout();
  955.             }
  956.  
  957.             if (this.dJDPSelectReportDef == null) {
  958.                this.dJDPSelectReportDef = new JDPSelectReportDef();
  959.             }
  960.  
  961.             if (this.drJDPGridSettings == null) {
  962.                this.drJDPGridSettings = new JDPGridSettings();
  963.             }
  964.  
  965.             var4 = new Panel[]{this.dJDPSelectDSN, this.dJDPSelectTable, this.dJDPSelectColumns, this.dJDPSearchLayout, this.dJDPListLayout, this.dJDPSelectReportDef, this.drJDPGridSettings};
  966.             var5[6] = "Report";
  967.          } else if (var3.equals("JDPWizChart")) {
  968.             if (this.dJDPSelectDSN == null) {
  969.                this.dJDPSelectDSN = new JDPSelectDSN();
  970.             }
  971.  
  972.             if (this.dJDPSelectTable == null) {
  973.                this.dJDPSelectTable = new JDPSelectTable();
  974.             }
  975.  
  976.             if (this.dJDPSelectColumns == null) {
  977.                this.dJDPSelectColumns = new JDPSelectColumns();
  978.             }
  979.  
  980.             if (this.dJDPSearchLayout == null) {
  981.                this.dJDPSearchLayout = new JDPSearchLayout();
  982.             }
  983.  
  984.             if (this.dJDPListLayout == null) {
  985.                this.dJDPListLayout = new JDPListLayout();
  986.             }
  987.  
  988.             if (this.dJDPSelectChartDef == null) {
  989.                this.dJDPSelectChartDef = new JDPSelectChartDef();
  990.             }
  991.  
  992.             var4 = new Panel[]{this.dJDPSelectDSN, this.dJDPSelectTable, this.dJDPSelectColumns, this.dJDPSearchLayout, this.dJDPListLayout, this.dJDPSelectChartDef};
  993.          }
  994.  
  995.          if (var4 != null) {
  996.             var6 = var4.length;
  997.  
  998.             for(int var7 = 0; var7 < var6; ++var7) {
  999.                var1.relatedComps = var4;
  1000.                if (((JDPClassLayout)var4[var7]).thisBranch == null) {
  1001.                   if (var2.endsWith("SP1") || var2.endsWith("RL1") || var2.endsWith("GL1") || var2.endsWith("CL1")) {
  1002.                      var2 = var2.substring(0, var2.length() - 3);
  1003.                   }
  1004.  
  1005.                   ((JDPClassLayout)var4[var7]).setThisBranch(var1);
  1006.                   if (this.loadingWizardApp) {
  1007.                      ((JDPClassLayout)var4[var7]).InitClass(super.user, var4[var7], var5[var7] + "JDPLayoutMgr:");
  1008.                      ((JDPClassLayout)var4[var7]).refresh();
  1009.                   } else {
  1010.                      ((JDPClassLayout)var4[var7]).InitClass(super.user, var4[var7], var5[var7] + var2);
  1011.                      ((JDPClassLayout)var4[var7]).refresh();
  1012.                      ((JDPClassLayout)var4[var7]).loadLayoutComponent();
  1013.                   }
  1014.                } else {
  1015.                   String var8 = var1.name;
  1016.                   if (var8.endsWith("SP1") || var8.endsWith("RL1") || var8.endsWith("GL1") || var8.endsWith("CL1")) {
  1017.                      var8 = var8.substring(0, var8.length() - 3);
  1018.                   }
  1019.  
  1020.                   if (this.loadingWizardApp) {
  1021.                      ((JDPClassLayout)var4[var7]).setComponentName("");
  1022.                      ((JDPClassLayout)var4[var7]).setThisBranch(var1);
  1023.                      ((JDPClassLayout)var4[var7]).refresh();
  1024.                   } else {
  1025.                      ((JDPClassLayout)var4[var7]).setComponentName(var8);
  1026.                      ((JDPClassLayout)var4[var7]).setThisBranch(var1);
  1027.                      ((JDPClassLayout)var4[var7]).refresh();
  1028.                      ((JDPClassLayout)var4[var7]).loadLayoutComponent();
  1029.                   }
  1030.                }
  1031.  
  1032.                super.user.mainmsg.setStatusMsg("Loading...", 0);
  1033.             }
  1034.  
  1035.             var1.relatedComps = null;
  1036.             if (!this.projectLoading) {
  1037.                this.setButton("Define");
  1038.             }
  1039.  
  1040.             var1.relatedComps = var4;
  1041.          } else if (var1.relatedComps != null && var1.relatedComps[0].equals(this.instanceMgr)) {
  1042.             if (!this.instanceMgr.getComponentName().equals(var1.name)) {
  1043.                this.instanceMgr.setComponentName(var1.name);
  1044.                this.instanceMgr.setThisBranch(var1);
  1045.                this.instanceMgr.refresh();
  1046.             }
  1047.  
  1048.             if (!this.projectLoading) {
  1049.                this.setButton("Define");
  1050.             }
  1051.          } else {
  1052.             var1.relatedComps = null;
  1053.             if (!this.projectLoading && var1.thisObject != null) {
  1054.                this.setButton("Layout");
  1055.             }
  1056.          }
  1057.  
  1058.          if (!this.projectLoading) {
  1059.             this.setRelatedComps(var1);
  1060.          }
  1061.  
  1062.          super.user.mainmsg.clearStatusMsg();
  1063.          super.user.JDesignerPro.gc();
  1064.       }
  1065.    }
  1066.  
  1067.    public void loadTree(JDPTreeBranch var1, String var2) {
  1068.       JDPSaveProps var3 = new JDPSaveProps(super.user);
  1069.       boolean var4 = var3.load(var2);
  1070.       if (!var4) {
  1071.          String var6 = super.user.JDesignerPro.JDPDirectory + "System" + JDesignerPro.serverSeparator;
  1072.          String var7 = var6 + "ObjectTrees" + JDesignerPro.serverSeparator;
  1073.          var2 = var7 + "default1.jot";
  1074.          var4 = var3.load(var2);
  1075.          if (var4) {
  1076.             String var8 = super.user.JDesignerPro.JDPDirectory + "System" + JDesignerPro.serverSeparator;
  1077.             String var9 = var8 + "ObjectTrees" + JDesignerPro.serverSeparator;
  1078.             var2 = var9 + "default.jot";
  1079.             var3.save(var2);
  1080.             this.componentTreeFile = var2;
  1081.          }
  1082.       }
  1083.  
  1084.       if (var4) {
  1085.          if (var1 == null) {
  1086.             var1 = new JDPTreeBranch();
  1087.          }
  1088.  
  1089.          var1 = (JDPTreeBranch)var3.restoreObject(var1, "JDPComponentMaint", "ComponentTree", 0);
  1090.          this.cMgr.tree.treeRoot.dropKey = "Components";
  1091.          this.cMgr.tree.treeRoot.dropMessage = "Drop here to move this object to this the Object tree root";
  1092.          this.cMgr.tree.reDraw();
  1093.       } else {
  1094.          super.user.mainmsg.setStatusMsg("Could not locate object tree: " + var2, 20);
  1095.          System.out.println("Could not locate object tree: " + var2);
  1096.       }
  1097.  
  1098.       this.componentTreeFile = var2;
  1099.    }
  1100.  
  1101.    void checkDragNDrop(JDPTreeBranch[] var1, JDPTreeBranch[] var2) {
  1102.       this.checkDragNDrop(var1, var2, (Object)null);
  1103.    }
  1104.  
  1105.    void checkDragNDrop(JDPTreeBranch[] var1, JDPTreeBranch[] var2, Object var3) {
  1106.       if (var1.length <= var2.length) {
  1107.          boolean var4 = false;
  1108.  
  1109.          for(int var5 = 0; var5 < var1.length; ++var5) {
  1110.             if (!var1[var5].equals(var2[var5])) {
  1111.                var4 = true;
  1112.                break;
  1113.             }
  1114.          }
  1115.  
  1116.          if (!var4) {
  1117.             super.user.mainmsg.setStatusMsg("You cannot copy these components onto a lower component of the same branch.", 15);
  1118.             return;
  1119.          }
  1120.       }
  1121.  
  1122.       if (var1[var1.length - 1].compType == null) {
  1123.          super.user.mainmsg.setStatusMsg("You cannot add a group to your application.", 15);
  1124.       } else {
  1125.          String[] var24 = new String[var2.length];
  1126.          int[] var25 = new int[var2.length + 1];
  1127.          var25[0] = this.compTree.icon;
  1128.  
  1129.          for(int var6 = 1; var6 < var2.length; ++var6) {
  1130.             var24[var6 - 1] = var2[var6].name;
  1131.             var25[var6] = var2[var6].icon;
  1132.          }
  1133.  
  1134.          var24[var2.length - 1] = var1[var1.length - 1].name;
  1135.          var25[var2.length] = var1[var1.length - 1].icon;
  1136.          Component var26 = null;
  1137.          if (var2[var2.length - 1].thisObject instanceof Component) {
  1138.             var26 = (Component)var2[var2.length - 1].thisObject;
  1139.          }
  1140.  
  1141.          String var7 = var1[var1.length - 1].compPosition;
  1142.          String[] var8 = new String[1];
  1143.          if (var1[var1.length - 1].text != null && var1[var1.length - 1].text.length > 0) {
  1144.             var8 = new String[var1[var1.length - 1].text.length];
  1145.             System.arraycopy(var1[var1.length - 1].text, 0, var8, 0, var1[var1.length - 1].text.length);
  1146.          }
  1147.  
  1148.          Vector var9 = null;
  1149.          if (var1[var1.length - 1].treeVector != null) {
  1150.             var9 = new Vector();
  1151.  
  1152.             for(int var10 = 0; var10 < var1[var1.length - 1].treeVector.size(); ++var10) {
  1153.                var9.addElement(var1[var1.length - 1].treeVector.elementAt(var10));
  1154.             }
  1155.          }
  1156.  
  1157.          String[][] var27 = var1[var1.length - 1].properties;
  1158.          this.addComponent(var24, var25, var26, var3, var1[var1.length - 1], var2[var2.length - 1], var7, var8, var27, var9);
  1159.          if (this.projectLoading) {
  1160.             JDPTreeBranch var11 = this.lView.tree.getLastAddedBranch();
  1161.             if (!var1[var1.length - 1].expanded && this.expandedVector != null) {
  1162.                this.expandedVector.addElement(var11);
  1163.             }
  1164.          }
  1165.  
  1166.          JDPTreeBranch[] var28 = new JDPTreeBranch[var2.length + 1];
  1167.  
  1168.          for(int var12 = 0; var12 < var2.length; ++var12) {
  1169.             var28[var12] = var2[var12];
  1170.          }
  1171.  
  1172.          if (var2[var2.length - 1].leaves.size() <= 0) {
  1173.             super.user.mainmsg.setStatusMsg("You cannot add a component to this one.", 15);
  1174.             var2[var2.length - 1].expanded = false;
  1175.          } else {
  1176.             var28[var28.length - 1] = (JDPTreeBranch)var2[var2.length - 1].leaves.elementAt(var2[var2.length - 1].leaves.size() - 1);
  1177.             JDPTreeBranch[] var29 = new JDPTreeBranch[var1.length + 1];
  1178.  
  1179.             for(int var13 = 0; var13 < var1.length; ++var13) {
  1180.                var29[var13] = var1[var13];
  1181.             }
  1182.  
  1183.             if (var28[var28.length - 1].compType.equals("JDPButtons")) {
  1184.                JDPTreeBranch var30 = var28[var28.length - 1];
  1185.                int var14 = 0;
  1186.                int var15 = Integer.parseInt(this.cMgr.getProperty(var30, "# Btns:"));
  1187.                ((JDPButtons)var30.thisObject).setButtonCount(var15);
  1188.                if (this.cMgr.getProperty(var30, "Labels:").equals("No")) {
  1189.                   ((JDPButtons)var30.thisObject).setIconsOnly(true);
  1190.                } else {
  1191.                   ((JDPButtons)var30.thisObject).setIconsOnly(false);
  1192.                }
  1193.  
  1194.                int var16 = JDPButtons.getAlignmentValue(this.cMgr.getProperty(var30, "Align:"));
  1195.                ((JDPButtons)var30.thisObject).setAlignment(var16);
  1196.                String var17 = this.cMgr.getProperty(var30, "Btn#" + Integer.toString(var14) + ":");
  1197.                String var18 = this.cMgr.getProperty(var30, "Icon#" + Integer.toString(var14) + ":");
  1198.                ++var14;
  1199.  
  1200.                while(!var17.equals("")) {
  1201.                   ((JDPButtons)var30.thisObject).setLabel(var14 - 1, var17);
  1202.                   ((JDPButtons)var30.thisObject).setIcon(var14 - 1, var18);
  1203.                   var17 = this.cMgr.getProperty(var30, "Btn#" + Integer.toString(var14) + ":");
  1204.                   var18 = this.cMgr.getProperty(var30, "Icon#" + Integer.toString(var14) + ":");
  1205.                   ++var14;
  1206.                }
  1207.             }
  1208.  
  1209.             if (var1[var1.length - 1].leaves != null) {
  1210.                for(int var31 = 0; var31 < var1[var1.length - 1].leaves.size(); ++var31) {
  1211.                   Vector var33 = null;
  1212.                   if (var28[var28.length - 1].compType.equals("JDPTabSelectPanel")) {
  1213.                      var33 = new Vector();
  1214.                      JDPTreeBranch var34 = var28[var28.length - 1];
  1215.                      int var36 = 0;
  1216.                      String var38 = this.cMgr.getProperty(var34, "Tab#" + Integer.toString(var36) + ":");
  1217.                      String var39 = this.cMgr.getProperty(var34, "FCol#" + Integer.toString(var36) + ":");
  1218.                      String var19 = this.cMgr.getProperty(var34, "BCol#" + Integer.toString(var36) + ":");
  1219.  
  1220.                      for(String var20 = this.cMgr.getProperty(var34, "Icon#" + Integer.toString(var36++) + ":"); !var38.equals(""); var20 = this.cMgr.getProperty(var34, "Icon#" + Integer.toString(var36++) + ":")) {
  1221.                         var33.addElement(var38);
  1222.                         var33.addElement(var39);
  1223.                         var33.addElement(var19);
  1224.                         var33.addElement(var20);
  1225.                         var38 = this.cMgr.getProperty(var34, "Tab#" + Integer.toString(var36) + ":");
  1226.                         var39 = this.cMgr.getProperty(var34, "FCol#" + Integer.toString(var36) + ":");
  1227.                         var19 = this.cMgr.getProperty(var34, "BCol#" + Integer.toString(var36) + ":");
  1228.                      }
  1229.                   }
  1230.  
  1231.                   var29[var29.length - 1] = (JDPTreeBranch)var1[var1.length - 1].leaves.elementAt(var31);
  1232.  
  1233.                   try {
  1234.                      this.checkDragNDrop(var29, var28);
  1235.                   } catch (Exception var23) {
  1236.                      System.out.println("Component Load failed. Stack trace follows:");
  1237.                      ((Throwable)var23).printStackTrace();
  1238.                      this.projectLoadFailed = true;
  1239.                   }
  1240.  
  1241.                   if (var28[var28.length - 1].compType.equals("JDPTabSelectPanel")) {
  1242.                      for(int var35 = 0; var35 < var33.size() / 4; ++var35) {
  1243.                         ((JDPTabSelectPanel)var28[var28.length - 1].thisObject).setTabname(var35, (String)var33.elementAt(var35 * 4));
  1244.                         ((JDPTabSelectPanel)var28[var28.length - 1].thisObject).setTabcolor(var35, super.user.u._cvtcolor((String)var33.elementAt(var35 * 4 + 1)), super.user.u._cvtcolor((String)var33.elementAt(var35 * 4 + 2)));
  1245.  
  1246.                         try {
  1247.                            ((JDPTabSelectPanel)var28[var28.length - 1].thisObject).setTabIcon(var35, (String)var33.elementAt(var35 * 4 + 3));
  1248.                         } catch (Exception var22) {
  1249.                         }
  1250.                      }
  1251.                   }
  1252.                }
  1253.             }
  1254.  
  1255.             if (!this.projectLoading) {
  1256.                if (this.lView.lastSelectedBranch != null) {
  1257.                   if (this.buttonPanel != null && this.buttonPanel.getPressed() != null && !this.buttonPanel.getPressed().equals("Source")) {
  1258.                      this.sourcePanel.setText("");
  1259.                   } else {
  1260.                      this.loadSource(this.lView.lastSelectedBranch, 0);
  1261.                   }
  1262.  
  1263.                   this.layoutTree.selectLastAddedBranch();
  1264.                }
  1265.  
  1266.                this.setAppChanged(true);
  1267.             }
  1268.  
  1269.          }
  1270.       }
  1271.    }
  1272.  
  1273.    boolean saveApplication() {
  1274.       if (this.appType.equals("VisualApp") && this.currentBranch != null) {
  1275.          if (this.buttonPanel != null && this.buttonPanel.getPressed() != null && this.buttonPanel.getPressed().equals("Source")) {
  1276.             this.saveSource(this.currentBranch, this.sourcePanel.getText());
  1277.          }
  1278.  
  1279.          if (this.currentBranch.text[0] == null) {
  1280.             this.currentBranch.text[0] = "";
  1281.          }
  1282.       }
  1283.  
  1284.       if (this.filePicker2.getSelectedFile().equals("")) {
  1285.          this.setButton("SaveJDP");
  1286.          return false;
  1287.       } else {
  1288.          this.buttonPanel2.disable();
  1289.          if (super.user.jdpMainWindow != null) {
  1290.             super.user.jdpMainWindow.setCursor(3);
  1291.          }
  1292.  
  1293.          this.filePicker2.setSelectedFile(super.user.u.replace(this.filePicker2.getSelectedFile(), " ", ""));
  1294.          this.appName = this.filePicker2.getSelectedFile();
  1295.          int var1 = this.appName.lastIndexOf(".");
  1296.          this.appName = this.appName.substring(0, var1);
  1297.          this.lastBuiltAppName = this.appName;
  1298.          this.titleFrame.setTitle("Application Builder - " + this.appName);
  1299.          super.user.mainmsg.setStatusMsg("Saving...", 0);
  1300.          if (this.appType.equals("VisualApp")) {
  1301.             this.lastSaveDir = this.filePicker2.getSelectedDirectory();
  1302.             this.saveSelections();
  1303.             if (super.user.saveProperties.save(this.filePicker2.getSelectedFullPath())) {
  1304.                super.user.mainmsg.setStatusMsg("File successfully saved.", 10);
  1305.             } else {
  1306.                super.user.mainmsg.setStatusMsg("File write failed. See Java console for details.", 20);
  1307.             }
  1308.          } else {
  1309.             this.lastSaveDirNonVisual = this.filePicker2.getSelectedDirectory();
  1310.             this.mTree.saveSource(this.filePicker2.getSelectedFullPath(), this.appName);
  1311.             this.sLayout.setSourceItem(this.mTree.getSelectedSourceItem());
  1312.             this.sLayout.refreshAllNodes();
  1313.          }
  1314.  
  1315.          this.addToLastApps(this.filePicker2.getSelectedFile(), this.filePicker2.getSelectedDirectory());
  1316.          this.setAppChanged(false);
  1317.          if (this.finalBuildRequested) {
  1318.             this.buildApplication("Final BuildJDP");
  1319.             this.finalBuildRequested = false;
  1320.          }
  1321.  
  1322.          if (this.debugBuildRequested) {
  1323.             this.buildApplication("Debug BuildJDP");
  1324.             this.debugBuildRequested = false;
  1325.          }
  1326.  
  1327.          if (this.prelimBuildRequested) {
  1328.             this.buildApplication("BuildJDP");
  1329.             this.prelimBuildRequested = false;
  1330.          }
  1331.  
  1332.          if (this.shutdownInProgress) {
  1333.             Event var2 = new Event(super.user.jdpMainWindow, 201, (Object)null);
  1334.             super.user.jdpMainWindow.postEvent(var2);
  1335.          }
  1336.  
  1337.          this.buttonPanel2.enable();
  1338.          if (super.user.jdpMainWindow != null) {
  1339.             super.user.jdpMainWindow.setCursor(0);
  1340.          }
  1341.  
  1342.          return true;
  1343.       }
  1344.    }
  1345.  
  1346.    boolean checkChangedWizardSource(JDPTreeBranch var1) {
  1347.       if (var1.text != null && var1.text.length != 0) {
  1348.          boolean var2 = false;
  1349.  
  1350.          for(int var3 = 0; var3 < var1.text.length; ++var3) {
  1351.             if (var1.text[var3].indexOf("|C|") >= 0) {
  1352.                var2 = true;
  1353.                break;
  1354.             }
  1355.          }
  1356.  
  1357.          if (!var2) {
  1358.             return true;
  1359.          } else {
  1360.             this.messageDialog = new JDPDialog(super.user, "Source changes will be lost", this, false);
  1361.             JDPList var10 = new JDPList(super.user);
  1362.  
  1363.             for(int var5 = 0; var5 < var1.text.length; ++var5) {
  1364.                int var4;
  1365.                if ((var4 = var1.text[var5].indexOf("|C|")) >= 0) {
  1366.                   var10.addItem(var1.text[var5].substring(0, var4), 8);
  1367.                }
  1368.             }
  1369.  
  1370.             ((JDPTreePicker)var10).setMinWidth(150);
  1371.             ((JDPTreePicker)var10).setMinHeight(80);
  1372.             String[] var11 = new String[]{"Change Anyway", "Cancel"};
  1373.             int[] var6 = new int[]{5, 8};
  1374.             this.dialogButtons = new JDPButtons(super.user, var11, var6, JDPButtons.HORIZONTAL);
  1375.             Panel var7 = new Panel();
  1376.             ((Container)var7).setLayout(new FlowLayout());
  1377.             ((Container)var7).add(this.dialogButtons);
  1378.             Panel var8 = new Panel();
  1379.             ((Container)var8).setLayout(new JDPRowLayout());
  1380.             ((Container)var8).add("Left", new Label("  The following method(s) have been manually changed.", 0));
  1381.             ((Container)var8).add("Left", new Label("  Using the wizard will result in a loss of these changes.", 0));
  1382.             Panel var9 = new Panel();
  1383.             ((Container)var9).setLayout(new BorderLayout());
  1384.             ((Container)var9).add("North", var8);
  1385.             ((Container)var9).add("Center", var10);
  1386.             ((Container)var9).add("South", var7);
  1387.             this.messageDialog.setLayout(new BorderLayout());
  1388.             this.messageDialog.add("Center", var9);
  1389.             this.messageDialog.display();
  1390.             return false;
  1391.          }
  1392.       } else {
  1393.          return true;
  1394.       }
  1395.    }
  1396.  
  1397.    void moveBranch(JDPTreeBranch[] var1, JDPTreeBranch[] var2) {
  1398.       JDPTreeBranch var3 = var1[var1.length - 1];
  1399.       JDPTreeBranch var4 = var2[var2.length - 1];
  1400.       if (var4.thisObject instanceof Container && !var3.equals(var4)) {
  1401.          String var5 = null;
  1402.          Container var6 = (Container)var1[var1.length - 2].thisObject;
  1403.          if (var3.thisObject instanceof Component) {
  1404.             Component var7 = (Component)var3.thisObject;
  1405.             if (var4.thisObject instanceof JDPChiselFramePanel) {
  1406.                Container var8 = (Container)var4.thisObject;
  1407.                if (var8.countComponents() != 4) {
  1408.                   super.user.mainmsg.setStatusMsg("You may only add one panel to the Chisel Panel", 15);
  1409.                   return;
  1410.                }
  1411.             }
  1412.  
  1413.             if (var6 instanceof JDPTabSelectPanel) {
  1414.                ((JDPTabSelectPanel)var6).removeTab(var7);
  1415.             } else {
  1416.                var6.remove(var7);
  1417.             }
  1418.  
  1419.             var5 = var3.compPosition;
  1420.             Object var13 = null;
  1421.             LayoutManager var9 = ((Container)var4.thisObject).getLayout();
  1422.             if (var9 != null) {
  1423.                String var14 = var9.toString();
  1424.                if (var14.indexOf("Grid") >= 0) {
  1425.                   var5 = "";
  1426.                }
  1427.  
  1428.                if (var14.indexOf("Border") >= 0) {
  1429.                   String var10 = "";
  1430.  
  1431.                   for(int var11 = 0; var11 < var4.leaves.size(); ++var11) {
  1432.                      JDPTreeBranch var12 = (JDPTreeBranch)var4.leaves.elementAt(var11);
  1433.                      var10 = var10 + var12.compPosition + " ";
  1434.                   }
  1435.  
  1436.                   if (var10.indexOf("Center ") < 0) {
  1437.                      var5 = "Center";
  1438.                   } else if (var10.indexOf("West ") < 0) {
  1439.                      var5 = "West";
  1440.                   } else if (var10.indexOf("South ") < 0) {
  1441.                      var5 = "South";
  1442.                   } else if (var10.indexOf("North ") < 0) {
  1443.                      var5 = "North";
  1444.                   } else if (var10.indexOf("East ") < 0) {
  1445.                      var5 = "East";
  1446.                   }
  1447.                }
  1448.  
  1449.                if (var14.indexOf("JDPLineLayout") >= 0) {
  1450.                   var5 = "Left";
  1451.                }
  1452.             } else {
  1453.                var5 = "";
  1454.             }
  1455.  
  1456.             if (var4.thisObject instanceof JDPScrollPanel) {
  1457.                var5 = "Left";
  1458.                if (var4.leaves.size() > 0) {
  1459.                   JDPTreeBranch var15 = (JDPTreeBranch)var4.leaves.elementAt(var4.leaves.size() - 1);
  1460.                   if (var15.compPosition.equals("Left")) {
  1461.                      var5 = "Right";
  1462.                   }
  1463.                }
  1464.             }
  1465.  
  1466.             if (var4.thisObject instanceof JDPSplitPanel) {
  1467.                JDPSplitPanel var16 = (JDPSplitPanel)var4.thisObject;
  1468.                if (var16.getTopLeftComp() == null) {
  1469.                   var5 = "Left";
  1470.                } else if (var16.getTopRightComp() == null) {
  1471.                   var5 = "Right";
  1472.                } else if (var16.getBottomLeftComp() == null) {
  1473.                   var5 = "Left";
  1474.                } else if (var16.getBottomRightComp() == null) {
  1475.                   var5 = "Right";
  1476.                } else {
  1477.                   var5 = "";
  1478.                }
  1479.             }
  1480.  
  1481.             if (var4.thisObject instanceof JDPCardPanel) {
  1482.                var5 = var3.name;
  1483.                ((Container)var4.thisObject).add(var5, var7);
  1484.                ((JDPCardPanel)var4.thisObject).setSelectedComp(var5);
  1485.             } else if (var4.thisObject instanceof JDPTabSelectPanel) {
  1486.                JDPTabSelectPanel var17 = (JDPTabSelectPanel)var4.thisObject;
  1487.                var17.add(var7, var3.name);
  1488.             } else if (var5 != null && !var5.equals("")) {
  1489.                ((Container)var4.thisObject).add(var5, var7);
  1490.             } else {
  1491.                ((Container)var4.thisObject).add(var7);
  1492.             }
  1493.          }
  1494.  
  1495.          this.lView.removeBranch(var1);
  1496.          var3.compPosition = var5;
  1497.          var4.leaves.addElement(var3);
  1498.          this.layoutTree.nothingChanged = false;
  1499.          this.layoutTree.repaint();
  1500.          this.setAppChanged(true);
  1501.       }
  1502.  
  1503.    }
  1504.  
  1505.    void loadVisualErrorComponent(int var1, String var2) {
  1506.       if (this.appType.equals("NonVisualApp")) {
  1507.          this.mTree.selectItemWithSourceLine(var1);
  1508.          JDPSourceItem var11 = this.mTree.getSelectedSourceItem();
  1509.          if (var11 != null) {
  1510.             this.sLayout.setSourceItem(var11);
  1511.             this.lastSelectedmTree = this.mTree.getCurrentBranch();
  1512.             this.sLayout.positionToLine(var1 - var11.startingLineNumber);
  1513.          }
  1514.  
  1515.       } else {
  1516.          JDPTreeBranch var3 = this.gSource.getErrorComponent(var1);
  1517.          int var4 = this.gSource.getErrorSourceComponent(var1);
  1518.          if (var3 != null && var4 >= 0) {
  1519.             if (!this.currentBranch.equals(var3)) {
  1520.                this.lView.tree.select(this.lView.tree.getTreeBranchNames(var3));
  1521.                this.setProperties(var3);
  1522.             }
  1523.  
  1524.             if (!this.currentBranch.equals(var3) || this.sourceSelect.getSelectedIndex() != var4) {
  1525.                this.loadSource(var3, var4);
  1526.             }
  1527.  
  1528.             int var12 = this.gSource.getErrorSourceLine(var1) - 1;
  1529.             String var14 = this.sourcePanel.getText();
  1530.             int var16 = -1;
  1531.  
  1532.             for(int var19 = 0; var19 < var1 - var12 + 1; ++var19) {
  1533.                var16 = var14.indexOf("\n", var16 + 1);
  1534.             }
  1535.  
  1536.             if (!this.buttonPanel.getPressed().equals("Source")) {
  1537.                this.setButton("Source");
  1538.             }
  1539.  
  1540.             if (!this.buttonPanel1.getPressed().equals("Object")) {
  1541.                this.setSourceButton("Object");
  1542.             }
  1543.  
  1544.             int var20 = var14.indexOf("\n", var16 + 1);
  1545.             int var24 = var14.indexOf("\r", var16 + 1);
  1546.             if (var24 >= 0 && var24 < var20) {
  1547.                var20 = var24;
  1548.             }
  1549.  
  1550.             if (var20 < 0) {
  1551.                var20 = var14.length();
  1552.             }
  1553.  
  1554.             this.sourcePanel.select(var16, var20);
  1555.             if (var2 == null && System.getProperty("java.vendor").startsWith("Microsoft") && !System.getProperty("java.version").startsWith("1.0")) {
  1556.                this.sourcePanel.setCaretPosition(var16 + 1);
  1557.             }
  1558.  
  1559.             this.sourcePanel.requestFocus();
  1560.          } else {
  1561.             JDPTreeBranch var5 = this.gSource.getErrorEvent(var1);
  1562.             if (var3 != null && var5 != null) {
  1563.                if (!this.buttonPanel.getPressed().equals("Events")) {
  1564.                   this.setButton("Events");
  1565.                }
  1566.  
  1567.                if (!this.currentBranch.equals(var3)) {
  1568.                   this.lView.tree.select(this.lView.tree.getTreeBranchNames(var3));
  1569.                   this.setProperties(var3);
  1570.                }
  1571.  
  1572.                this.interactionMgr.setProperties(var3);
  1573.                this.interactionMgr.eventTree.select(var5);
  1574.                this.interactionMgr.loadEventSource();
  1575.                this.interactionMgr.TabPanel1.select(2);
  1576.                int var13 = this.gSource.getErrorEventLine(var1);
  1577.                String var15 = this.interactionMgr.eventSource.getText();
  1578.                int var18 = var15.length();
  1579.  
  1580.                for(int var22 = 0; var22 < var13 - var1 + 2; ++var22) {
  1581.                   var18 = var15.lastIndexOf("\n", var18 - 1);
  1582.                }
  1583.  
  1584.                int var23 = var15.indexOf("\n", var18 + 1);
  1585.                int var25 = var15.indexOf("\r", var18 + 1);
  1586.                if (var25 >= 0 && var25 < var23) {
  1587.                   var23 = var25;
  1588.                }
  1589.  
  1590.                if (var23 < 0) {
  1591.                   var23 = var15.length();
  1592.                }
  1593.  
  1594.                this.interactionMgr.eventSource.select(var18 + 1, var23);
  1595.                if (var2 == null && System.getProperty("java.vendor").startsWith("Microsoft") && !System.getProperty("java.version").startsWith("1.0")) {
  1596.                   this.interactionMgr.eventSource.setCaretPosition(var18 + 1);
  1597.                }
  1598.  
  1599.                this.interactionMgr.eventSource.requestFocus();
  1600.             } else {
  1601.                if (!this.buttonPanel.getPressed().equals("Source")) {
  1602.                   this.setButton("Source");
  1603.                }
  1604.  
  1605.                if (!this.buttonPanel1.getPressed().equals("Complete")) {
  1606.                   this.setSourceButton("Complete");
  1607.                }
  1608.  
  1609.                String var6 = this.sourcePanel2.getText();
  1610.                int var7 = -1;
  1611.  
  1612.                for(int var8 = 0; var8 < var1 - 1; ++var8) {
  1613.                   int var9 = var6.indexOf("\n", var7 + 1);
  1614.                   if (var9 > 0) {
  1615.                      var7 = var9;
  1616.                   }
  1617.                }
  1618.  
  1619.                String var17 = "****>> " + var2;
  1620.                int var21 = var6.indexOf("\n", var7 + 1);
  1621.                int var10 = var6.indexOf("\r", var7 + 1);
  1622.                if (var10 >= 0 && var10 < var21) {
  1623.                   var21 = var10;
  1624.                }
  1625.  
  1626.                if (var21 < 0) {
  1627.                   var21 = var6.length();
  1628.                }
  1629.  
  1630.                if (var2 != null) {
  1631.                   this.sourcePanel2.setText(this.gSource.insertErrorMarker(this.saveSourcePanel2, var1, var17));
  1632.                }
  1633.  
  1634.                if (System.getProperty("java.vendor").startsWith("Microsoft") && !System.getProperty("java.version").startsWith("1.0")) {
  1635.                   this.sourcePanel2.select(var7 + 6, var7 + 7);
  1636.                   if (var2 == null) {
  1637.                      this.sourcePanel2.setCaretPosition(var7 + 7);
  1638.                   }
  1639.                } else {
  1640.                   this.sourcePanel2.select(0, 1);
  1641.                   this.sourcePanel2.select(var21 + 4, var21 + 5);
  1642.                   this.sourcePanel2.select(var7 + 1, var21);
  1643.                }
  1644.  
  1645.                this.sourcePanel2.requestFocus();
  1646.             }
  1647.          }
  1648.       }
  1649.    }
  1650.  
  1651.    public void saveTree(JDPTreeBranch var1, String var2) {
  1652.       JDPSaveProps var3 = new JDPSaveProps(super.user);
  1653.       var3.saveObject(var1, "JDPComponentMaint", "ComponentTree", 0);
  1654.       if (var3.save(var2)) {
  1655.          super.user.mainmsg.setStatusMsg("Component tree saved.", 10);
  1656.       } else {
  1657.          super.user.mainmsg.setStatusMsg("Component tree write failed. See Java console for details.", 20);
  1658.       }
  1659.  
  1660.       this.componentTreeFile = var2;
  1661.    }
  1662.  
  1663.    void loadNonVisualPopupMenu(JDPTreeBranch var1) {
  1664.       this.popup.clear();
  1665.       if (!var1.equals(this.mTree.treeRoot)) {
  1666.          if (var1.thisObject == null) {
  1667.             if (var1.name.equals("Accessors")) {
  1668.                this.popup.addEntry("New Set Method");
  1669.                this.popup.addEntry("New Get Method");
  1670.                return;
  1671.             }
  1672.  
  1673.             if (!var1.name.equals("Methods") && !var1.name.equals("Public") && !var1.name.equals("Private")) {
  1674.                this.popup.addEntry("New");
  1675.                return;
  1676.             }
  1677.  
  1678.             this.popup.addEntry("New");
  1679.             this.popup.addEntry("SQL Wizard");
  1680.             return;
  1681.          }
  1682.  
  1683.          this.popup.addEntry("New");
  1684.          this.popup.addEntry("Remove");
  1685.          this.popup.addEntry("Copy");
  1686.          JDPSourceItem var2 = (JDPSourceItem)var1.thisObject;
  1687.          if (var2.type == 3) {
  1688.             this.popup.addEntry("Create Accessors");
  1689.             return;
  1690.          }
  1691.  
  1692.          if (var2.type == 2) {
  1693.             this.popup.addEntry("SQL Wizard");
  1694.          }
  1695.       }
  1696.  
  1697.    }
  1698.  
  1699.    void createSQLMethod() {
  1700.       String var1 = this.sqlWizard.getFunction();
  1701.       boolean var2 = false;
  1702.       String var3 = "\t\t";
  1703.       if (!this.appType.equals("VisualApp")) {
  1704.          if (this.mTree.getSelectedLvl() == 1) {
  1705.             JDPTreeBranch var10 = this.mTree.getCurrentBranch();
  1706.             JDPSourceItem var16 = new JDPSourceItem();
  1707.             var16.name = var1.toLowerCase() + "SQLMethod";
  1708.             if (var10.name.equals("Public")) {
  1709.                var16.ispublic = true;
  1710.             } else if (var10.name.equals("Private")) {
  1711.                var16.isprivate = true;
  1712.             }
  1713.  
  1714.             var16.type = 2;
  1715.             if (!var1.equals("Select") && !var1.equals("Delete")) {
  1716.                if (var1.equals("StoredProcedure")) {
  1717.                   var16.description = "Run an SQL to run a " + var1;
  1718.                } else {
  1719.                   var16.description = "Run an SQL to perform an " + var1;
  1720.                }
  1721.             } else {
  1722.                var16.description = "Run an SQL to perform a " + var1;
  1723.             }
  1724.  
  1725.             var16.returnDesc = "the result code from the SQL call";
  1726.             var16.type = 2;
  1727.             var16.returnType = "int";
  1728.             var16.parmTypes = new Vector();
  1729.             var16.parmNames = new Vector();
  1730.             var16.actualSource = "{\n\n" + this.sqlWizard.getCompleteSource("\t\t") + "\n\t\treturn returnVal;\n\n\t}\n";
  1731.             JDPSourceParser.reCreateHeader(var16);
  1732.             this.sLayout.loadNewItem(var16);
  1733.             this.mTree.select(var16);
  1734.             this.sLayout.setSourceItem(var16);
  1735.             this.lastSelectedmTree = this.mTree.getCurrentBranch();
  1736.             this.sLayout.reParseSource(var16);
  1737.             this.sLayout.refreshAllRelations();
  1738.             return;
  1739.          }
  1740.  
  1741.          if (this.mTree.getSelectedLvl() == 2) {
  1742.             JDPSourceItem var4 = this.mTree.getSelectedSourceItem();
  1743.             int var5 = this.sLayout.getSelectionStart();
  1744.             int var6 = this.sLayout.getSelectionEnd();
  1745.             if (var5 == 0 && var6 == 0) {
  1746.                var5 = var4.actualSource.indexOf("{\n\n");
  1747.                if (var5 > 0) {
  1748.                   var5 += 3;
  1749.                   var6 = var5;
  1750.                } else {
  1751.                   var5 = var4.actualSource.indexOf("{\n");
  1752.                   if (var5 > 0) {
  1753.                      var5 += 2;
  1754.                      var6 = var5;
  1755.                   } else {
  1756.                      var5 = 0;
  1757.                   }
  1758.                }
  1759.  
  1760.                var2 = true;
  1761.             } else {
  1762.                String var7 = this.sLayout.sourcePanel.getText();
  1763.                if (System.getProperty("java.version").startsWith("1.1") && System.getProperty("java.vendor").startsWith("Sun")) {
  1764.                   var7 = super.user.u.replace(this.sLayout.sourcePanel.getText(), "\n", "\n ");
  1765.                   int var32 = var5 - 1;
  1766.  
  1767.                   for(var3 = ""; var32 >= 0 && var7.charAt(var32) == '\t'; --var32) {
  1768.                      var3 = var3 + "\t";
  1769.                   }
  1770.  
  1771.                   for(int var33 = var5; (var33 = var7.lastIndexOf("\n", var33 - 1)) >= 0; --var5) {
  1772.                   }
  1773.  
  1774.                   for(int var34 = var6; (var34 = var7.lastIndexOf("\n", var34 - 1)) >= 0; --var6) {
  1775.                   }
  1776.                } else {
  1777.                   int var8 = var5 - 1;
  1778.  
  1779.                   for(var3 = ""; var8 >= 0 && var7.charAt(var8) == '\t'; --var8) {
  1780.                      var3 = var3 + "\t";
  1781.                   }
  1782.                }
  1783.             }
  1784.  
  1785.             String var23 = this.sqlWizard.getCompleteSource(var3);
  1786.             int var35 = 0;
  1787.             if (!var2) {
  1788.                while(var23.charAt(var35) == '\t') {
  1789.                   ++var35;
  1790.                }
  1791.             }
  1792.  
  1793.             if (var35 > 0) {
  1794.                var4.actualSource = var4.actualSource.substring(0, var5) + var23.substring(var35) + var4.actualSource.substring(var6);
  1795.             } else {
  1796.                var4.actualSource = var4.actualSource.substring(0, var5) + var23 + var4.actualSource.substring(var6);
  1797.             }
  1798.  
  1799.             this.sLayout.setSourceItem(var4);
  1800.             this.sLayout.reParseSource(var4);
  1801.             this.sLayout.refreshAllRelations();
  1802.             return;
  1803.          }
  1804.       } else {
  1805.          int var11 = this.lastCursorStartPos;
  1806.          int var17 = this.lastCursorEndPos;
  1807.          String var18 = this.sourcePanel.getText();
  1808.          if (var18.length() == 0 || var11 == 0 && var17 == 0 || !this.sourcePanel.isEditable()) {
  1809.             this.lastCursorStartPos = 0;
  1810.             this.lastCursorEndPos = 0;
  1811.             var11 = 0;
  1812.             var17 = 0;
  1813.             String var24 = "Run an SQL";
  1814.             if (!var1.equals("Select") && !var1.equals("Delete")) {
  1815.                if (var1.equals("StoredProcedure")) {
  1816.                   var24 = "Run an SQL to run a " + var1;
  1817.                } else {
  1818.                   var24 = "Run an SQL to perform an " + var1;
  1819.                }
  1820.             } else {
  1821.                var24 = "Run an SQL to perform a " + var1;
  1822.             }
  1823.  
  1824.             var24 = var24 + ".\n\t * @return the result code from the SQL call.";
  1825.             String var36 = this.currentBranch.name + var1 + "SQL";
  1826.  
  1827.             for(int var9 = 1; this.sourceSelect.getItem(var36) >= 0; var36 = this.currentBranch.name + var1 + "SQL" + Integer.toString(var9++)) {
  1828.             }
  1829.  
  1830.             this.sourcePanel.setText(this.gSource.createComment(var24) + "\tpublic int " + var36 + "() {\n\n\t\t\n\t\treturn returnVal;\n\t}\n");
  1831.             var18 = this.sourcePanel.getText();
  1832.             this.sourcePanel.setEditable(true);
  1833.          }
  1834.  
  1835.          if (var11 == 0 && var17 == 0) {
  1836.             var11 = var18.indexOf("{\n\n");
  1837.             if (var11 > 0) {
  1838.                var11 += 3;
  1839.                var17 = var11;
  1840.             } else {
  1841.                var11 = var18.indexOf("{\n");
  1842.                if (var11 > 0) {
  1843.                   var11 += 2;
  1844.                   var17 = var11;
  1845.                } else {
  1846.                   var11 = 0;
  1847.                }
  1848.             }
  1849.  
  1850.             var2 = true;
  1851.          } else if (System.getProperty("java.version").startsWith("1.1") && System.getProperty("java.vendor").startsWith("Sun")) {
  1852.             var18 = super.user.u.replace(var18, "\n", "\n ");
  1853.             int var28 = var11 - 1;
  1854.  
  1855.             for(var3 = ""; var28 >= 0 && var18.charAt(var28) == '\t'; --var28) {
  1856.                var3 = var3 + "\t";
  1857.             }
  1858.  
  1859.             for(int var29 = var11; (var29 = var18.lastIndexOf("\n", var29 - 1)) >= 0; --var11) {
  1860.             }
  1861.  
  1862.             for(int var30 = var17; (var30 = var18.lastIndexOf("\n", var30 - 1)) >= 0; --var17) {
  1863.             }
  1864.          } else {
  1865.             int var27 = var11 - 1;
  1866.  
  1867.             for(var3 = ""; var27 >= 0 && var18.charAt(var27) == '\t'; --var27) {
  1868.                var3 = var3 + "\t";
  1869.             }
  1870.          }
  1871.  
  1872.          String var31 = this.sqlWizard.getCompleteSource(var3);
  1873.          var18 = this.sourcePanel.getText();
  1874.          int var37 = 0;
  1875.          if (!var2) {
  1876.             while(var31.charAt(var37) == '\t') {
  1877.                ++var37;
  1878.             }
  1879.          }
  1880.  
  1881.          if (var37 > 0) {
  1882.             var18 = var18.substring(0, var11) + var31.substring(var37) + var18.substring(var17);
  1883.          } else {
  1884.             var18 = var18.substring(0, var11) + var31 + var18.substring(var17);
  1885.          }
  1886.  
  1887.          this.sourcePanel.setText(var18);
  1888.          this.sourcePanel.requestFocus();
  1889.       }
  1890.  
  1891.    }
  1892.  
  1893.    void saveDeveloperPreferences() {
  1894.       String var1 = Integer.toString((int)this.mainPanel.getLeftPercentage());
  1895.       this.developerProps.put("mainPanelPercent", var1);
  1896.       String var2 = Integer.toString((int)this.cardMainPanel.getTopPercentage());
  1897.       this.developerProps.put("cardMainPercent", var2);
  1898.       String var3 = Integer.toString((int)this.leftPanel.getTopPercentage());
  1899.       this.developerProps.put("leftPanelPercent", var3);
  1900.       String var4 = Integer.toString((int)this.sourceMainPanel1.getTopPercentage());
  1901.       this.developerProps.put("sourceMainPercent", var4);
  1902.       String var5 = Integer.toString((int)this.sourcePanelFrame.getLeftPercentage());
  1903.       this.developerProps.put("sourcePanelPercent", var5);
  1904.       String var6 = Integer.toString((int)this.interactionMgr.Main.getLeftPercentage());
  1905.       this.developerProps.put("iMgrMainPercent", var6);
  1906.       String var7 = Integer.toString((int)this.interactionMgr.Panel2.getLeftPercentage());
  1907.       this.developerProps.put("iMgrPanel2Percent", var7);
  1908.       String var8 = Integer.toString((int)this.interactionMgr.eventSourcePanelFrame.getLeftPercentage());
  1909.       this.developerProps.put("iMgrEventPercent", var8);
  1910.       String var9 = Integer.toString((int)this.sLayout.Panel2.getLeftPercentage());
  1911.       this.developerProps.put("sLayoutPanel2Percent", var9);
  1912.       if (this.methodsButton.isPressed()) {
  1913.          this.developerProps.put("methodsButton1", "pressed");
  1914.       } else {
  1915.          this.developerProps.put("methodsButton1", "notpressed");
  1916.       }
  1917.  
  1918.       if (this.interactionMgr.methodsButton.isPressed()) {
  1919.          this.developerProps.put("methodsButton2", "pressed");
  1920.       } else {
  1921.          this.developerProps.put("methodsButton2", "notpressed");
  1922.       }
  1923.  
  1924.       if (this.sLayout.JDPButton1.isPressed()) {
  1925.          this.developerProps.put("methodsButton3", "pressed");
  1926.       } else {
  1927.          this.developerProps.put("methodsButton3", "notpressed");
  1928.       }
  1929.  
  1930.       this.developerProps.put("componentTreeFile", this.componentTreeFile);
  1931.       this.developerProps.put("lastOpenDir", this.lastOpenDir);
  1932.       this.developerProps.put("lastOpenDirNonVisual", this.lastOpenDirNonVisual);
  1933.       this.developerProps.put("lastSaveDir", this.lastSaveDir);
  1934.       this.developerProps.put("lastSaveDirNonVisual", this.lastSaveDirNonVisual);
  1935.       this.developerProps.put("definePos", this.sLayout.getPanelPosition("Definition Panel"));
  1936.       this.developerProps.put("explorePos", this.sLayout.getPanelPosition("Explorer Panel"));
  1937.       this.developerProps.put("sourcePos", this.sLayout.getPanelPosition("Source Panel"));
  1938.       this.developerProps.put("tabPos", this.sLayout.getPanelPosition("Tab Panel"));
  1939.       this.saveProps.setProperties(this.developerProps);
  1940.       this.saveProps.saveObject("displayName", this.sLayout.JDPMethodExplorer1.displayName);
  1941.       this.saveProps.saveObject("displayText", this.sLayout.JDPMethodExplorer1.displayText);
  1942.       this.saveProps.saveObject("displayGlobals", this.sLayout.JDPMethodExplorer1.displayGlobals);
  1943.       this.saveProps.saveObject("nodeSpaceWidth", this.sLayout.JDPMethodExplorer1.nodeSpaceWidth);
  1944.       this.saveProps.saveObject("nodeSpaceHeight", this.sLayout.JDPMethodExplorer1.nodeSpaceHeight);
  1945.       this.saveProps.saveObject("minimumHeight", this.sLayout.JDPMethodExplorer1.minimumHeight);
  1946.       String var10 = super.user.JDesignerPro.JDPDirectory + "System" + JDesignerPro.serverSeparator;
  1947.       var10 = var10 + "Users" + JDesignerPro.serverSeparator;
  1948.       var10 = var10 + "U" + Integer.toString(super.user.cust.getUserid()) + ".usr";
  1949.       String[][] var11 = new String[this.last20Apps.size()][2];
  1950.  
  1951.       for(int var12 = 0; var12 < this.last20Apps.size(); ++var12) {
  1952.          String[] var13 = (String[])this.last20Apps.elementAt(var12);
  1953.          var11[var12][0] = var13[0];
  1954.          var11[var12][1] = var13[1];
  1955.       }
  1956.  
  1957.       this.saveProps.saveObject("lastApps", var11);
  1958.       this.saveProps.saveObject("dontDisplaySizeWarning", this.dontDisplaySizeWarning.getState());
  1959.       this.saveProps.save(var10);
  1960.    }
  1961.  
  1962.    void loadCompileErrors(String var1) {
  1963.       this.compileErrors.clear();
  1964.       if (var1 != null && var1.length() != 0) {
  1965.          StringTokenizer var4 = new StringTokenizer(var1);
  1966.  
  1967.          while(var4.hasMoreTokens()) {
  1968.             String var5 = var4.nextToken("\n\r");
  1969.             int var2 = var5.indexOf(".java");
  1970.             String var3;
  1971.             if (var2 > 0) {
  1972.                int var6 = var5.substring(0, var2).lastIndexOf("\\");
  1973.                if (var6 < 0) {
  1974.                   var6 = var5.substring(0, var2).lastIndexOf("/");
  1975.                }
  1976.  
  1977.                var3 = var5.substring(var6 + 1);
  1978.             } else {
  1979.                var3 = var5;
  1980.             }
  1981.  
  1982.             if (var3.indexOf("-depre") < 0) {
  1983.                this.compileErrors.addItem(var3.replace('\t', ' '));
  1984.             }
  1985.          }
  1986.  
  1987.       }
  1988.    }
  1989.  
  1990.    void setRelatedComps(JDPTreeBranch var1) {
  1991.       if (var1 != null) {
  1992.          if (var1.relatedComps != null && var1.relatedComps.length > 0) {
  1993.             if (!var1.relatedComps[0].equals(this.instanceMgr) && var1.thisObject != null) {
  1994.                if (super.user.jdpMainWindow != null) {
  1995.                   super.user.jdpMainWindow.setCursor(3);
  1996.                }
  1997.  
  1998.                super.user.mainmsg.setStatusMsg("Loading Data Definition screen...", 0);
  1999.                boolean var2 = false;
  2000.                int var3 = var1.relatedComps.length;
  2001.                String[] var4 = new String[var3];
  2002.                if (this.field_0 != null && var3 == this.field_0.tabpanels.length) {
  2003.                   for(int var5 = 0; var5 < var3; ++var5) {
  2004.                      if (!this.field_0.tabpanels[var5].getComponent(0).equals(var1.relatedComps[var5])) {
  2005.                         var2 = true;
  2006.                         break;
  2007.                      }
  2008.                   }
  2009.                } else {
  2010.                   var2 = true;
  2011.                }
  2012.  
  2013.                Panel[] var8 = new Panel[var3];
  2014.  
  2015.                for(int var6 = 0; var6 < var3; ++var6) {
  2016.                   var8[var6] = new Panel();
  2017.                   var8[var6].setLayout(new BorderLayout());
  2018.                   String var7 = ((JDPClassLayout)var1.relatedComps[var6]).getComponentName();
  2019.                   if (!var7.equals(var1.name) && !this.loadingWizardApp) {
  2020.                      ((JDPClassLayout)var1.relatedComps[var6]).setComponentName(var1.name);
  2021.                      ((JDPClassLayout)var1.relatedComps[var6]).setThisBranch(var1);
  2022.                      ((JDPClassLayout)var1.relatedComps[var6]).refresh();
  2023.                   }
  2024.  
  2025.                   if (var2) {
  2026.                      var8[var6].add("Center", var1.relatedComps[var6]);
  2027.                      if (var1.relatedComps[var6] instanceof JDPSelectDSN) {
  2028.                         var4[var6] = "Select Database";
  2029.                      } else if (var1.relatedComps[var6] instanceof JDPSelectTable) {
  2030.                         var4[var6] = "Select Table";
  2031.                      } else if (var1.relatedComps[var6] instanceof JDPSelectColumns) {
  2032.                         var4[var6] = "Define Keys";
  2033.                      } else if (var1.relatedComps[var6] instanceof JDPScreenLayout) {
  2034.                         var4[var6] = "Layout";
  2035.                      } else if (var1.relatedComps[var6] instanceof JDPGridSettings) {
  2036.                         var4[var6] = "Grid Settings";
  2037.                      } else if (var1.relatedComps[var6] instanceof JDPScreenSettings) {
  2038.                         var4[var6] = "Settings";
  2039.                      } else if (var1.relatedComps[var6] instanceof JDPSearchLayout) {
  2040.                         var4[var6] = "Search Panel";
  2041.                      } else if (var1.relatedComps[var6] instanceof JDPListLayout) {
  2042.                         var4[var6] = "Result List";
  2043.                      } else {
  2044.                         var4[var6] = "Definition";
  2045.                      }
  2046.                   }
  2047.                }
  2048.  
  2049.                if (this.field_0 == null) {
  2050.                   this.field_0 = new JDPTabSelectPanel(super.user, var4, var8, "North");
  2051.                   this.definePanel.add("ts", this.field_0);
  2052.                } else if (var2) {
  2053.                   this.field_0.loadNewTabs(var4, var8, "North");
  2054.                }
  2055.  
  2056.                this.field_0.select(0);
  2057.                ((CardLayout)this.definePanel.getLayout()).show(this.definePanel, "ts");
  2058.                if (super.user.jdpMainWindow != null) {
  2059.                   super.user.jdpMainWindow.setCursor(0);
  2060.                }
  2061.  
  2062.                super.user.mainmsg.clearStatusMsg();
  2063.             } else {
  2064.                if (var1.relatedComps[0].equals(this.instanceMgr)) {
  2065.                   this.refreshRelatedComps(var1);
  2066.                }
  2067.  
  2068.                ((CardLayout)this.definePanel.getLayout()).show(this.definePanel, "instanceMgr");
  2069.             }
  2070.          } else {
  2071.             ((CardLayout)this.definePanel.getLayout()).show(this.definePanel, "blank");
  2072.          }
  2073.       }
  2074.    }
  2075.  
  2076.    int countSourceLinesToCursor(TextArea var1) {
  2077.       String var2 = ((TextComponent)var1).getText();
  2078.       int var3 = 0;
  2079.       int var4 = 0;
  2080.       if (System.getProperty("java.vendor").startsWith("Sun") && !System.getProperty("java.version").startsWith("1.0")) {
  2081.          var2 = super.user.u.replace(var2, "\n", "|\n");
  2082.       }
  2083.  
  2084.       int var5 = var2.indexOf("\n");
  2085.       int var6 = ((TextComponent)var1).getSelectionEnd();
  2086.       if (System.getProperty("java.vendor").startsWith("Microsoft") && !System.getProperty("java.version").startsWith("1.0")) {
  2087.          var6 = ((TextComponent)var1).getCaretPosition();
  2088.       }
  2089.  
  2090.       while(var5 >= 0 && var5 < var6) {
  2091.          ++var3;
  2092.          var5 = var2.indexOf("\n", var5 + 1);
  2093.       }
  2094.  
  2095.       for(var4 = var3; var5 >= 0; var5 = var2.indexOf("\n", var5 + 1)) {
  2096.          ++var4;
  2097.       }
  2098.  
  2099.       if (this.appType.equals("NonVisualApp")) {
  2100.          JDPSourceItem var7 = this.mTree.getSelectedSourceItem();
  2101.          if (var7 != null) {
  2102.             var3 += var7.startingLineNumber;
  2103.          }
  2104.       } else {
  2105.          JDPTreeBranch var9 = null;
  2106.          if (this.buttonPanel.getPressed().equals("Events")) {
  2107.             var9 = this.interactionMgr.eventTree.getCurrentBranch();
  2108.          }
  2109.  
  2110.          var3 += this.gSource.getStartingLine(this.currentBranch, this.sourceSelect.getSelectedIndex(), var9, var4);
  2111.       }
  2112.  
  2113.       return var3;
  2114.    }
  2115.  
  2116.    void handleNonVisualPopupMenu(String var1, JDPTreeBranch var2) {
  2117.       JDPSourceItem var3 = null;
  2118.       Object var4 = null;
  2119.       if (this.appType.equals("NonVisualApp")) {
  2120.          if (var2.thisObject == null) {
  2121.             int var12 = JDPSourceParser.getItemType(var2.name);
  2122.             if (var1.startsWith("New")) {
  2123.                var3 = new JDPSourceItem();
  2124.                var3.name = "newMethod";
  2125.                if (var2.name.equals("Accessors")) {
  2126.                   if (var1.indexOf(" Set") >= 0) {
  2127.                      var3.name = "setVar";
  2128.                   } else {
  2129.                      var3.name = "getVar";
  2130.                   }
  2131.  
  2132.                   var3.ispublic = true;
  2133.                } else if (var2.name.equals("Public")) {
  2134.                   var3.ispublic = true;
  2135.                } else if (var2.name.equals("Private")) {
  2136.                   var3.isprivate = true;
  2137.                }
  2138.  
  2139.                var3.type = var12;
  2140.                JDPSourceItem var11 = JDPSourceParser.createNewItem(var3);
  2141.                if (var11.type == 1) {
  2142.                   var11.name = this.appName;
  2143.                }
  2144.  
  2145.                this.sLayout.loadNewItem(var11);
  2146.                this.mTree.select(var11);
  2147.                this.sLayout.setSourceItem(var11);
  2148.                this.lastSelectedmTree = this.mTree.getCurrentBranch();
  2149.                this.sLayout.refreshAllRelations();
  2150.                return;
  2151.             }
  2152.  
  2153.             if (var1.equals("SQL Wizard")) {
  2154.                if (this.appType.equals("VisualApp")) {
  2155.                   this.sqlWizard.setClassHeader((JDPSourceItem)null);
  2156.                } else {
  2157.                   this.sqlWizard.setClassHeader(this.mTree.classHeader);
  2158.                }
  2159.  
  2160.                this.setButton("SQLWizard");
  2161.             }
  2162.  
  2163.             return;
  2164.          }
  2165.  
  2166.          var3 = (JDPSourceItem)var2.thisObject;
  2167.          int var5 = var3.type;
  2168.       }
  2169.  
  2170.       if (var1.equals("New")) {
  2171.          JDPSourceItem var7 = JDPSourceParser.createNewItem(var3);
  2172.          if (var7.type == 2) {
  2173.             var7.name = "newMethod";
  2174.          }
  2175.  
  2176.          if (var7.type == 1) {
  2177.             var7.name = this.appName;
  2178.          }
  2179.  
  2180.          if (var7 != null) {
  2181.             this.sLayout.loadNewItem(var7);
  2182.             this.mTree.select(var7);
  2183.             this.sLayout.setSourceItem(var7);
  2184.             this.lastSelectedmTree = this.mTree.getCurrentBranch();
  2185.             this.sLayout.refreshAllRelations();
  2186.             return;
  2187.          }
  2188.       } else if (var1.equals("Copy")) {
  2189.          JDPSourceItem var8 = JDPSourceParser.copyItem(var3);
  2190.          if (var8.type == 1) {
  2191.             var8.name = this.appName;
  2192.          }
  2193.  
  2194.          if (var8 != null) {
  2195.             JDPSourceParser.replaceSource(var8, var3.name, var8.name);
  2196.             this.sLayout.loadNewItem(var8);
  2197.             this.mTree.select(var8);
  2198.             this.sLayout.setSourceItem(var8);
  2199.             this.lastSelectedmTree = this.mTree.getCurrentBranch();
  2200.             this.sLayout.refreshAllRelations();
  2201.             return;
  2202.          }
  2203.       } else {
  2204.          if (var1.equals("Remove")) {
  2205.             if (var3.node != null && var3.node.leftNodes != null && var3.node.leftNodes.size() > 0) {
  2206.                super.user.mainmsg.setStatusMsg("You may not remove this method as other methods are still using it", 12);
  2207.                return;
  2208.             }
  2209.  
  2210.             this.sLayout.removeSourceItem(var3);
  2211.             this.mTree.remove(var3);
  2212.             this.lastSelectedmTree = null;
  2213.             this.sLayout.refreshAllRelations();
  2214.             return;
  2215.          }
  2216.  
  2217.          if (var1.equals("Create Accessors")) {
  2218.             JDPSourceItem var9 = new JDPSourceItem();
  2219.             var9.name = "set" + var3.name.substring(0, 1).toUpperCase();
  2220.             if (var3.name.length() > 1) {
  2221.                String var10001 = var9.name;
  2222.                var9.name = var10001 + var3.name.substring(1);
  2223.             }
  2224.  
  2225.             if (var3.description != null && !var3.description.equals("")) {
  2226.                var9.description = "Set the new value of " + var3.description;
  2227.                var9.parmDescs = new Vector();
  2228.                var9.parmDescs.addElement(var3.description);
  2229.             } else {
  2230.                var9.description = "Set the new value of " + var3.name;
  2231.             }
  2232.  
  2233.             var9.type = 2;
  2234.             var9.ispublic = true;
  2235.             var9.returnType = "void";
  2236.             var9.parmTypes = new Vector();
  2237.             var9.parmTypes.addElement(var3.varType);
  2238.             var9.parmNames = new Vector();
  2239.             var9.parmNames.addElement(var3.name);
  2240.             var9.actualSource = "{\n\n\t\tthis." + var3.name + " = " + var3.name + ";\n\n\t}\n";
  2241.             JDPSourceParser.reCreateHeader(var9);
  2242.             this.sLayout.loadNewItem(var9);
  2243.             this.sLayout.setSourceItem(var9);
  2244.             var9 = new JDPSourceItem();
  2245.             var9.name = "get" + var3.name.substring(0, 1).toUpperCase();
  2246.             if (var3.name.length() > 1) {
  2247.                String var13 = var9.name;
  2248.                var9.name = var13 + var3.name.substring(1);
  2249.             }
  2250.  
  2251.             if (var3.description != null && !var3.description.equals("")) {
  2252.                var9.description = "Get the value of " + var3.description;
  2253.                var9.returnDesc = var3.description;
  2254.             } else {
  2255.                var9.description = "Get the value of " + var3.name;
  2256.                var9.returnDesc = var3.name;
  2257.             }
  2258.  
  2259.             var9.type = 2;
  2260.             var9.ispublic = true;
  2261.             var9.returnType = var3.varType;
  2262.             var9.parmTypes = new Vector();
  2263.             var9.parmNames = new Vector();
  2264.             var9.actualSource = "{\n\n\t\treturn " + var3.name + ";\n\n\t}\n";
  2265.             JDPSourceParser.reCreateHeader(var9);
  2266.             this.sLayout.loadNewItem(var9);
  2267.             this.mTree.select(var9);
  2268.             this.sLayout.setSourceItem(var9);
  2269.             this.lastSelectedmTree = this.mTree.getCurrentBranch();
  2270.             return;
  2271.          }
  2272.  
  2273.          if (var1.equals("SQL Wizard")) {
  2274.             if (this.appType.equals("VisualApp")) {
  2275.                this.sqlWizard.setClassHeader((JDPSourceItem)null);
  2276.             } else {
  2277.                this.sqlWizard.setClassHeader(this.mTree.classHeader);
  2278.             }
  2279.  
  2280.             this.setButton("SQLWizard");
  2281.          }
  2282.       }
  2283.  
  2284.    }
  2285.  
  2286.    void removeDefinitionHandle(JDPTreeBranch var1) {
  2287.       String var2 = "";
  2288.       if (var1 != null) {
  2289.          var2 = var1.name;
  2290.       }
  2291.  
  2292.       String[] var3 = new String[]{"SelectDSN", "SelectTable", "SelectColumns", "SearchLayout", "ListLayout", "ScreenSettings", "GridSettings", "SelectReportDef", "SelectChartDef", "ChoiceLayout", "GridLayout"};
  2293.  
  2294.       for(int var4 = 0; var4 < super.user.gParm.size(); ++var4) {
  2295.          if (super.user.gParm.elementAt(var4) instanceof Vector) {
  2296.             Vector var5 = (Vector)super.user.gParm.elementAt(var4);
  2297.             JDPClassLayout var6 = null;
  2298.  
  2299.             for(int var7 = 0; var7 < var5.size(); ++var7) {
  2300.                if (var5.elementAt(var7) instanceof JDPClassLayout) {
  2301.                   var6 = (JDPClassLayout)var5.elementAt(var7);
  2302.                }
  2303.             }
  2304.  
  2305.             String var10 = (String)var5.elementAt(0);
  2306.             boolean var8 = false;
  2307.  
  2308.             for(int var9 = 0; var9 < var3.length; ++var9) {
  2309.                if (!var2.equals("")) {
  2310.                   if (var10.equals(var3[var9] + var2)) {
  2311.                      var8 = true;
  2312.                   }
  2313.                } else if (var10.startsWith(var3[var9]) && !var10.equals(var3[var9])) {
  2314.                   var8 = true;
  2315.                }
  2316.             }
  2317.  
  2318.             if (var8) {
  2319.                if (var6 != null && var1 == null) {
  2320.                   var6.removeSelections();
  2321.                   var6.setComponentName("");
  2322.                }
  2323.  
  2324.                super.user.gParm.removeElementAt(var4--);
  2325.             }
  2326.          }
  2327.       }
  2328.  
  2329.       super.user.JDesignerPro.gc();
  2330.    }
  2331.  
  2332.    synchronized int saveSource(JDPTreeBranch var1, String var2) {
  2333.       String[] var3 = new String[]{var2};
  2334.       int var4 = this.saveSource(var1, var3);
  2335.       Object var5 = null;
  2336.       return var4;
  2337.    }
  2338.  
  2339.    synchronized int saveSource(JDPTreeBranch var1, String[] var2) {
  2340.       int var4 = -1;
  2341.       this.loadList(var1);
  2342.  
  2343.       for(int var5 = 0; var5 < var2.length; ++var5) {
  2344.          int var6 = var2[var5].indexOf("(");
  2345.          if (var6 < 0) {
  2346.             return -1;
  2347.          }
  2348.  
  2349.          int var7 = var2[var5].substring(0, var6).lastIndexOf(" ");
  2350.          int var8 = var2[var5].substring(0, var6).lastIndexOf("\r");
  2351.          int var9 = var2[var5].substring(0, var6).lastIndexOf("\n");
  2352.          int var10 = var2[var5].substring(0, var6).lastIndexOf("\t");
  2353.          if (var8 > var7) {
  2354.             var7 = var8;
  2355.          }
  2356.  
  2357.          if (var9 > var7) {
  2358.             var7 = var9;
  2359.          }
  2360.  
  2361.          if (var10 > var7) {
  2362.             var7 = var10;
  2363.          }
  2364.  
  2365.          String var3 = var2[var5].substring(var7 + 1, var6);
  2366.          var4 = this.sourceSelect.getItem(var3);
  2367.          if (var4 < 0) {
  2368.             this.sourceSelect.addItem(var3, 8);
  2369.             var4 = this.sourceSelect.getItem(var3);
  2370.          }
  2371.  
  2372.          if (this.sourceSelect.getSelectedIndex() == -1) {
  2373.             this.sourceSelect.select(var4);
  2374.             this.sourceSelect.makeVisible(var4);
  2375.          }
  2376.  
  2377.          if (var1.text == null) {
  2378.             var1.text = new String[1];
  2379.             var1.text[0] = "";
  2380.          }
  2381.  
  2382.          if (var1.text.length < var4 + 1) {
  2383.             String[] var11 = var1.text;
  2384.             var1.text = new String[var4 + 1];
  2385.             System.arraycopy(var11, 0, var1.text, 0, var11.length);
  2386.             var1.text[var4] = "";
  2387.             Object var14 = null;
  2388.          }
  2389.  
  2390.          if (var1.text[var4] == null) {
  2391.             var1.text[var4] = "";
  2392.          }
  2393.  
  2394.          if (var2[var5].startsWith("R")) {
  2395.             var1.text[var4] = var3 + "|R|" + var2[var5].substring(1);
  2396.          } else if (var2[var5].startsWith("C")) {
  2397.             var1.text[var4] = var3 + "|C|" + var2[var5].substring(1);
  2398.          } else if (var1.text[var4].indexOf("|R|") > 0) {
  2399.             var1.text[var4] = var3 + "|R|" + var2[var5];
  2400.          } else if (var1.text[var4].indexOf("|C|") > 0) {
  2401.             var1.text[var4] = var3 + "|C|" + var2[var5];
  2402.          } else {
  2403.             var1.text[var4] = var3 + "|L|" + var2[var5];
  2404.          }
  2405.  
  2406.          Object var12 = null;
  2407.       }
  2408.  
  2409.       this.interactionMgr.extractMethodNames(this.interactionMgr.methodTree, var1, false);
  2410.       return 0;
  2411.    }
  2412.  
  2413.    boolean createPopupMenus() {
  2414.       this.popup.addEntry("Refresh");
  2415.       this.popup.addEntry("Refresh All");
  2416.       this.popup.addEntry("SQL Wizard");
  2417.       this.popup.addEntry("");
  2418.       this.popup.addEntry("Save Application");
  2419.       this.popup.addEntry("Save Application As...");
  2420.       this.popup.addEntry("Remove All Objects");
  2421.       this.popupMain = this.popup.getMenuTree();
  2422.       this.popup.clear();
  2423.       this.popup.addEntry("Edit...");
  2424.       this.popup.addEntry("");
  2425.       this.popup.addEntry("Remove Object ");
  2426.       this.popupComponent = this.popup.getMenuTree();
  2427.       this.popup.clear();
  2428.       this.popup.addEntry("Import Class...");
  2429.       this.popup.addEntry("Import Jar File...");
  2430.       this.popup.addEntry("Import Package...");
  2431.       this.popup.addEntry("Edit Group...");
  2432.       this.popup.addEntry("Add New Group...");
  2433.       this.popup.addEntry("");
  2434.       this.popup.addEntry("Remove Group");
  2435.       this.popupComponentMain = this.popup.getMenuTree();
  2436.       this.popup.clear();
  2437.       this.popup.addEntry("Add New Group...");
  2438.       this.popup.addEntry("Import Jar File...");
  2439.       this.popup.addEntry("Import Package...");
  2440.       this.popup.addEntry("");
  2441.       this.popup.addEntry("Load...");
  2442.       this.popup.addEntry("Save");
  2443.       this.popup.addEntry("Save As...");
  2444.       this.popupComponentRoot = this.popup.getMenuTree();
  2445.       this.popup.clear();
  2446.       this.popup.addEntry("Refresh");
  2447.       this.popup.addEntry("Refresh All");
  2448.       this.popup.addEntry("SQL Wizard");
  2449.       this.popup.addEntry("");
  2450.       this.popup.addEntry("Remove Object");
  2451.       this.popup.addEntry("Remove Objects");
  2452.       this.popupTreeBranch = this.popup.getMenuTree();
  2453.       this.popup.clear();
  2454.       this.popup.addEntry("Refresh");
  2455.       this.popup.addEntry("Refresh All");
  2456.       this.popup.addEntry("Show Dialog");
  2457.       this.popup.addEntry("SQL Wizard");
  2458.       this.popup.addEntry("");
  2459.       this.popup.addEntry("Remove Object");
  2460.       this.popup.addEntry("Remove Objects");
  2461.       this.popupTreeDialogBranch = this.popup.getMenuTree();
  2462.       this.popup.clear();
  2463.       this.popup.addEntry("Refresh");
  2464.       this.popup.addEntry("Refresh All");
  2465.       this.popup.addEntry("SQL Wizard");
  2466.       this.popup.addEntry("");
  2467.       this.popup.addEntry("Remove Object");
  2468.       this.popupBranch = this.popup.getMenuTree();
  2469.       this.popup.clear();
  2470.       this.popup.addEntry("Refresh");
  2471.       this.popup.addEntry("Refresh All");
  2472.       this.popup.addEntry("Show Dialog");
  2473.       this.popup.addEntry("SQL Wizard");
  2474.       this.popup.addEntry("");
  2475.       this.popup.addEntry("Remove Object");
  2476.       this.popupDialogBranch = this.popup.getMenuTree();
  2477.       this.popup.clear();
  2478.       this.popup.addEntry("Remove Method");
  2479.       this.popupInteractionEvent = this.popup.getMenuTree();
  2480.       this.popup.clear();
  2481.       this.popup.addEntry("Remove Parameter");
  2482.       this.popupInteractionParameter = this.popup.getMenuTree();
  2483.       this.popup.clear();
  2484.       this.popup.addEntry("New Visual App");
  2485.       this.popup.addEntry("New Server Session Module");
  2486.       this.popup.addEntry("New Server Entity Module");
  2487.       this.popup.addEntry("New EJB Session Module");
  2488.       this.popup.addEntry("New EJB Entity Module");
  2489.       this.popup.addEntry("New Component Panel");
  2490.       this.popupNewMenu = this.popup.getMenuTree();
  2491.       this.popup.clear();
  2492.       this.popup.addEntry("Save Application");
  2493.       this.popup.addEntry("Save Application As...");
  2494.       this.popupSaveMenu = this.popup.getMenuTree();
  2495.       return true;
  2496.    }
  2497.  
  2498.    boolean restoreSelections() {
  2499.       JDPSaveProps var1 = super.user.saveProperties;
  2500.       String var2 = "JDPLayoutMgr";
  2501.       this.buttonPanel2.disable();
  2502.       this.projectLoadFailed = false;
  2503.       super.user.mainmsg.setStatusMsg("Loading application...", 0);
  2504.       if (super.user.jdpMainWindow != null) {
  2505.          super.user.jdpMainWindow.setCursor(3);
  2506.       }
  2507.  
  2508.       this.removeDefinitionHandle((JDPTreeBranch)null);
  2509.       this.centerPanel.removeAll();
  2510.       this.dragPanel.removeAllComponents((Component)this);
  2511.       this.dragPanel.addDropComponent(this.centerPanel, (Container)this, "Components", "Drop here to add this component to this Panel");
  2512.       this.lView.resetComponentTree();
  2513.       this.interactionMgr.clearReturnValues();
  2514.       this.reDraw();
  2515.       super.user.mainmsg.setStatusMsg("Loading application...", 0);
  2516.       super.user.JDesignerPro.gc();
  2517.  
  2518.       try {
  2519.          JDPTreeBranch var3 = new JDPTreeBranch();
  2520.          var1.restoreObject(var3, var2, "compTree", 0);
  2521.          JDPTreeBranch[] var4 = new JDPTreeBranch[]{this.compTree};
  2522.          String var5 = "";
  2523.          var5 = (String)var1.restoreObject(var5, "JDPSelectDSN", "datasource", 0);
  2524.          if (!var5.equals("")) {
  2525.             this.projectLoading = true;
  2526.             this.setButton("Blank");
  2527.             String var23 = "";
  2528.             var23 = (String)var1.restoreObject(var23, "JDPScreenBuild", "frameTitle", 0);
  2529.             JDPTreeBranch var25 = new JDPTreeBranch();
  2530.             var25.name = "ChiselPanel1";
  2531.             var25.compType = "JDPChiselFramePanel";
  2532.             var25.icon = 16;
  2533.             var25.compPosition = "Center";
  2534.             var25.thisObject = new JDPChiselFramePanel(super.user, var23);
  2535.             JDPTreeBranch[] var8 = new JDPTreeBranch[]{var25};
  2536.             this.checkDragNDrop(var8, var4);
  2537.             var4 = this.layoutTree.getTreeBranch(this.layoutTree.getLastAddedBranch());
  2538.             ((JDPChiselFramePanel)var4[var4.length - 1].thisObject).setTitle(var23);
  2539.             var4[var4.length - 1].properties = null;
  2540.             this.setProperties(var4[var4.length - 1]);
  2541.             String var9 = "";
  2542.             var9 = (String)var1.p.get("JDPScreenLayout|screenOrderL");
  2543.             String var10 = "";
  2544.             var10 = (String)var1.p.get("JDPGridSettings|fieldType");
  2545.             String var11 = "";
  2546.             var11 = (String)var1.p.get("JDPSelectReportDef|reportTitle");
  2547.             String var12 = "";
  2548.             var12 = (String)var1.p.get("JDPSelectChartDef|chartTitle");
  2549.             if (var9 != null) {
  2550.                var3.name = "Form1";
  2551.                var3.icon = 8;
  2552.                var3.compType = "JDPWizForm";
  2553.             }
  2554.  
  2555.             if (var10 != null) {
  2556.                var3.name = "Grid1";
  2557.                var3.icon = 27;
  2558.                var3.compType = "JDPWizGrid";
  2559.             }
  2560.  
  2561.             if (var9 != null && var10 != null) {
  2562.                var3.name = "MasterDetail1";
  2563.                var3.icon = 2;
  2564.                var3.compType = "JDPWizMasterDetail";
  2565.             }
  2566.  
  2567.             if (var11 != null) {
  2568.                var3.name = "Report1";
  2569.                var3.icon = 34;
  2570.                var3.compType = "JDPWizReport";
  2571.             }
  2572.  
  2573.             if (var12 != null) {
  2574.                var3.name = "Chart1";
  2575.                var3.icon = 33;
  2576.                var3.compType = "JDPWizChart";
  2577.             }
  2578.  
  2579.             this.wizAllowInserts = "";
  2580.             this.wizAllowUpdates = "";
  2581.             this.wizAllowDeletes = "";
  2582.             this.wizConfirmDeletes = "";
  2583.             this.wizAllowInserts = (String)var1.restoreObject(this.wizAllowInserts, "JDPScreenBuild", "allowInserts", 0);
  2584.             this.wizAllowUpdates = (String)var1.restoreObject(this.wizAllowUpdates, "JDPScreenBuild", "allowUpdates", 0);
  2585.             this.wizAllowDeletes = (String)var1.restoreObject(this.wizAllowDeletes, "JDPScreenBuild", "allowDeletes", 0);
  2586.             this.wizConfirmDeletes = (String)var1.restoreObject(this.wizConfirmDeletes, "JDPScreenBuild", "confirmDeletes", 0);
  2587.             var3.thisObject = new Panel();
  2588.             var3.compPosition = "Center";
  2589.             var8[0] = var3;
  2590.             super.user.mainmsg.setStatusMsg("Converting Wizard application...", 0);
  2591.             this.loadingWizardApp = true;
  2592.             this.checkDragNDrop(var8, var4);
  2593.             super.user.saveProperties.clear();
  2594.  
  2595.             for(int var13 = 0; var13 < this.cMgr.currentBranch.relatedComps.length; ++var13) {
  2596.                ((JDPClassLayout)this.cMgr.currentBranch.relatedComps[var13]).setComponentName(var3.name);
  2597.                ((JDPClassLayout)this.cMgr.currentBranch.relatedComps[var13]).saveSelections();
  2598.             }
  2599.  
  2600.             JDPButton var14 = new JDPButton("Accept");
  2601.             Button var15 = new Button("Accept");
  2602.             JDPButton var16 = new JDPButton("Connect");
  2603.  
  2604.             for(int var30 = 0; var30 < this.cMgr.currentBranch.relatedComps.length; ++var30) {
  2605.                Event var17 = new Event(var14, 1001, var14.getLabel());
  2606.                if (var30 == 0) {
  2607.                   var17 = new Event(var16, 1001, var16.getLabel());
  2608.                }
  2609.  
  2610.                ((JDPClassLayout)this.cMgr.currentBranch.relatedComps[var30]).postEvent(var17);
  2611.                var17 = new Event(var15, 1001, var15.getLabel());
  2612.                ((JDPClassLayout)this.cMgr.currentBranch.relatedComps[var30]).postEvent(var17);
  2613.             }
  2614.  
  2615.             this.projectLoading = false;
  2616.             this.loadingWizardApp = false;
  2617.             this.layoutTree.selectRoot();
  2618.             this.interactionMgr.loadMethodTree(this.compTree, false);
  2619.             this.setProperties(this.compTree);
  2620.             this.reLoadComponents(this.compTree);
  2621.             this.setSourceButton("Object");
  2622.          } else {
  2623.             if (var3.name != null) {
  2624.                this.compTree.compType = var3.compType;
  2625.                this.compTree.compPosition = var3.compPosition;
  2626.                this.compTree.text = var3.text;
  2627.                this.compTree.properties = var3.properties;
  2628.                this.compTree.treeVector = var3.treeVector;
  2629.                this.cMgr.currentBranch = this.compTree;
  2630.                this.cMgr.updateProperties(0);
  2631.             }
  2632.  
  2633.             super.user.mainmsg.setStatusMsg("Loading application...", 0);
  2634.             this.setButton("Blank");
  2635.             if (var3.leaves != null) {
  2636.                this.projectLoading = true;
  2637.                this.checkUniqueName = false;
  2638.                super.user.mainmsg.setStatusMsg("Loading application...", 0);
  2639.                this.expandedVector = new Vector();
  2640.  
  2641.                for(int var6 = 0; var6 < var3.leaves.size(); ++var6) {
  2642.                   JDPTreeBranch[] var7 = new JDPTreeBranch[]{(JDPTreeBranch)var3.leaves.elementAt(var6)};
  2643.                   this.checkDragNDrop(var7, var4);
  2644.                }
  2645.  
  2646.                for(int var22 = 0; var22 < this.expandedVector.size(); ++var22) {
  2647.                   ((JDPTreeBranch)this.expandedVector.elementAt(var22)).expanded = false;
  2648.                }
  2649.  
  2650.                this.expandedVector = null;
  2651.                super.user.mainmsg.clearStatusMsg();
  2652.                this.projectLoading = false;
  2653.                this.checkUniqueName = true;
  2654.             }
  2655.  
  2656.             this.layoutTree.selectRoot();
  2657.             this.interactionMgr.loadMethodTree(this.compTree, false);
  2658.             this.setProperties(this.compTree);
  2659.             this.reLoadComponents(this.compTree);
  2660.             this.setSourceButton("Object");
  2661.          }
  2662.  
  2663.          this.gSource.linePosVector = null;
  2664.          if (JDPJagg.useJaggServer && this.filePicker1 != null && this.filePicker1.getSelectedFile() != null && !this.filePicker1.getSelectedFile().equals("") && !this.projectLoadFailed) {
  2665.             this.eventVector.addElement("ArchiveApp");
  2666.             (new Thread(this)).start();
  2667.          }
  2668.  
  2669.          super.user.mainmsg.clearStatusMsg();
  2670.       } catch (Exception var19) {
  2671.          super.user.mainmsg.setStatusMsg("Application load failed. See console. Send errors and .jdp file to BulletProof", 60);
  2672.          ((Throwable)var19).printStackTrace();
  2673.       }
  2674.  
  2675.       super.user.JDesignerPro.gc();
  2676.       this.setAppChanged(false);
  2677.       this.buttonPanel2.enable();
  2678.       if (super.user.jdpMainWindow != null) {
  2679.          super.user.jdpMainWindow.setCursor(0);
  2680.       }
  2681.  
  2682.       return true;
  2683.    }
  2684.  
  2685.    void buildApplication(String var1) {
  2686.       this.buttonPanel2.disable();
  2687.       if (super.user.jdpMainWindow != null) {
  2688.          super.user.jdpMainWindow.setCursor(3);
  2689.       }
  2690.  
  2691.       this.lView.tree.selectRoot();
  2692.       this.lView.lastSelectedBranch = null;
  2693.       this.currentBranch = this.compTree;
  2694.       this.lastSelectedBranch = null;
  2695.       this.setProperties(this.compTree);
  2696.       this.interactionMgr.setProperties(this.compTree);
  2697.       this.saveSource(this.compTree, this.gSource.buildSource(this.compTree));
  2698.       this.loadSource(this.compTree, 0);
  2699.       String var2 = this.gSource.composeSource(this.compTree);
  2700.       String var3 = this.filePicker2.getSelectedFullPath();
  2701.       int var4 = var3.lastIndexOf(".");
  2702.       String var5 = var3.substring(0, var4) + ".class";
  2703.       var3 = var3.substring(0, var4) + ".java";
  2704.       this.javaSourceName = null;
  2705.       this.javaSourceName = this.filePicker2.getSelectedFile();
  2706.       var4 = this.javaSourceName.lastIndexOf(".");
  2707.       this.javaSourceName = this.javaSourceName.substring(0, var4) + ".java";
  2708.       String var6 = this.appName;
  2709.       String var7 = "-d " + super.user.JDesignerPro.JDPDirectory + " ";
  2710.       if (var1.equals("BuildJDP")) {
  2711.          String var8 = Long.toString(System.currentTimeMillis());
  2712.          var8 = "Prelim" + var8.substring(var8.length() - 6);
  2713.          var2 = super.user.u.replace(var2, this.appName + " extends", var8 + " extends");
  2714.          var3 = super.user.JDesignerPro.JDPDirectory + "temp" + JDesignerPro.serverSeparator + var8 + ".java";
  2715.          this.appName = var8;
  2716.       }
  2717.  
  2718.       String var24 = "DEL ";
  2719.       if (JDesignerPro.pathDelimiter.equals(":")) {
  2720.          var24 = "rm ";
  2721.       }
  2722.  
  2723.       if (!JDPJagg.useJaggServer) {
  2724.          new JDPCommandExecuter(super.user, var24 + var3, "", "", "");
  2725.          new JDPCommandExecuter(super.user, var24 + var5, "", "", "");
  2726.       }
  2727.  
  2728.       super.user.mainmsg.setStatusMsg("Saving source...", 0);
  2729.       boolean var9 = true;
  2730.       if (this.appType.equals("VisualApp")) {
  2731.          var9 = super.user.u.writeToFile(var3, var2, "w+");
  2732.          if (var9) {
  2733.             super.user.mainmsg.setStatusMsg("Source file successfully saved.", 10);
  2734.          }
  2735.       } else if (var1.equals("BuildJDP")) {
  2736.          this.mTree.saveSource(var3, this.appName);
  2737.          this.mTree.changeAppName(var6);
  2738.       }
  2739.  
  2740.       if (var9) {
  2741.          String var10 = super.user.JDesignerPro.JDPCompiler;
  2742.          if (var1.equals("Debug BuildJDP")) {
  2743.             var10 = var10 + " -g";
  2744.          }
  2745.  
  2746.          var10 = var10 + " -classpath " + super.user.JDesignerPro.JDPClasses + JDesignerPro.pathDelimiter + super.user.JDesignerPro.JDPDirectory + " " + var7 + var3;
  2747.          if (super.user.JDesignerPro.JDPCompiler.toUpperCase().indexOf("JVC") >= 0 && JDPJagg.useJaggServer) {
  2748.             var10 = super.user.JDesignerPro.JDPCompiler + " /d " + super.user.JDesignerPro.JDPDirectory + " " + var3;
  2749.          }
  2750.  
  2751.          String var11 = "Class compiled successfully.";
  2752.          if (this.appType.equals("NonVisual")) {
  2753.             var11 = "Screen compiled successfully.";
  2754.          }
  2755.  
  2756.          JDPCommandExecuter var12 = new JDPCommandExecuter(super.user, var10, "Compiling source code...", var11, "Compile failed. Click on an error to go to the source in question.");
  2757.          Object var26 = null;
  2758.          Object var27 = null;
  2759.          String var13 = "";
  2760.          if (var12.success) {
  2761.             this.loadCompileErrors(var13);
  2762.             if (this.appType.equals("VisualApp")) {
  2763.                if (super.user.getMenuPanel() != null) {
  2764.                   if (var1.equals("Final BuildJDP")) {
  2765.                      if (this.deploymentMgr == null) {
  2766.                         super.user.mainmsg.setStatusMsg("Loading Deployment Manager...", 0);
  2767.                         this.deploymentMgr = (JDPDeployment)super.user.u.getInstanceHandle("JDPDeployment", true);
  2768.                         super.user.mainmsg.clearStatusMsg();
  2769.                      }
  2770.  
  2771.                      if (super.user.jdpMenuPanel != null) {
  2772.                         super.user.jdpMenuPanel.select("Deployment");
  2773.                      }
  2774.  
  2775.                      if (this.deploymentMgr != null) {
  2776.                         this.deploymentMgr.select("Client");
  2777.                      }
  2778.                   } else if (var1.equals("Debug BuildJDP")) {
  2779.                      super.user.jdpMenuPanel.select("Debugger");
  2780.                   } else if (var1.equals("BuildJDP")) {
  2781.                      if (this.thisScreenIndex == -1) {
  2782.                         this.thisScreenIndex = super.user.JDPBuildTestPanelIndex++;
  2783.                      }
  2784.  
  2785.                      super.user.JDPBuildTestPanel[this.thisScreenIndex].removeAll();
  2786.                      super.user.JDesignerPro.counter = 51;
  2787.                      super.user.JDesignerPro.gc();
  2788.                      super.user.JDPBuildTestPanel[this.thisScreenIndex].setLayout(new BorderLayout());
  2789.  
  2790.                      try {
  2791.                         JDPClassLayout var28 = (JDPClassLayout)Class.forName(this.appName).newInstance();
  2792.                         var28.InitClass(super.user, super.user.JDPBuildTestPanel[this.thisScreenIndex], "");
  2793.                         super.user.JDPBuildTestPanel[this.thisScreenIndex].add("Center", var28);
  2794.                         super.user.JDPBuildTestPanel[this.thisScreenIndex].paintAll(super.user.JDPBuildTestPanel[this.thisScreenIndex].getGraphics());
  2795.                         super.user.jdpMenuPanel.select("Preview");
  2796.                         super.user.gParm.removeElement(var28);
  2797.                         Object var29 = null;
  2798.                      } catch (Exception var16) {
  2799.                         ((Throwable)var16).printStackTrace();
  2800.                         super.user.mainmsg.setStatusMsg("Class " + this.appName + " failed to load. See Java console for details", 20);
  2801.                      }
  2802.                   }
  2803.                }
  2804.             } else if (super.user.getMenuPanel() != null) {
  2805.                if (this.previewServerJob == null) {
  2806.                   this.previewPanel = new Panel();
  2807.                   this.previewPanel.setLayout(new BorderLayout());
  2808.                   this.previewServerJob = new JDPPreviewServerJob();
  2809.                   this.previewServerJob.InitClass(super.user, this.previewPanel, "");
  2810.                   this.previewPanel.add("Center", this.previewServerJob);
  2811.                }
  2812.  
  2813.                if (this.thisScreenIndex == -1) {
  2814.                   this.thisScreenIndex = super.user.JDPBuildTestPanelIndex++;
  2815.                }
  2816.  
  2817.                Component[] var14 = super.user.JDPBuildTestPanel[this.thisScreenIndex].getComponents();
  2818.                if (var14.length == 0 || !var14[0].equals(this.previewServerJob)) {
  2819.                   super.user.JDPBuildTestPanel[this.thisScreenIndex].removeAll();
  2820.                   super.user.JDPBuildTestPanel[this.thisScreenIndex].setLayout(new BorderLayout());
  2821.                   super.user.JDPBuildTestPanel[this.thisScreenIndex].add("Center", this.previewPanel);
  2822.                   super.user.JDPBuildTestPanel[this.thisScreenIndex].paintAll(super.user.JDPBuildTestPanel[this.thisScreenIndex].getGraphics());
  2823.                }
  2824.  
  2825.                if (this.previewServerJob != null) {
  2826.                   this.previewServerJob.setJobName(var6);
  2827.                   this.previewServerJob.setClassName(this.appName);
  2828.                }
  2829.  
  2830.                if (var1.equals("Final BuildJDP")) {
  2831.                   if (this.deploymentMgr == null) {
  2832.                      super.user.mainmsg.setStatusMsg("Loading Deployment Manager...", 0);
  2833.                      this.deploymentMgr = (JDPDeployment)super.user.u.getInstanceHandle("JDPDeployment", true);
  2834.                      super.user.mainmsg.clearStatusMsg();
  2835.                   }
  2836.  
  2837.                   super.user.jdpMenuPanel.select("Deployment");
  2838.                   if (this.deploymentMgr != null) {
  2839.                      this.deploymentMgr.select("Server");
  2840.                      this.deploymentMgr.JDPEventMaintenance1.resetSelections();
  2841.                      this.deploymentMgr.JDPEventMaintenance1.setEventName(var6);
  2842.                      this.deploymentMgr.JDPEventMaintenance1.setEventDescription(var6);
  2843.                      this.deploymentMgr.JDPEventMaintenance1.setClassName(this.appName);
  2844.                      this.deploymentMgr.JDPEventMaintenance1.setEnabled(true);
  2845.                   }
  2846.                } else if (var1.equals("BuildJDP")) {
  2847.                   super.user.jdpMenuPanel.select("Preview");
  2848.                }
  2849.             }
  2850.  
  2851.             if (this.appType.equals("NonVisualApp")) {
  2852.                super.user.mainmsg.setStatusMsg(this.appName + " successfully created and ready for server deployment testing.", 30);
  2853.             }
  2854.  
  2855.             this.compileErrors.hide();
  2856.             this.reDrawAll();
  2857.             this.buttonPanel2.button[6].setPressed(false);
  2858.          } else {
  2859.             for(int var30 = 0; var30 < var12.results.size(); ++var30) {
  2860.                var13 = var13 + var12.results.elementAt(var30) + "\n";
  2861.             }
  2862.  
  2863.             this.loadCompileErrors(var13);
  2864.             this.sourcePanel2.setText(this.gSource.addLineNumbers(this.gSource.composeSource(this.compTree), 1));
  2865.             this.saveSourcePanel2 = null;
  2866.             this.saveSourcePanel2 = this.sourcePanel2.getText();
  2867.             this.compileErrors.show();
  2868.             this.reDrawAll();
  2869.             this.buttonPanel2.button[6].setPressed(true);
  2870.          }
  2871.       } else {
  2872.          super.user.mainmsg.setStatusMsg("Write to source file failed.", 10);
  2873.       }
  2874.  
  2875.       this.lastBuiltAppName = this.appName;
  2876.       this.appName = var6;
  2877.       if (super.user.jdpMainWindow != null) {
  2878.          super.user.jdpMainWindow.setCursor(0);
  2879.       }
  2880.  
  2881.       Object var19 = null;
  2882.       Object var21 = null;
  2883.       Object var22 = null;
  2884.       Object var17 = null;
  2885.       super.user.JDesignerPro.counter = 51;
  2886.       super.user.JDesignerPro.gc();
  2887.       this.buttonPanel2.enable();
  2888.    }
  2889.  
  2890.    void setSourceButton(String var1) {
  2891.       this.buttonPanel1.setPressed(var1);
  2892.       ((CardLayout)this.sourceMainPanel.getLayout()).show(this.sourceMainPanel, var1);
  2893.    }
  2894.  
  2895.    synchronized int replaceChangedSource(JDPTreeBranch var1, String[] var2, boolean var3) {
  2896.       if (this.projectLoading && !this.loadingWizardApp) {
  2897.          return 0;
  2898.       } else {
  2899.          this.setAppChanged(true);
  2900.          int var5 = -1;
  2901.          this.loadList(var1);
  2902.  
  2903.          for(int var6 = 0; var6 < var2.length; ++var6) {
  2904.             int var7 = var2[var6].indexOf("(");
  2905.             if (var7 < 0) {
  2906.                return -1;
  2907.             }
  2908.  
  2909.             int var8 = var2[var6].substring(0, var7).lastIndexOf(" ");
  2910.             int var9 = var2[var6].substring(0, var7).lastIndexOf("\r");
  2911.             int var10 = var2[var6].substring(0, var7).lastIndexOf("\n");
  2912.             int var11 = var2[var6].substring(0, var7).lastIndexOf("\t");
  2913.             if (var9 > var8) {
  2914.                var8 = var9;
  2915.             }
  2916.  
  2917.             if (var10 > var8) {
  2918.                var8 = var10;
  2919.             }
  2920.  
  2921.             if (var11 > var8) {
  2922.                var8 = var11;
  2923.             }
  2924.  
  2925.             String var4 = var2[var6].substring(var8 + 1, var7);
  2926.             var5 = this.sourceSelect.getItem(var4);
  2927.             if (var5 < 0) {
  2928.                this.sourceSelect.addItem(var4, 8);
  2929.                var5 = this.sourceSelect.getItem(var4);
  2930.             }
  2931.  
  2932.             if (this.sourceSelect.getSelectedIndex() == -1) {
  2933.                this.sourceSelect.select(var5);
  2934.                this.sourceSelect.makeVisible(var5);
  2935.             }
  2936.  
  2937.             if (var1.text.length < var5 + 1) {
  2938.                String[] var12 = var1.text;
  2939.                var1.text = new String[var5 + 1];
  2940.                System.arraycopy(var12, 0, var1.text, 0, var12.length);
  2941.                Object var15 = null;
  2942.             }
  2943.  
  2944.             if (var1.text[var5] == null) {
  2945.                var1.text[var5] = "";
  2946.             }
  2947.  
  2948.             if (var1.text[var5].equals("") || var1.text[var5].indexOf("|R|") > 0 || var1.text[var5].indexOf("|C|") > 0) {
  2949.                if (var2[var6].startsWith("R")) {
  2950.                   var1.text[var5] = var4 + "|R|" + var2[var6].substring(1);
  2951.                } else if (var2[var6].startsWith("C")) {
  2952.                   if (var3) {
  2953.                      var1.text[var5] = var4 + "|R|" + var2[var6].substring(1);
  2954.                   } else {
  2955.                      var1.text[var5] = var4 + "|C|" + var2[var6].substring(1);
  2956.                   }
  2957.                } else {
  2958.                   var1.text[var5] = var4 + "|L|" + var2[var6];
  2959.                }
  2960.             }
  2961.  
  2962.             Object var13 = null;
  2963.          }
  2964.  
  2965.          this.interactionMgr.extractMethodNames(this.interactionMgr.methodTree, var1, false);
  2966.          return 0;
  2967.       }
  2968.    }
  2969.  
  2970.    synchronized void replaceSource(JDPTreeBranch var1, String var2, int var3) {
  2971.       if (var1.text != null && var3 >= 0 && var1.text.length > var3 && var1.text[var3] != null) {
  2972.          boolean var4 = false;
  2973.          String[] var6 = new String[var1.text.length];
  2974.  
  2975.          for(int var7 = 0; var7 < var6.length; ++var7) {
  2976.             int var8 = var1.text[var7].indexOf("|R|");
  2977.             if (var8 >= 0) {
  2978.                var6[var7] = "R" + var1.text[var7].substring(var8 + 3);
  2979.                if (var3 == var7) {
  2980.                   String var5 = var1.text[var7].substring(var8 + 3);
  2981.                   if (System.getProperty("java.vendor").startsWith("Microsoft")) {
  2982.                      var5 = super.user.u.replace(var1.text[var7].substring(var8 + 3), "\r", "");
  2983.                   }
  2984.  
  2985.                   if (!var2.equals(var5)) {
  2986.                      var6[var7] = "C" + var2;
  2987.                      this.setAppChanged(true);
  2988.                      var4 = true;
  2989.                   } else {
  2990.                      var6[var7] = "R" + var2;
  2991.                   }
  2992.                }
  2993.             } else {
  2994.                var8 = var1.text[var7].indexOf("|C|");
  2995.                if (var8 >= 0) {
  2996.                   var6[var7] = "C" + var1.text[var7].substring(var8 + 3);
  2997.                   if (var3 == var7) {
  2998.                      String var9 = var1.text[var7].substring(var8 + 3);
  2999.                      if (System.getProperty("java.vendor").startsWith("Microsoft")) {
  3000.                         var9 = super.user.u.replace(var1.text[var7].substring(var8 + 3), "\r", "");
  3001.                      }
  3002.  
  3003.                      if (!var2.equals(var9)) {
  3004.                         this.setAppChanged(true);
  3005.                         var4 = true;
  3006.                      }
  3007.  
  3008.                      var6[var7] = "C" + var2;
  3009.                   }
  3010.                } else {
  3011.                   var8 = var1.text[var7].indexOf("|L|");
  3012.                   if (var8 >= 0) {
  3013.                      var6[var7] = var1.text[var7].substring(var8 + 3);
  3014.                   }
  3015.  
  3016.                   if (var3 == var7) {
  3017.                      var6[var7] = var2;
  3018.                   }
  3019.                }
  3020.             }
  3021.          }
  3022.  
  3023.          if (var4) {
  3024.             this.replaceChangedSource(var1, var6, false);
  3025.          }
  3026.  
  3027.          Object var10 = null;
  3028.          Object var11 = null;
  3029.       }
  3030.    }
  3031.  
  3032.    public boolean shutDown() {
  3033.       if (this.getAppChanged() && !this.checkIfSaveRequired()) {
  3034.          return false;
  3035.       } else {
  3036.          this.saveDeveloperPreferences();
  3037.          this.removeTemporaryFiles();
  3038.          return true;
  3039.       }
  3040.    }
  3041.  
  3042.    void reDraw() {
  3043.       this.centerPanel.layout();
  3044.       this.centerPanel.paintAll(this.centerPanel.getGraphics());
  3045.       super.user.JDesignerPro.gc();
  3046.    }
  3047.  
  3048.    void reLoadComponents(JDPTreeBranch var1) {
  3049.       this.setButton("Blank");
  3050.       if (var1 == null) {
  3051.          var1 = this.compTree;
  3052.       }
  3053.  
  3054.       this.refreshLayout(var1);
  3055.       this.reDraw();
  3056.       this.setButton("Layout");
  3057.    }
  3058.  
  3059.    void setAppChanged(boolean var1) {
  3060.       if (this.appType.equals("VisualApp")) {
  3061.          this.appChanged = var1;
  3062.       } else {
  3063.          this.sLayout.setAppChanged(var1);
  3064.       }
  3065.    }
  3066.  
  3067.    boolean getAppChanged() {
  3068.       return this.appType.equals("VisualApp") ? this.appChanged : this.sLayout.getAppChanged();
  3069.    }
  3070.  
  3071.    public void saveLastCursorPos() {
  3072.       this.lastCursorStartPos = this.sourcePanel.getSelectionStart();
  3073.       this.lastCursorEndPos = this.sourcePanel.getSelectionEnd();
  3074.    }
  3075.  
  3076.    void searchForText(String var1, boolean var2) {
  3077.       byte var3 = -1;
  3078.       if (this.buttonPanel1.button[0].isPressed()) {
  3079.          var3 = 0;
  3080.       }
  3081.  
  3082.       if (this.buttonPanel1.button[1].isPressed()) {
  3083.          var3 = 1;
  3084.       }
  3085.  
  3086.       if (this.lastSearchPanel != var3) {
  3087.          this.lastSearchLine = 0;
  3088.       }
  3089.  
  3090.       this.lastSearchPanel = var3;
  3091.       if (var2) {
  3092.          if (this.lastSearchLine == 999999) {
  3093.             this.lastSearchLine = 0;
  3094.          }
  3095.       } else if (this.lastSearchLine == 0) {
  3096.          this.lastSearchLine = 999999;
  3097.       }
  3098.  
  3099.       if (var3 == 0) {
  3100.          int var5 = this.sourcePanel.getText().length();
  3101.          int var4;
  3102.          if (var2) {
  3103.             var4 = this.sourcePanel.getText().toUpperCase().indexOf(var1.toUpperCase(), this.lastSearchLine);
  3104.          } else {
  3105.             if (this.lastSearchLine > var5) {
  3106.                this.lastSearchLine = var5;
  3107.             }
  3108.  
  3109.             this.lastSearchLine -= 2;
  3110.             if (this.lastSearchLine < 0) {
  3111.                this.lastSearchLine = 0;
  3112.             }
  3113.  
  3114.             var4 = this.sourcePanel.getText().toUpperCase().lastIndexOf(var1.toUpperCase(), this.lastSearchLine);
  3115.          }
  3116.  
  3117.          if (var4 >= 0) {
  3118.             this.sourcePanel.select(var4, var4 + var1.length());
  3119.             this.lastSearchLine = var4 + 1;
  3120.             this.sourcePanel.requestFocus();
  3121.             return;
  3122.          }
  3123.       } else if (var3 == 1) {
  3124.          int var8 = this.sourcePanel2.getText().length();
  3125.          int var7;
  3126.          if (var2) {
  3127.             var7 = this.sourcePanel2.getText().toUpperCase().indexOf(var1.toUpperCase(), this.lastSearchLine);
  3128.          } else {
  3129.             if (this.lastSearchLine > var8) {
  3130.                this.lastSearchLine = var8;
  3131.             }
  3132.  
  3133.             this.lastSearchLine -= 2;
  3134.             if (this.lastSearchLine < 0) {
  3135.                this.lastSearchLine = 0;
  3136.             }
  3137.  
  3138.             var7 = this.sourcePanel2.getText().toUpperCase().lastIndexOf(var1.toUpperCase(), this.lastSearchLine);
  3139.          }
  3140.  
  3141.          if (var7 >= 0) {
  3142.             if (System.getProperty("java.vendor").startsWith("Microsoft") && !System.getProperty("java.version").startsWith("1.0")) {
  3143.                this.sourcePanel2.setCaretPosition(var7);
  3144.                this.sourcePanel2.setSelectionStart(var7);
  3145.                this.sourcePanel2.setSelectionEnd(var7 + var1.length());
  3146.             } else {
  3147.                this.sourcePanel2.select(var7, var7 + var1.length());
  3148.             }
  3149.  
  3150.             this.lastSearchLine = var7 + 1;
  3151.             this.sourcePanel2.requestFocus();
  3152.             return;
  3153.          }
  3154.       } else {
  3155.          if (this.lastSearchLine > this.compileErrors.countItems()) {
  3156.             this.lastSearchLine = this.compileErrors.countItems();
  3157.          }
  3158.  
  3159.          if (var2) {
  3160.             for(int var6 = this.lastSearchLine; var6 < this.compileErrors.countItems(); ++var6) {
  3161.                if (this.compileErrors.getItem(var6).toUpperCase().indexOf(var1.toUpperCase()) >= 0) {
  3162.                   this.compileErrors.select(var6);
  3163.                   this.compileErrors.makeVisible(var6);
  3164.                   this.lastSearchLine = var6 + 1;
  3165.                   return;
  3166.                }
  3167.             }
  3168.          } else {
  3169.             for(int var9 = this.lastSearchLine - 1; var9 >= 0; --var9) {
  3170.                if (this.compileErrors.getItem(var9).toUpperCase().indexOf(var1.toUpperCase()) >= 0) {
  3171.                   this.compileErrors.select(var9);
  3172.                   this.compileErrors.makeVisible(var9);
  3173.                   this.lastSearchLine = var9;
  3174.                   return;
  3175.                }
  3176.             }
  3177.          }
  3178.       }
  3179.  
  3180.       super.user.mainmsg.setStatusMsg("Search string not found", 5);
  3181.       if (var2) {
  3182.          this.lastSearchLine = 0;
  3183.       } else {
  3184.          this.lastSearchLine = 999999;
  3185.       }
  3186.    }
  3187.  
  3188.    void reDrawAll() {
  3189.       ((Container)this).layout();
  3190.       ((Component)this).paintAll(((Component)this).getGraphics());
  3191.    }
  3192.  
  3193.    void setProperties(JDPTreeBranch var1) {
  3194.       this.cMgr.setProperties(var1);
  3195.       if (!this.projectLoading) {
  3196.          if (this.currentBranch != null && !this.currentBranch.equals(var1)) {
  3197.             if (this.buttonPanel != null && this.buttonPanel.getPressed() != null && this.buttonPanel.getPressed().equals("Source")) {
  3198.                this.saveSource(this.currentBranch, this.sourcePanel.getText());
  3199.             }
  3200.  
  3201.             if (this.currentBranch.text == null || this.currentBranch.text.length == 0 || this.currentBranch.text[0] == null) {
  3202.                this.currentBranch.text = new String[1];
  3203.                this.currentBranch.text[0] = "";
  3204.             }
  3205.          }
  3206.  
  3207.          if (var1.text == null || var1.text.length == 0 || var1.text[0] == null || var1.text[0].equals("")) {
  3208.             var1.text = new String[1];
  3209.             var1.text[0] = "";
  3210.             this.gSource.constructNewMethod(var1, "Main");
  3211.          }
  3212.  
  3213.          if (this.buttonPanel != null && this.buttonPanel.getPressed() != null && this.buttonPanel.getPressed().equals("APIDocs") && var1.compType.startsWith("JDP")) {
  3214.             String var2 = var1.compType;
  3215.             if (var2.startsWith("JDP")) {
  3216.                if (var2.equals("JDPGridDetail")) {
  3217.                   var2 = "JDPTextGrid";
  3218.                }
  3219.  
  3220.                if (var2.equals("JDPReportDetail")) {
  3221.                   var2 = "JDPTextGrid";
  3222.                }
  3223.  
  3224.                if (var2.equals("JDPChartDetail")) {
  3225.                   var2 = "JDPChart";
  3226.                }
  3227.  
  3228.                if (var2.equals("JDPColumns") || var2.startsWith("JDPWiz")) {
  3229.                   var2 = null;
  3230.                }
  3231.  
  3232.                if (var2 != null) {
  3233.                   this.apiHelp.setDocname(var2 + ".html", false);
  3234.                }
  3235.             }
  3236.          }
  3237.  
  3238.          if (this.buttonPanel == null || this.buttonPanel.getPressed() == null || this.buttonPanel.getPressed().equals("Source")) {
  3239.             this.loadList(var1);
  3240.             int var3 = this.sourceSelect.getSelectedIndex();
  3241.             if (var3 < 0) {
  3242.                var3 = 0;
  3243.             }
  3244.  
  3245.             this.loadSource(var1, 0);
  3246.          }
  3247.  
  3248.          this.currentBranch = var1;
  3249.          if (this.buttonPanel == null || this.buttonPanel.getPressed() == null || this.buttonPanel.getPressed().equals("Define")) {
  3250.             this.instanceMgr.refresh();
  3251.          }
  3252.       }
  3253.  
  3254.    }
  3255.  
  3256.    synchronized void setButton(String var1) {
  3257.       if (!var1.equals("Layout") || !this.projectLoading) {
  3258.          try {
  3259.             if (this.currentBranch != null) {
  3260.                if (this.lastButton != null && this.lastButton.equals("Source")) {
  3261.                   this.saveSource(this.currentBranch, this.sourcePanel.getText());
  3262.                }
  3263.  
  3264.                if (this.currentBranch.text == null || this.currentBranch.text.length == 0) {
  3265.                   this.currentBranch.text = new String[1];
  3266.                }
  3267.  
  3268.                if (this.currentBranch.text[0] == null) {
  3269.                   this.currentBranch.text[0] = "";
  3270.                }
  3271.             }
  3272.          } catch (Exception var4) {
  3273.             ((Throwable)var4).printStackTrace();
  3274.          }
  3275.  
  3276.          if (var1.equals("Layout")) {
  3277.             this.cMgr.setPropPosition("Min");
  3278.          }
  3279.  
  3280.          if (var1.equals("SaveJDP")) {
  3281.             if (this.appType.equals("VisualApp")) {
  3282.                this.filePicker2.setSelectedDirectory(this.lastSaveDir);
  3283.                this.filePicker2.selectFilter("JDP Visual Applications");
  3284.             } else {
  3285.                this.filePicker2.setSelectedDirectory(this.lastSaveDirNonVisual);
  3286.                this.filePicker2.selectFilter("Java source files");
  3287.             }
  3288.  
  3289.             this.filePicker2.reloadSelectedDirectory();
  3290.          }
  3291.  
  3292.          if (var1.equals("Define") && !this.checkChangedWizardSource(this.currentBranch)) {
  3293.             this.buttonPanel.setPressed(this.lastButton);
  3294.          } else {
  3295.             this.cardPanel.hide();
  3296.             this.buttonPanel.setPressed(var1);
  3297.             if (!this.appType.equals("VisualApp") && var1.equals("Layout")) {
  3298.                ((CardLayout)this.cardPanel.getLayout()).show(this.cardPanel, this.appType);
  3299.             } else {
  3300.                ((CardLayout)this.cardPanel.getLayout()).show(this.cardPanel, var1);
  3301.             }
  3302.  
  3303.             this.cardPanel.show();
  3304.             if (var1.equals("APIDocs") && this.currentBranch.compType.startsWith("JDP")) {
  3305.                String var2 = this.currentBranch.compType;
  3306.                if (var2.startsWith("JDP")) {
  3307.                   if (var2.equals("JDPGridDetail")) {
  3308.                      var2 = "JDPTextGrid";
  3309.                   }
  3310.  
  3311.                   if (var2.equals("JDPReportDetail")) {
  3312.                      var2 = "JDPTextGrid";
  3313.                   }
  3314.  
  3315.                   if (var2.equals("JDPChartDetail")) {
  3316.                      var2 = "JDPChart";
  3317.                   }
  3318.  
  3319.                   if (var2.equals("JDPColumns") || var2.startsWith("JDPWiz")) {
  3320.                      var2 = null;
  3321.                   }
  3322.  
  3323.                   if (var2 != null) {
  3324.                      this.apiHelp.setDocname(var2 + ".html", false);
  3325.                   }
  3326.                }
  3327.             }
  3328.  
  3329.             if (var1.equals("Help")) {
  3330.                if (this.appType.equals("VisualApp")) {
  3331.                   this.layoutHelp.setDocname("JDPAppBuilder.html");
  3332.                } else {
  3333.                   this.layoutHelp.setDocname("JDPAppBuilderSvr.html");
  3334.                }
  3335.             }
  3336.  
  3337.             if (var1.equals("Define")) {
  3338.                this.setRelatedComps(this.currentBranch);
  3339.             }
  3340.  
  3341.             if (var1.equals("Events")) {
  3342.                this.interactionMgr.setProperties(this.currentBranch);
  3343.             }
  3344.  
  3345.             if (var1.equals("Source")) {
  3346.                this.loadList(this.currentBranch);
  3347.                int var5 = this.sourceSelect.getSelectedIndex();
  3348.                if (var5 < 0) {
  3349.                   var5 = 0;
  3350.                }
  3351.  
  3352.                this.loadSource(this.currentBranch, var5);
  3353.             }
  3354.  
  3355.             this.lastButton = var1;
  3356.          }
  3357.       }
  3358.    }
  3359.  
  3360.    void recalcPosition(JDPTreeBranch var1, JDPTreeBranch var2) {
  3361.       if (var2.thisObject != null && var2.thisObject instanceof Component) {
  3362.          Object var3 = null;
  3363.          LayoutManager var4 = ((Container)var1.thisObject).getLayout();
  3364.          if (var4 != null) {
  3365.             String var8 = var4.toString();
  3366.             if (var8.indexOf("Grid") >= 0) {
  3367.                var2.compPosition = "";
  3368.             }
  3369.  
  3370.             if (var8.indexOf("Border") >= 0 && (var2.compPosition.equals("") || var2.compPosition.equals("Left") || var2.compPosition.equals("Right"))) {
  3371.                String var5 = "";
  3372.  
  3373.                for(int var6 = 0; var6 < var1.leaves.size(); ++var6) {
  3374.                   JDPTreeBranch var7 = (JDPTreeBranch)var1.leaves.elementAt(var6);
  3375.                   if (!var7.equals(var2)) {
  3376.                      var5 = var5 + var7.compPosition + " ";
  3377.                   }
  3378.                }
  3379.  
  3380.                if (var5.indexOf("Center ") < 0) {
  3381.                   var2.compPosition = "Center";
  3382.                } else if (var5.indexOf("West ") < 0) {
  3383.                   var2.compPosition = "West";
  3384.                } else if (var5.indexOf("South ") < 0) {
  3385.                   var2.compPosition = "South";
  3386.                } else if (var5.indexOf("North ") < 0) {
  3387.                   var2.compPosition = "North";
  3388.                } else if (var5.indexOf("East ") < 0) {
  3389.                   var2.compPosition = "East";
  3390.                }
  3391.  
  3392.                if (var2.compPosition.equals("")) {
  3393.                   var2.compPosition = "East";
  3394.                   super.user.mainmsg.setStatusMsg("You can only add 5 components to a BorderLayout container", 20);
  3395.                }
  3396.             }
  3397.  
  3398.             if (var8.indexOf("JDPLineLayout") >= 0) {
  3399.                var2.compPosition = "Left";
  3400.             }
  3401.  
  3402.             if (var8.indexOf("JDPRowLayout") >= 0 && !var2.compPosition.equals("Left") && !var2.compPosition.equals("Right")) {
  3403.                var2.compPosition = "Left";
  3404.                int var9 = ((Container)var1.thisObject).getComponents().length;
  3405.                if ((float)Math.floor((double)(var9 / 2)) != (float)var9 / 2.0F) {
  3406.                   var2.compPosition = "Right";
  3407.                   return;
  3408.                }
  3409.             }
  3410.          } else {
  3411.             var2.compPosition = "";
  3412.          }
  3413.       }
  3414.  
  3415.    }
  3416.  
  3417.    boolean saveSelections() {
  3418.       JDPSaveProps var1 = super.user.saveProperties;
  3419.       super.user.prevProperties = new JDPSaveProps(super.user);
  3420.       String var2 = "JDPLayoutMgr";
  3421.       super.user.prevProperties.p = var1.p;
  3422.       var1.clear();
  3423.       var1.saveObject(this.compTree, var2, "compTree");
  3424.       super.user.prevProperties = null;
  3425.       return true;
  3426.    }
  3427.  
  3428.    synchronized void loadSource(JDPTreeBranch var1, int var2) {
  3429.       if (!this.projectLoading) {
  3430.          if (var1 == null) {
  3431.             this.sourcePanel.setText("");
  3432.             this.sourcePanel.setEditable(false);
  3433.             this.sourceButtonPanel.button[1].disable();
  3434.             this.sourceButtonPanel.button[1].repaint();
  3435.          } else {
  3436.             if (this.lastSelectedBranch == null || !this.lastSelectedBranch.equals(var1)) {
  3437.                var2 = 0;
  3438.             }
  3439.  
  3440.             this.sourceButtonPanel.button[1].enable();
  3441.             this.sourcePanel.setEditable(true);
  3442.             if (var1.equals(this.compTree) && var2 == 0) {
  3443.                this.sourcePanel.setEditable(false);
  3444.                this.sourceButtonPanel.button[1].disable();
  3445.             }
  3446.  
  3447.             if (var1.equals(this.compTree) && var2 == 1) {
  3448.                this.sourceButtonPanel.button[1].disable();
  3449.             }
  3450.  
  3451.             this.loadList(var1);
  3452.             if (var2 < 0) {
  3453.                this.sourcePanel.setText("");
  3454.                this.sourcePanel.setEditable(false);
  3455.                this.sourceButtonPanel.button[1].disable();
  3456.                this.sourceButtonPanel.button[1].repaint();
  3457.             } else {
  3458.                if (this.sourceSelect.countItems() == 0) {
  3459.                   this.sourceButtonPanel.button[1].disable();
  3460.                   this.sourcePanel.setEditable(false);
  3461.                }
  3462.  
  3463.                this.sourceButtonPanel.button[1].repaint();
  3464.                if (var1.text != null && var2 < var1.text.length && var1.text[var2] != null && var1.text[var2].indexOf("|") >= 0) {
  3465.                   int var3 = var1.text[var2].indexOf("|");
  3466.                   this.sourceSelect.select(var1.text[var2].substring(0, var3));
  3467.                   var3 = var1.text[var2].indexOf("|", var3 + 1);
  3468.                   String var4 = var1.text[var2].substring(var3 + 1);
  3469.                   if (this.sourcePanel.isShowing()) {
  3470.                      this.sourcePanel.setText(var4);
  3471.                   }
  3472.  
  3473.                } else {
  3474.                   this.sourcePanel.setText("");
  3475.                }
  3476.             }
  3477.          }
  3478.       }
  3479.    }
  3480.  
  3481.    void loadDeveloperPreferences() {
  3482.       this.saveProps = new JDPSaveProps(super.user);
  3483.       String var1 = super.user.JDesignerPro.JDPDirectory + "System" + JDesignerPro.serverSeparator;
  3484.       var1 = var1 + "Users" + JDesignerPro.serverSeparator;
  3485.       var1 = var1 + "U" + Integer.toString(super.user.cust.getUserid()) + ".usr";
  3486.       this.saveProps.load(var1);
  3487.       this.developerProps = this.saveProps.getProperties();
  3488.       String var2 = (String)this.developerProps.get("mainPanelPercent");
  3489.       if (var2 != null) {
  3490.          this.mainPanel.setLeftPercentage((float)Integer.parseInt(var2));
  3491.       }
  3492.  
  3493.       String var3 = (String)this.developerProps.get("cardMainPercent");
  3494.       if (var3 != null) {
  3495.          this.cardMainPanel.setTopPercentage((float)Integer.parseInt(var3));
  3496.       }
  3497.  
  3498.       String var4 = (String)this.developerProps.get("leftPanelPercent");
  3499.       if (var4 != null) {
  3500.          this.leftPanel.setTopPercentage((float)Integer.parseInt(var4));
  3501.       }
  3502.  
  3503.       String var5 = (String)this.developerProps.get("sourceMainPercent");
  3504.       if (var5 != null) {
  3505.          this.sourceMainPanel1.setTopPercentage((float)Integer.parseInt(var5));
  3506.       }
  3507.  
  3508.       String var6 = (String)this.developerProps.get("sourcePanelPercent");
  3509.       if (var6 != null) {
  3510.          this.sourcePanelFrame.setLeftPercentage((float)Integer.parseInt(var6));
  3511.       }
  3512.  
  3513.       String var7 = (String)this.developerProps.get("iMgrMainPercent");
  3514.       if (var7 != null) {
  3515.          this.interactionMgr.Main.setLeftPercentage((float)Integer.parseInt(var7));
  3516.       }
  3517.  
  3518.       String var8 = (String)this.developerProps.get("iMgrPanel2Percent");
  3519.       if (var8 != null) {
  3520.          this.interactionMgr.Panel2.setLeftPercentage((float)Integer.parseInt(var8));
  3521.       }
  3522.  
  3523.       String var9 = (String)this.developerProps.get("iMgrEventPercent");
  3524.       if (var9 != null) {
  3525.          this.interactionMgr.eventSourcePanelFrame.setLeftPercentage((float)Integer.parseInt(var9));
  3526.       }
  3527.  
  3528.       String var10 = (String)this.developerProps.get("sLayoutPanel2Percent");
  3529.       if (var10 != null) {
  3530.          this.sLayout.Panel2.setLeftPercentage((float)Integer.parseInt(var10));
  3531.       }
  3532.  
  3533.       String var11 = (String)this.developerProps.get("methodsButton1");
  3534.       if (var11 != null && !var11.equals("pressed")) {
  3535.          Event var12 = new Event(this.methodsButton, 1001, "Display Methods");
  3536.          ((Component)this).postEvent(var12);
  3537.       }
  3538.  
  3539.       String var21 = (String)this.developerProps.get("methodsButton2");
  3540.       if (var21 != null && !var21.equals("pressed")) {
  3541.          Event var13 = new Event(this.interactionMgr.methodsButton, 1001, "Display Methods");
  3542.          this.interactionMgr.postEvent(var13);
  3543.       }
  3544.  
  3545.       String var22 = (String)this.developerProps.get("methodsButton3");
  3546.       if (var22 != null && !var22.equals("pressed")) {
  3547.          Event var14 = new Event(this.sLayout.JDPButton1, 1001, "");
  3548.          this.sLayout.postEvent(var14);
  3549.       }
  3550.  
  3551.       this.componentTreeFile = (String)this.developerProps.get("componentTreeFile");
  3552.       if (this.componentTreeFile != null) {
  3553.          this.loadTree(this.cMgr.tree.treeRoot, this.componentTreeFile);
  3554.       } else {
  3555.          this.componentTreeFile = super.user.JDesignerPro.JDPDirectory + "System" + JDesignerPro.serverSeparator;
  3556.          String var10001 = this.componentTreeFile;
  3557.          this.componentTreeFile = var10001 + "ObjectTrees" + JDesignerPro.serverSeparator;
  3558.          var10001 = this.componentTreeFile;
  3559.          this.componentTreeFile = var10001 + "default.jot";
  3560.          this.loadTree(this.cMgr.tree.treeRoot, this.componentTreeFile);
  3561.       }
  3562.  
  3563.       String var23 = super.user.JDesignerPro.JDPDirectory + JDesignerPro.serverSeparator + "Applications";
  3564.       this.lastOpenDir = (String)this.developerProps.get("lastOpenDir");
  3565.       if (this.lastOpenDir == null) {
  3566.          this.lastOpenDir = var23;
  3567.       }
  3568.  
  3569.       this.lastOpenDirNonVisual = (String)this.developerProps.get("lastOpenDirNonVisual");
  3570.       if (this.lastOpenDirNonVisual == null) {
  3571.          this.lastOpenDirNonVisual = var23;
  3572.       }
  3573.  
  3574.       this.lastSaveDir = (String)this.developerProps.get("lastSaveDir");
  3575.       if (this.lastSaveDir == null) {
  3576.          this.lastSaveDir = var23;
  3577.       }
  3578.  
  3579.       this.lastSaveDirNonVisual = (String)this.developerProps.get("lastSaveDirNonVisual");
  3580.       if (this.lastSaveDirNonVisual == null) {
  3581.          this.lastSaveDirNonVisual = var23;
  3582.       }
  3583.  
  3584.       String var15 = (String)this.developerProps.get("definePos");
  3585.       if (var15 != null) {
  3586.          this.sLayout.setPanelPosition("Definition Panel", (String)this.developerProps.get("definePos"));
  3587.          this.sLayout.setPanelPosition("Explorer Panel", (String)this.developerProps.get("explorePos"));
  3588.          this.sLayout.setPanelPosition("Source Panel", (String)this.developerProps.get("sourcePos"));
  3589.          this.sLayout.setPanelPosition("Tab Panel", (String)this.developerProps.get("tabPos"));
  3590.       } else {
  3591.          this.sLayout.setPanelPosition("Definition Panel", "TabPanel");
  3592.          this.sLayout.setPanelPosition("Explorer Panel", "North");
  3593.          this.sLayout.setPanelPosition("Source Panel", "TabPanel");
  3594.          this.sLayout.setPanelPosition("Tab Panel", "Center");
  3595.       }
  3596.  
  3597.       this.sLayout.JDPMethodExplorer1.displayName = this.saveProps.restoreObject("displayName", this.sLayout.JDPMethodExplorer1.displayName);
  3598.       this.sLayout.JDPMethodExplorer1.displayText = this.saveProps.restoreObject("displayText", this.sLayout.JDPMethodExplorer1.displayText);
  3599.       this.sLayout.JDPMethodExplorer1.displayGlobals = this.saveProps.restoreObject("displayGlobals", this.sLayout.JDPMethodExplorer1.displayGlobals);
  3600.       this.sLayout.JDPMethodExplorer1.nodeSpaceWidth = this.saveProps.restoreObject("nodeSpaceWidth", this.sLayout.JDPMethodExplorer1.nodeSpaceWidth);
  3601.       this.sLayout.JDPMethodExplorer1.nodeSpaceHeight = this.saveProps.restoreObject("nodeSpaceHeight", this.sLayout.JDPMethodExplorer1.nodeSpaceHeight);
  3602.       this.sLayout.JDPMethodExplorer1.minimumHeight = this.saveProps.restoreObject("minimumHeight", this.sLayout.JDPMethodExplorer1.minimumHeight);
  3603.       String[][] var16 = new String[0][0];
  3604.       var16 = (String[][])this.saveProps.restoreObject("lastApps", var16);
  3605.       this.last20Apps = new Vector();
  3606.       if (var16 != null) {
  3607.          for(int var17 = 0; var17 < var16.length; ++var17) {
  3608.             String[] var18 = new String[]{var16[var17][0], var16[var17][1]};
  3609.             this.last20Apps.addElement(var18);
  3610.          }
  3611.       }
  3612.  
  3613.       this.dontDisplaySizeWarning = new Checkbox("Don't display this warning again");
  3614.       boolean var25 = false;
  3615.       var25 = this.saveProps.restoreObject("dontDisplaySizeWarning", var25);
  3616.       this.dontDisplaySizeWarning.setState(var25);
  3617.       super.user.mainmsg.clearStatusMsg();
  3618.    }
  3619.  
  3620.    public synchronized boolean handleEvent(Event var1) {
  3621.       switch (var1.id) {
  3622.          case 401:
  3623.             if (var1.key == 9 && var1.target.equals(this.interactionMgr.sourceEditorList)) {
  3624.                this.sourcePanel.requestFocus();
  3625.                return true;
  3626.             }
  3627.  
  3628.             return false;
  3629.          case 402:
  3630.             if (var1.target.equals(this.sourcePanel)) {
  3631.                this.currentLine.setValue(this.countSourceLinesToCursor(this.sourcePanel));
  3632.                this.interactionMgr.currentLine.setValue(this.currentLine.getValue());
  3633.                if (var1.key == 10) {
  3634.                   JDPUtils.insertTabs(this.sourcePanel);
  3635.                   return true;
  3636.                }
  3637.  
  3638.                if (var1.key == 9) {
  3639.                   return false;
  3640.                }
  3641.  
  3642.                this.interactionMgr.startThread();
  3643.             }
  3644.  
  3645.             if (var1.target.equals(this.interactionMgr.eventSource)) {
  3646.                this.currentLine.setValue(this.countSourceLinesToCursor(this.interactionMgr.eventSource));
  3647.                this.interactionMgr.currentLine.setValue(this.currentLine.getValue());
  3648.             }
  3649.  
  3650.             if (var1.target.equals(this.sLayout.sourcePanel)) {
  3651.                this.mTree.recalcSourceLines();
  3652.                this.sLayout.currentLine.setValue(this.countSourceLinesToCursor(this.sLayout.sourcePanel));
  3653.             }
  3654.  
  3655.             if (var1.target.equals(this.searchFor) && var1.key == 10) {
  3656.                this.searchForText(this.searchFor.getText(), this.searchForward);
  3657.             }
  3658.  
  3659.             if (var1.key == 1004 || var1.key == 1005) {
  3660.                if (var1.target.equals(this.currentLine)) {
  3661.                   this.interactionMgr.currentLine.setValue(this.currentLine.getValue());
  3662.                   this.loadVisualErrorComponent(this.currentLine.getValue(), (String)null);
  3663.                   return true;
  3664.                }
  3665.  
  3666.                if (var1.target.equals(this.interactionMgr.currentLine)) {
  3667.                   this.currentLine.setValue(this.interactionMgr.currentLine.getValue());
  3668.                   this.loadVisualErrorComponent(this.interactionMgr.currentLine.getValue(), (String)null);
  3669.                   return true;
  3670.                }
  3671.  
  3672.                if (var1.target.equals(this.sLayout.currentLine)) {
  3673.                   this.mTree.recalcSourceLines();
  3674.                   this.loadVisualErrorComponent(this.sLayout.currentLine.getValue(), (String)null);
  3675.                   return true;
  3676.                }
  3677.             }
  3678.  
  3679.             return false;
  3680.          case 404:
  3681.             if (var1.target.equals(this.sourcePanel) && (var1.key == 1006 || var1.key == 1007)) {
  3682.                this.interactionMgr.startThread();
  3683.             }
  3684.  
  3685.             if (var1.target.equals(this.sourcePanel)) {
  3686.                this.currentLine.setValue(this.countSourceLinesToCursor(this.sourcePanel));
  3687.                this.interactionMgr.currentLine.setValue(this.currentLine.getValue());
  3688.             }
  3689.  
  3690.             if (var1.target.equals(this.interactionMgr.eventSource)) {
  3691.                this.currentLine.setValue(this.countSourceLinesToCursor(this.interactionMgr.eventSource));
  3692.                this.interactionMgr.currentLine.setValue(this.currentLine.getValue());
  3693.             }
  3694.  
  3695.             if (var1.target.equals(this.sLayout.sourcePanel)) {
  3696.                this.mTree.recalcSourceLines();
  3697.                this.sLayout.currentLine.setValue(this.countSourceLinesToCursor(this.sLayout.sourcePanel));
  3698.             }
  3699.  
  3700.             return false;
  3701.          case 501:
  3702.             this.dragPanel.postEvent(var1);
  3703.             if (this.popup.isVisible()) {
  3704.                this.popup.hideMenu();
  3705.                return true;
  3706.             }
  3707.  
  3708.             return true;
  3709.          case 502:
  3710.             if (this.dragPanel.isVisible()) {
  3711.                this.dragPanel.postEvent(var1);
  3712.                return true;
  3713.             }
  3714.  
  3715.             return false;
  3716.          case 503:
  3717.          case 504:
  3718.          case 505:
  3719.             if (this.interactionMgr != null && var1.target.equals(this.interactionMgr.sourceEditorList)) {
  3720.                String var14 = this.sourcePanel.getSelectedText();
  3721.                if (System.getProperty("java.version").startsWith("1.1") && System.getProperty("java.vendor").startsWith("Sun")) {
  3722.                   String var19 = super.user.u.replace(this.sourcePanel.getText(), "\n", "  ");
  3723.                   var14 = var19.substring(this.sourcePanel.getSelectionStart(), this.sourcePanel.getSelectionEnd());
  3724.                }
  3725.  
  3726.                if (this.sourceSelected == null || !var14.equals(this.sourceSelected)) {
  3727.                   this.interactionMgr.loadMethodList(this.sourcePanel, this.interactionMgr.sourceEditorList);
  3728.                }
  3729.  
  3730.                this.sourceSelected = var14;
  3731.             }
  3732.  
  3733.             if (this.interactionMgr != null && var1.target.equals(this.sLayout.methodList)) {
  3734.                String var15 = "";
  3735.                if (System.getProperty("java.version").startsWith("1.1") && System.getProperty("java.vendor").startsWith("Sun")) {
  3736.                   String var20 = super.user.u.replace(this.sLayout.sourcePanel.getText(), "\n", "  ");
  3737.                   var15 = var20.substring(this.sLayout.sourcePanel.getSelectionStart(), this.sLayout.sourcePanel.getSelectionEnd());
  3738.                } else {
  3739.                   var15 = this.sLayout.sourcePanel.getSelectedText();
  3740.                }
  3741.  
  3742.                if (this.sLayoutsourceSelected == null || !var15.equals(this.sLayoutsourceSelected)) {
  3743.                   this.sLayout.loadMethodList();
  3744.                   this.sLayoutsourceSelected = var15;
  3745.                }
  3746.  
  3747.                this.sourceSelected = var15;
  3748.             }
  3749.  
  3750.             this.popuppanel.postEvent(var1);
  3751.             return false;
  3752.          case 506:
  3753.             this.dragPanel.postEvent(var1);
  3754.             return true;
  3755.          case 701:
  3756.             if (var1.target instanceof JDPTreePicker) {
  3757.                if (var1.target.equals(this.cMgr.tree) && super.user.JDesignerPro.versionnum >= 2.1F && (!JDesignerPro.JDPLicensed || JDesignerPro.JDPLicenses > 5) && !this.demoMode) {
  3758.                   String var9 = (String)var1.arg;
  3759.                   if (var1.when - this.lastEventTime < 500L) {
  3760.                      return true;
  3761.                   }
  3762.  
  3763.                   JDPTreeBranch var17 = this.cMgr.tree.getCurrentBranch();
  3764.                   if (var9.equals("BranchSelect") && var17.equals(this.lastSelectedCmgrBranch)) {
  3765.                      if (this.cMgr.tree.currentBranchLvl == 0) {
  3766.                         this.popup.setMenuTree(this.popupComponentRoot);
  3767.                         this.popup.display(var1.x, var1.y);
  3768.                      } else {
  3769.                         this.popup.setMenuTree(this.popupComponentMain);
  3770.                         this.popup.display(var1.x, var1.y);
  3771.                      }
  3772.  
  3773.                      return false;
  3774.                   }
  3775.  
  3776.                   if (var9.equals("LeafSelect")) {
  3777.                      if (var17.equals(this.cMgr.tree.treeRoot)) {
  3778.                         this.popup.setMenuTree(this.popupComponentRoot);
  3779.                      } else if (var17.compType == null) {
  3780.                         this.popup.setMenuTree(this.popupComponentMain);
  3781.                      } else {
  3782.                         this.popup.setMenuTree(this.popupComponent);
  3783.                      }
  3784.  
  3785.                      this.popup.display(var1.x, var1.y);
  3786.                      return false;
  3787.                   }
  3788.  
  3789.                   this.lastSelectedCmgrBranch = var17;
  3790.                }
  3791.  
  3792.                if (var1.target.equals(this.layoutTree)) {
  3793.                   if (var1.when - this.lastEventTime < 500L) {
  3794.                      return true;
  3795.                   }
  3796.  
  3797.                   String var10 = (String)var1.arg;
  3798.                   if (var10.equals("BranchSelect")) {
  3799.                      if (this.layoutTree.currentBranchLvl == 0) {
  3800.                         this.popup.setMenuTree(this.popupMain);
  3801.                      } else if (this.layoutTree.getCurrentBranch().thisObject instanceof Dialog) {
  3802.                         this.popup.setMenuTree(this.popupTreeDialogBranch);
  3803.                      } else if (this.layoutTree.getCurrentBranch().thisObject instanceof JDPCardPanel) {
  3804.                         this.popup.setMenuTree(this.loadPopupMenu4CardPanel(this.layoutTree.getCurrentBranch()));
  3805.                      } else {
  3806.                         this.popup.setMenuTree(this.popupTreeBranch);
  3807.                      }
  3808.  
  3809.                      this.popup.display(var1.x, var1.y);
  3810.                      return false;
  3811.                   }
  3812.  
  3813.                   if (var10.equals("LeafSelect")) {
  3814.                      if (this.layoutTree.currentBranchLvl == 0) {
  3815.                         this.popup.setMenuTree(this.popupMain);
  3816.                      } else if (this.layoutTree.getCurrentBranch().thisObject instanceof Dialog) {
  3817.                         this.popup.setMenuTree(this.popupDialogBranch);
  3818.                      } else if (this.layoutTree.getCurrentBranch().thisObject instanceof JDPCardPanel) {
  3819.                         this.popup.setMenuTree(this.loadPopupMenu4CardPanel(this.layoutTree.getCurrentBranch()));
  3820.                      } else {
  3821.                         this.popup.setMenuTree(this.popupBranch);
  3822.                      }
  3823.  
  3824.                      this.popup.display(var1.x, var1.y);
  3825.                      return false;
  3826.                   }
  3827.                }
  3828.  
  3829.                if (var1.target.equals(this.interactionMgr.eventTree)) {
  3830.                   String var11 = (String)var1.arg;
  3831.                   if (var11.equals("LeafSelect")) {
  3832.                      if (this.interactionMgr.eventTree.currentBranchLvl == 3) {
  3833.                         this.popup.setMenuTree(this.popupInteractionEvent);
  3834.                         this.popup.display(var1.x, var1.y);
  3835.                      }
  3836.  
  3837.                      return false;
  3838.                   }
  3839.                }
  3840.  
  3841.                if (var1.target.equals(this.interactionMgr.parameterTree)) {
  3842.                   String var12 = (String)var1.arg;
  3843.                   if (var12.equals("LeafSelect")) {
  3844.                      if (this.interactionMgr.parameterTree.currentBranchLvl == 3) {
  3845.                         this.popup.setMenuTree(this.popupInteractionParameter);
  3846.                         this.popup.display(var1.x, var1.y);
  3847.                      }
  3848.  
  3849.                      return false;
  3850.                   }
  3851.                }
  3852.  
  3853.                if (var1.target.equals(this.mTree)) {
  3854.                   String var13 = (String)var1.arg;
  3855.                   if (!var13.equals("BranchOpen")) {
  3856.                      JDPSourceItem var18 = this.mTree.getSelectedSourceItem();
  3857.                      if (var18 != null) {
  3858.                         this.sLayout.setSourceItem(var18);
  3859.                      }
  3860.  
  3861.                      JDPTreeBranch var5 = this.mTree.getCurrentBranch();
  3862.                      if (this.lastSelectedmTree != null && var5.equals(this.lastSelectedmTree)) {
  3863.                         this.loadNonVisualPopupMenu(var5);
  3864.                         this.sLayout.loadPopupMenu(this.popup);
  3865.                         this.popup.display(var1.x, var1.y);
  3866.                      }
  3867.  
  3868.                      this.lastSelectedmTree = var5;
  3869.                   }
  3870.  
  3871.                   return true;
  3872.                }
  3873.             }
  3874.  
  3875.             if (var1.target instanceof JDPList) {
  3876.                if (var1.target.equals(this.sourceSelect)) {
  3877.                   this.newIndex = (Integer)var1.arg;
  3878.                   this.saveSource(this.currentBranch, this.sourcePanel.getText());
  3879.                   this.loadSource(this.currentBranch, this.newIndex);
  3880.                   this.newIndex = -1;
  3881.                   return true;
  3882.                }
  3883.  
  3884.                if (var1.target.equals(this.compileErrors)) {
  3885.                   this.loadErrorComponent();
  3886.                   return true;
  3887.                }
  3888.  
  3889.                if (var1.target.equals(this.interactionMgr.sourceEditorList)) {
  3890.                   this.interactionMgr.replaceSelectedText(this.sourcePanel, this.interactionMgr.sourceEditorList.getSelectedItem());
  3891.                   return true;
  3892.                }
  3893.             }
  3894.  
  3895.             return true;
  3896.          case 1001:
  3897.             this.eventVector.addElement(var1);
  3898.             (new Thread(this)).start();
  3899.             return true;
  3900.          case 1004:
  3901.             if (var1.target.equals(this.sourcePanel)) {
  3902.                this.currentLine.setValue(this.countSourceLinesToCursor(this.sourcePanel));
  3903.                this.interactionMgr.currentLine.setValue(this.currentLine.getValue());
  3904.             }
  3905.  
  3906.             if (var1.target.equals(this.interactionMgr.eventSource)) {
  3907.                this.currentLine.setValue(this.countSourceLinesToCursor(this.interactionMgr.eventSource));
  3908.                this.interactionMgr.currentLine.setValue(this.currentLine.getValue());
  3909.             }
  3910.  
  3911.             if (var1.target.equals(this.sLayout.sourcePanel)) {
  3912.                this.mTree.recalcSourceLines();
  3913.                this.sLayout.currentLine.setValue(this.countSourceLinesToCursor(this.sLayout.sourcePanel));
  3914.             }
  3915.  
  3916.             if (var1.target.equals(this.sourcePanel) && this.sourcePanel.isEditable()) {
  3917.                this.saveLastCursorPos();
  3918.             }
  3919.  
  3920.             return false;
  3921.          case 1005:
  3922.             if (var1.target.equals(this.sourcePanel) && this.sourcePanel.isEditable()) {
  3923.                this.saveLastCursorPos();
  3924.                this.replaceSource(this.currentBranch, this.sourcePanel.getText(), this.sourceSelect.getSelectedIndex());
  3925.                this.saveSource(this.currentBranch, this.sourcePanel.getText());
  3926.                return false;
  3927.             } else {
  3928.                if (var1.target.equals(this.cMgr.compProps)) {
  3929.                   this.cMgr.handleEvent(var1);
  3930.                   return true;
  3931.                }
  3932.  
  3933.                return false;
  3934.             }
  3935.          case 10001:
  3936.          case 10002:
  3937.             Container var6 = ((Component)var1.target).getParent();
  3938.             var6 = ((Component)var6).getParent();
  3939.             if (var6 instanceof JDPGridLayout) {
  3940.                JDPTreeBranch var8 = this.lView.tree.getBranch(var6);
  3941.                if (var8 != null) {
  3942.                   ((JDPGridLayout)var6).retrieveColumns();
  3943.                   ((JDPGridLayout)var6).saveSelections();
  3944.                   this.currentBranch = ((JDPGridLayout)var6).thisBranch;
  3945.                   this.cMgr.currentBranch = ((JDPGridLayout)var6).thisBranch;
  3946.                   this.lView.tree.select(this.currentBranch);
  3947.                   this.setProperties(this.currentBranch);
  3948.                   this.setRelatedComps(this.currentBranch);
  3949.                   this.gSource.constructMethod(this.currentBranch, "Main");
  3950.                }
  3951.             }
  3952.  
  3953.             return false;
  3954.          case 10010:
  3955.             if (var1.target.equals(this.cMgr.tree)) {
  3956.                this.leftMarginWidth = (Integer)var1.arg;
  3957.                this.cMgr.tree.setMinWidth(this.leftMarginWidth);
  3958.                this.lView.tree.setMinWidth(this.leftMarginWidth);
  3959.                this.cMgr.setGridWidth(this.cMgr.tree.bounds().width);
  3960.                return true;
  3961.             } else {
  3962.                if (var1.target.equals(this.lView.tree)) {
  3963.                   this.leftMarginWidth = (Integer)var1.arg;
  3964.                   this.cMgr.tree.setMinWidth(this.leftMarginWidth);
  3965.                   this.lView.tree.setMinWidth(this.leftMarginWidth);
  3966.                   this.cMgr.setGridWidth(this.lView.tree.bounds().width);
  3967.                   return true;
  3968.                }
  3969.  
  3970.                return false;
  3971.             }
  3972.          case 10011:
  3973.             if (var1.target instanceof JDPSplitPanel) {
  3974.                JDPTreeBranch var2 = this.lView.tree.getBranch(var1.target);
  3975.                if (var2 != null) {
  3976.                   this.currentBranch = var2;
  3977.                   this.cMgr.currentBranch = var2;
  3978.                   this.lView.tree.select(this.currentBranch);
  3979.                   Event var3 = new Event(this.lView.tree, 1001, (Object)null);
  3980.                   this.lView.postEvent(var3);
  3981.                   Event var4 = new Event(this.cMgr.compProps, 1005, (Object)null);
  3982.                   this.lView.postEvent(var4);
  3983.                }
  3984.             }
  3985.  
  3986.             return false;
  3987.          default:
  3988.             return false;
  3989.       }
  3990.    }
  3991.  
  3992.    public void run() {
  3993.       Object var1 = this.eventVector.elementAt(0);
  3994.       this.eventVector.removeElementAt(0);
  3995.       if (var1 instanceof String) {
  3996.          String var2 = (String)var1;
  3997.          if (var2.equals("ArchiveApp") && JDPJagg.useJaggServer) {
  3998.             if (this.jaggSQL == null) {
  3999.                this.jaggSQL = new JDPJagg(super.user.jaggPath);
  4000.             }
  4001.  
  4002.             this.jaggSQL.setFCTN("ArchiveApp");
  4003.             String var3 = this.filePicker1.getSelectedDirectory() + ";" + this.filePicker1.getSelectedFile() + ";";
  4004.             var3 = var3 + this.filePicker1.getSelectedDirectory() + JDesignerPro.serverSeparator + "archive;";
  4005.             var3 = var3 + "60;";
  4006.             this.jaggSQL.setFCTNP(var3);
  4007.             Vector var4 = new Vector();
  4008.             this.jaggSQL.execSQL("", var4);
  4009.          }
  4010.       }
  4011.  
  4012.       if (var1 instanceof Event) {
  4013.          Event var12 = (Event)var1;
  4014.          this.lastEventTime = var12.when;
  4015.          if (var12.target.equals(this.currentLine)) {
  4016.             this.interactionMgr.currentLine.setValue(this.currentLine.getValue());
  4017.             this.loadVisualErrorComponent(this.currentLine.getValue(), (String)null);
  4018.             return;
  4019.          }
  4020.  
  4021.          if (var12.target.equals(this.interactionMgr.currentLine)) {
  4022.             this.currentLine.setValue(this.interactionMgr.currentLine.getValue());
  4023.             this.loadVisualErrorComponent(this.interactionMgr.currentLine.getValue(), (String)null);
  4024.             return;
  4025.          }
  4026.  
  4027.          if (var12.target.equals(this.sLayout.currentLine)) {
  4028.             this.mTree.recalcSourceLines();
  4029.             this.loadVisualErrorComponent(this.sLayout.currentLine.getValue(), (String)null);
  4030.             return;
  4031.          }
  4032.  
  4033.          if (var12.target instanceof JDPSQLSelector) {
  4034.             String var15 = (String)var12.arg;
  4035.             if (var15.equals("SQLWizardDone")) {
  4036.                if (this.appType.equals("VisualApp")) {
  4037.                   this.setButton("Source");
  4038.                   this.setSourceButton("Object");
  4039.                } else {
  4040.                   this.setButton("Layout");
  4041.                }
  4042.  
  4043.                this.createSQLMethod();
  4044.                return;
  4045.             }
  4046.  
  4047.             if (var15.equals("SQLWizardCancel")) {
  4048.                if (this.appType.equals("VisualApp")) {
  4049.                   this.setButton("Source");
  4050.                   this.setSourceButton("Object");
  4051.                   return;
  4052.                }
  4053.  
  4054.                this.setButton("Layout");
  4055.                return;
  4056.             }
  4057.          } else if (var12.target instanceof JDPButton) {
  4058.             String var21 = (String)var12.arg;
  4059.             if (var21.equals("Layout") || var21.equals("Define") || var21.equals("Source") || var21.equals("Events") || var21.equals("APIDocs") || var21.equals("Help")) {
  4060.                this.setButton(var21);
  4061.             }
  4062.  
  4063.             if (var21.equals("OpenJDP")) {
  4064.                String var33 = "The current application has not been saved, press again to confirm Open Application.";
  4065.                if ((!this.getAppChanged() || !super.user.mainmsg.getStatusMsg().equals(var33)) && this.getAppChanged()) {
  4066.                   super.user.mainmsg.setStatusMsg(var33, 10);
  4067.                   return;
  4068.                }
  4069.  
  4070.                this.popup.setMenuTree(this.loadPopupMenu4Open());
  4071.                this.popup.display(var12.x, var12.y);
  4072.                return;
  4073.             }
  4074.  
  4075.             if (!var21.equals("NewJDP")) {
  4076.                if (!var21.equals("Object") && !var21.equals("Complete")) {
  4077.                   if (var21.equals("Compile")) {
  4078.                      if (this.compileErrors.isVisible()) {
  4079.                         this.compileErrors.hide();
  4080.                         this.reDrawAll();
  4081.                         this.buttonPanel2.button[6].setPressed(false);
  4082.                      } else {
  4083.                         this.compileErrors.show();
  4084.                         this.reDrawAll();
  4085.                         this.buttonPanel2.button[6].setPressed(true);
  4086.                      }
  4087.  
  4088.                      ((Container)this).layout();
  4089.                      ((Component)this).paintAll(((Component)this).getGraphics());
  4090.                      return;
  4091.                   }
  4092.  
  4093.                   if (var21.equals("New Method")) {
  4094.                      this.sourcePanel.setText(this.gSource.createComment("New Method") + "\tpublic void " + this.currentBranch.name + "Method() {\n\n\t\t\n\n\t}\n");
  4095.                      this.sourcePanel.setEditable(true);
  4096.                      this.saveSource(this.currentBranch, this.sourcePanel.getText());
  4097.                      this.sourceButtonPanel.button[1].enable();
  4098.                      this.sourceButtonPanel.button[1].repaint();
  4099.                      this.sourceSelect.select(this.sourceSelect.countItems() - 1);
  4100.                      this.sourceSelect.makeVisible(this.sourceSelect.countItems() - 1);
  4101.                      this.sourcePanel.requestFocus();
  4102.                      this.gSource.composeSource(this.compTree);
  4103.                      return;
  4104.                   }
  4105.  
  4106.                   if (var21.equals("Remove Method")) {
  4107.                      int var31 = this.sourceSelect.getSelectedIndex();
  4108.                      if (var31 >= 0 && this.currentBranch != null) {
  4109.                         this.removeSource(this.currentBranch, var31);
  4110.                         this.loadSource(this.currentBranch, 0);
  4111.                         var31 = this.sourceSelect.getSelectedIndex();
  4112.                      }
  4113.                   }
  4114.  
  4115.                   if (var21.equals("SaveJDP")) {
  4116.                      this.popup.setMenuTree(this.popupSaveMenu);
  4117.                      this.popup.display(var12.x, var12.y);
  4118.                   }
  4119.  
  4120.                   if (!var21.equals("BuildJDP") && !var21.equals("Debug BuildJDP") && !var21.equals("Final BuildJDP")) {
  4121.                      if (var21.equals("Display Methods")) {
  4122.                         if (this.interactionMgr.sourceEditorList.isVisible()) {
  4123.                            this.interactionMgr.sourceEditorList.hide();
  4124.                            this.methodsButton.setPressed(false);
  4125.                         } else {
  4126.                            this.interactionMgr.sourceEditorList.show();
  4127.                         }
  4128.  
  4129.                         this.sourceMainPanel1.layout();
  4130.                         this.sourceMainPanel1.paintAll(this.sourceMainPanel1.getGraphics());
  4131.                         return;
  4132.                      }
  4133.  
  4134.                      if (var12.target.equals(this.searchButtons.button[0])) {
  4135.                         this.searchForText(this.searchFor.getText(), true);
  4136.                         this.searchForward = true;
  4137.                         return;
  4138.                      }
  4139.  
  4140.                      if (var12.target.equals(this.searchButtons.button[1])) {
  4141.                         this.searchForText(this.searchFor.getText(), false);
  4142.                         this.searchForward = false;
  4143.                         return;
  4144.                      }
  4145.  
  4146.                      if (this.dialogButtons != null && var12.target.equals(this.dialogButtons.button[0])) {
  4147.                         this.lastButton = "Define";
  4148.                         this.buttonPanel.setPressed(this.lastButton);
  4149.                         ((CardLayout)this.cardPanel.getLayout()).show(this.cardPanel, this.lastButton);
  4150.                         this.setRelatedComps(this.currentBranch);
  4151.                         this.messageDialog.dispose();
  4152.                         return;
  4153.                      }
  4154.  
  4155.                      if (this.dialogButtons != null && var12.target.equals(this.dialogButtons.button[1])) {
  4156.                         this.messageDialog.dispose();
  4157.                         return;
  4158.                      }
  4159.  
  4160.                      if (this.dialogOKButton != null && var12.target.equals(this.dialogOKButton)) {
  4161.                         this.messageDialog.dispose();
  4162.                         return;
  4163.                      }
  4164.  
  4165.                      return;
  4166.                   }
  4167.  
  4168.                   if (var21.equals("Final BuildJDP")) {
  4169.                      if (!this.saveApplication()) {
  4170.                         this.finalBuildRequested = true;
  4171.                         return;
  4172.                      }
  4173.                   } else if (var21.equals("Debug BuildJDP")) {
  4174.                      if (!this.saveApplication()) {
  4175.                         this.debugBuildRequested = true;
  4176.                         return;
  4177.                      }
  4178.                   } else if (!this.saveApplication()) {
  4179.                      this.prelimBuildRequested = true;
  4180.                      return;
  4181.                   }
  4182.  
  4183.                   this.buildApplication(var21.trim());
  4184.                   return;
  4185.                }
  4186.  
  4187.                this.saveSource(this.currentBranch, this.sourcePanel.getText());
  4188.                this.setSourceButton(var21);
  4189.                if (var21.equals("Complete")) {
  4190.                   ((CardLayout)this.methodsButtonPanel.getLayout()).show(this.methodsButtonPanel, "blank");
  4191.                   this.sButtonPanel.layout();
  4192.                   this.sButtonPanel.paintAll(this.sButtonPanel.getGraphics());
  4193.                   this.saveSource(this.compTree, this.gSource.buildSource(this.compTree));
  4194.                   this.sourcePanel2.setText(this.gSource.addLineNumbers(this.gSource.composeSource(this.compTree), 1));
  4195.                   return;
  4196.                }
  4197.  
  4198.                ((CardLayout)this.methodsButtonPanel.getLayout()).show(this.methodsButtonPanel, "methodsButton");
  4199.                this.sButtonPanel.layout();
  4200.                this.sButtonPanel.paintAll(this.sButtonPanel.getGraphics());
  4201.                return;
  4202.             }
  4203.  
  4204.             String var30 = "The current application has not been saved, press again to confirm New Application.";
  4205.             if ((!this.getAppChanged() || !super.user.mainmsg.getStatusMsg().equals(var30)) && this.getAppChanged()) {
  4206.                super.user.mainmsg.setStatusMsg(var30, 10);
  4207.                return;
  4208.             }
  4209.  
  4210.             this.popup.setMenuTree(this.popupNewMenu);
  4211.             this.popup.display(var12.x, var12.y);
  4212.             return;
  4213.          }
  4214.  
  4215.          if (var12.target instanceof JDPDragItem) {
  4216.             Rectangle var20 = this.dragPanel.getDragRectangle();
  4217.             Rectangle var29 = new Rectangle(var20.x, var20.y, var20.width, var20.height);
  4218.             var29.x -= this.selectTree.xOffset - this.selectTree.dragXoffset;
  4219.             var29.y -= this.selectTree.yOffset - this.selectTree.dragYoffset;
  4220.             JDPTreeBranch[] var5 = this.selectTree.getTreeBranch(var29);
  4221.             String var6 = (String)this.layoutTree.getDropKey(var29);
  4222.             Rectangle var7 = this.dragPanel.getDropRectangle();
  4223.             Component var8 = this.dragPanel.getDroppedComponent();
  4224.             JDPTreeBranch[] var9 = this.layoutTree.getTreeBranch(var7);
  4225.             this.saveBranchName = null;
  4226.             Object var10 = null;
  4227.             Object var11 = null;
  4228.             if (var5 == null) {
  4229.                var29 = new Rectangle(var20.x, var20.y, var20.width, var20.height);
  4230.                var29.x -= this.layoutTree.xOffset - this.layoutTree.dragXoffset;
  4231.                var29.y -= this.layoutTree.yOffset - this.layoutTree.dragYoffset;
  4232.                var5 = this.layoutTree.getTreeBranch(var29);
  4233.                if (var5 != null && var12.modifiers != 2) {
  4234.                   this.moveBranch(var5, var9);
  4235.                   this.reDraw();
  4236.                   return;
  4237.                }
  4238.             }
  4239.  
  4240.             if (var9 != null && var5 != null) {
  4241.                this.checkDragNDrop(var5, var9);
  4242.                this.reDraw();
  4243.             } else if (var5 != null && var8 != null) {
  4244.                var9 = this.layoutTree.getTreeBranch(var8);
  4245.                this.checkDragNDrop(var5, var9);
  4246.                this.reDraw();
  4247.             } else if (var5 != null) {
  4248.                var9 = this.selectTree.getTreeBranch(var7);
  4249.                if (var9 != null && (var5.length != var9.length || !var5[var5.length - 1].name.equals(var9[var9.length - 1].name))) {
  4250.                   this.moveComponent(var5, var9);
  4251.                }
  4252.             }
  4253.  
  4254.             if (var10 != null) {
  4255.                ((Container)var10).remove((Component)var11);
  4256.             }
  4257.  
  4258.             if (this.interactionMgr.methodTree.isShowing()) {
  4259.                var29.x -= this.interactionMgr.methodTree.xOffset - this.interactionMgr.methodTree.dragXoffset;
  4260.                var29.y -= this.interactionMgr.methodTree.yOffset - this.interactionMgr.methodTree.dragYoffset;
  4261.                var5 = this.interactionMgr.methodTree.getTreeBranch(var29);
  4262.                var6 = (String)this.interactionMgr.methodTree.getDropKey(var29);
  4263.                var9 = this.interactionMgr.eventTree.getTreeBranch(var7);
  4264.                this.interactionMgr.dragAndDrop(var6, var5, var9);
  4265.             }
  4266.  
  4267.             if (this.interactionMgr.methodPropertyTree.isShowing()) {
  4268.                var29.x -= this.interactionMgr.methodPropertyTree.xOffset - this.interactionMgr.methodPropertyTree.dragXoffset;
  4269.                var29.y -= this.interactionMgr.methodPropertyTree.yOffset - this.interactionMgr.methodPropertyTree.dragYoffset;
  4270.                var5 = this.interactionMgr.methodPropertyTree.getTreeBranch(var29);
  4271.                var6 = (String)this.interactionMgr.methodPropertyTree.getDropKey(var29);
  4272.                var9 = this.interactionMgr.parameterTree.getTreeBranch(var7);
  4273.                this.interactionMgr.dragAndDrop(var6, var5, var9);
  4274.             }
  4275.  
  4276.             return;
  4277.          }
  4278.  
  4279.          if (var12.target instanceof JDPPopupMenu) {
  4280.             String[] var16 = this.popup.getSelectedBranch();
  4281.             this.popup.hideMenu();
  4282.             if (var16[0].equals("New") || var16[0].equals("New Set Method") || var16[0].equals("New Get Method") || var16[0].equals("Remove") || var16[0].equals("Copy") || var16[0].equals("Create Accessors") || var16[0].equals("SQL Wizard")) {
  4283.                this.handleNonVisualPopupMenu(var16[0], this.mTree.getCurrentBranch());
  4284.                return;
  4285.             }
  4286.  
  4287.             if (var16[0].equals("New Visual App") || var16[0].equals("New Server Session Module") || var16[0].equals("New Server Entity Module") || var16[0].equals("New EJB Session Module") || var16[0].equals("New EJB Entity Module") || var16[0].equals("New Component Panel")) {
  4288.                super.user.mainmsg.clearStatusMsg();
  4289.                this.appName = "";
  4290.                this.lastBuiltAppName = "";
  4291.                this.titleFrame.setTitle("Application Builder");
  4292.                this.filePicker1.setSelectedFile("");
  4293.                this.filePicker2.setSelectedFile("");
  4294.                this.centerPanel.removeAll();
  4295.                this.dragPanel.removeAllComponents((Component)this);
  4296.                this.dragPanel.addDropComponent(this.centerPanel, (Container)this, "Components", "Drop here to add this component to this Panel");
  4297.                if (var16[0].equals("New Visual App")) {
  4298.                   this.appType = "VisualApp";
  4299.                   this.filePicker1.selectFilter("JDP Visual Applications");
  4300.                   this.filePicker2.selectFilter("JDP Visual Applications");
  4301.                } else {
  4302.                   this.appType = "NonVisualApp";
  4303.                   this.mTree.clear();
  4304.                   this.mTree.reDraw();
  4305.                   this.sLayout.setSourceItem((JDPSourceItem)null);
  4306.                   this.filePicker1.selectFilter("Java source files");
  4307.                   this.filePicker2.selectFilter("Java source files");
  4308.                   this.openTemplate(var16[0]);
  4309.                }
  4310.  
  4311.                this.leftCardPanel.setSelectedComp(this.appType);
  4312.                this.lView.resetComponentTree();
  4313.                super.user.saveProperties.clear();
  4314.                this.reDraw();
  4315.                this.setButton("Layout");
  4316.                this.saveSelections();
  4317.                this.removeDefinitionHandle((JDPTreeBranch)null);
  4318.                this.setAppChanged(false);
  4319.                this.compileErrors.hide();
  4320.                this.buttonPanel2.button[6].setPressed(false);
  4321.                ((Container)this).layout();
  4322.                ((Component)this).paintAll(((Component)this).getGraphics());
  4323.                return;
  4324.             }
  4325.  
  4326.             if (var16[0].equals("Open Visual App...") || var16[0].equals("Open Non Visual App...") && !this.demoMode) {
  4327.                if (var16[0].equals("Open Visual App...")) {
  4328.                   this.appType = "VisualApp";
  4329.                   this.filePicker1.setSelectedDirectory(this.lastOpenDir);
  4330.                   this.filePicker1.selectFilter("JDP Visual Applications");
  4331.                   this.filePicker2.selectFilter("JDP Visual Applications");
  4332.                } else {
  4333.                   this.appType = "NonVisualApp";
  4334.                   this.mTree.clear();
  4335.                   this.mTree.reDraw();
  4336.                   this.sLayout.setSourceItem((JDPSourceItem)null);
  4337.                   this.filePicker1.setSelectedDirectory(this.lastOpenDirNonVisual);
  4338.                   this.filePicker1.selectFilter("Java source files");
  4339.                   this.filePicker2.selectFilter("Java source files");
  4340.                }
  4341.  
  4342.                this.filePicker1.reloadSelectedDirectory();
  4343.                this.leftCardPanel.setSelectedComp(this.appType);
  4344.                super.user.mainmsg.clearStatusMsg();
  4345.                this.setButton("OpenJDP");
  4346.                this.compileErrors.hide();
  4347.                this.reDrawAll();
  4348.                this.buttonPanel2.button[6].setPressed(false);
  4349.                return;
  4350.             }
  4351.  
  4352.             if (var16[0].equals("Open Visual App") || var16[0].equals("Open Non Visual App")) {
  4353.                this.checkOpenLastApps(var16[0], var16[1]);
  4354.                return;
  4355.             }
  4356.  
  4357.             if (var16[0].equals("Save Application") && !this.demoMode) {
  4358.                this.saveApplication();
  4359.                return;
  4360.             }
  4361.  
  4362.             if (var16[0].equals("Save Application As...") && !this.demoMode) {
  4363.                this.setButton("SaveJDP");
  4364.                return;
  4365.             }
  4366.  
  4367.             if (var16[0].equals("Remove All Objects")) {
  4368.                this.centerPanel.removeAll();
  4369.                this.dragPanel.removeAllComponents((Component)this);
  4370.                this.dragPanel.addDropComponent(this.centerPanel, (Container)this, "Components", "Drop here to add this component to this Panel");
  4371.                this.removeDefinitionHandle((JDPTreeBranch)null);
  4372.                this.lView.resetComponentTree();
  4373.                this.reDraw();
  4374.                this.saveSelections();
  4375.                return;
  4376.             }
  4377.  
  4378.             if (var16[0].equals("Remove Objects")) {
  4379.                this.lView.removeSelectedBranch();
  4380.                this.saveSelections();
  4381.                return;
  4382.             }
  4383.  
  4384.             if (var16[0].equals("Remove Object")) {
  4385.                this.lView.removeSelectedLeaf();
  4386.                this.saveSelections();
  4387.                return;
  4388.             }
  4389.  
  4390.             if (var16[0].equals("Show Panel")) {
  4391.                JDPTreeBranch var28 = this.layoutTree.getCurrentBranch();
  4392.                if (var28.thisObject instanceof JDPCardPanel) {
  4393.                   ((JDPCardPanel)var28.thisObject).setSelectedComp(var16[1]);
  4394.                }
  4395.  
  4396.                return;
  4397.             }
  4398.  
  4399.             if (var16[0].equals("Show Dialog")) {
  4400.                JDPTreeBranch var27 = this.layoutTree.getCurrentBranch();
  4401.                if (var27.thisObject instanceof JDPMessageDialog) {
  4402.                   ((JDPMessageDialog)var27.thisObject).setButtonCount(Integer.parseInt(this.cMgr.getProperty("ButtonCount:")));
  4403.                   ((JDPMessageDialog)var27.thisObject).setMessage(this.cMgr.getProperty("Message:"));
  4404.                   ((JDPDialog)var27.thisObject).setTitle(this.cMgr.getProperty("Title:"));
  4405.                   ((JDPDialog)var27.thisObject).display();
  4406.                   return;
  4407.                }
  4408.  
  4409.                if (var27.thisObject instanceof JDPDialog) {
  4410.                   ((JDPDialog)var27.thisObject).display();
  4411.                   return;
  4412.                }
  4413.  
  4414.                if (var27.thisObject instanceof Dialog) {
  4415.                   ((Dialog)var27.thisObject).show();
  4416.                }
  4417.  
  4418.                return;
  4419.             }
  4420.  
  4421.             if (var16[0].equals("Refresh All")) {
  4422.                this.reLoadComponents(this.compTree);
  4423.                return;
  4424.             }
  4425.  
  4426.             if (var16[0].equals("Refresh")) {
  4427.                JDPTreeBranch[] var26 = this.lView.tree.getTreeBranch(this.lView.lastSelectedBranch);
  4428.                if (var26.length < 1) {
  4429.                   this.reLoadComponents(this.compTree);
  4430.                   return;
  4431.                }
  4432.  
  4433.                this.reLoadComponents(var26[var26.length - 1]);
  4434.                return;
  4435.             }
  4436.  
  4437.             if (var16[0].equals("Remove Method")) {
  4438.                this.interactionMgr.removeSelectedMethod();
  4439.                return;
  4440.             }
  4441.  
  4442.             if (var16[0].equals("Remove Parameter")) {
  4443.                this.interactionMgr.removeSelectedParameter();
  4444.                return;
  4445.             }
  4446.  
  4447.             if (var16[0].equals("Add New Group...") || var16[0].equals("Edit Group...") || var16[0].equals("Import Package...") || var16[0].equals("Import Jar File...") || var16[0].equals("Import Class...") || var16[0].equals("Edit...")) {
  4448.                this.loadComponentMaint();
  4449.                this.componentMaint.setMode(var16[0], this.cMgr.tree.getCurrentBranch());
  4450.                this.setButton("CMaint");
  4451.                return;
  4452.             }
  4453.  
  4454.             if (var16[0].equals("Remove Group")) {
  4455.                this.cMgr.tree.removeTreeBranch(this.cMgr.tree.getCurrentBranch());
  4456.                return;
  4457.             }
  4458.  
  4459.             if (var16[0].equals("Remove Object ")) {
  4460.                this.cMgr.tree.removeTreeBranch(this.cMgr.tree.getCurrentBranch());
  4461.                return;
  4462.             }
  4463.  
  4464.             if (var16[0].equals("Save") && !this.demoMode) {
  4465.                this.loadComponentMaint();
  4466.                this.saveTree(this.cMgr.tree.treeRoot, this.componentTreeFile);
  4467.                return;
  4468.             }
  4469.  
  4470.             if (var16[0].equals("Save As...") && !this.demoMode) {
  4471.                this.loadComponentMaint();
  4472.                this.setButton("CMaint");
  4473.                this.componentMaint.promptSaveTree();
  4474.                return;
  4475.             }
  4476.  
  4477.             if (var16[0].equals("Load...") && !this.demoMode) {
  4478.                this.loadComponentMaint();
  4479.                this.setButton("CMaint");
  4480.                this.componentMaint.promptLoadTree();
  4481.                return;
  4482.             }
  4483.  
  4484.             if (var16[0].equals("Layout")) {
  4485.                this.sLayout.setPanelPosition(var16[1], var16[2]);
  4486.                return;
  4487.             }
  4488.          }
  4489.  
  4490.          if (var12.target instanceof JDPTreePicker && var12.target.equals(this.mTree)) {
  4491.             JDPSourceItem var19 = this.mTree.getSelectedSourceItem();
  4492.             if (var19 != null) {
  4493.                this.sLayout.setSourceItem(var19);
  4494.             }
  4495.  
  4496.             JDPTreeBranch var25 = this.mTree.getCurrentBranch();
  4497.             if (this.lastSelectedmTree != null && var25.equals(this.lastSelectedmTree)) {
  4498.                this.loadNonVisualPopupMenu(var25);
  4499.                this.sLayout.loadPopupMenu(this.popup);
  4500.                this.popup.display(var12.x, var12.y);
  4501.             }
  4502.  
  4503.             this.lastSelectedmTree = var25;
  4504.             return;
  4505.          }
  4506.  
  4507.          if (var12.target.equals(this.filePicker1)) {
  4508.             String var18 = (String)var12.arg;
  4509.             this.setButton("Layout");
  4510.             this.setAppChanged(false);
  4511.             if (!var18.equals("Cancel")) {
  4512.                if (this.appType.equals("VisualApp")) {
  4513.                   this.appName = this.filePicker1.getSelectedFile();
  4514.                   int var23 = this.appName.lastIndexOf(".");
  4515.                   this.appName = this.appName.substring(0, var23);
  4516.                   super.user.saveProperties.load(this.filePicker1.getSelectedFullPath());
  4517.                   this.checkAppSize(super.user.saveProperties.getFileSize());
  4518.                   this.restoreSelections();
  4519.                   this.lastOpenDir = this.filePicker1.getSelectedDirectory();
  4520.                } else {
  4521.                   this.appName = this.filePicker1.getSelectedFile();
  4522.                   int var24 = this.appName.lastIndexOf(".");
  4523.                   this.appName = this.appName.substring(0, var24);
  4524.                   super.user.mainmsg.setStatusMsg("Loading...", 0);
  4525.                   this.sLayout.setSourceFile(this.filePicker1.getSelectedFullPath(), this.mTree);
  4526.                   this.eventVector.addElement("ArchiveApp");
  4527.                   (new Thread(this)).start();
  4528.                   this.lastOpenDirNonVisual = this.filePicker1.getSelectedDirectory();
  4529.                }
  4530.  
  4531.                this.filePicker2.setSelectedDirectory(this.filePicker1.getSelectedDirectory());
  4532.                this.filePicker2.setSelectedFile(this.filePicker1.getSelectedFile());
  4533.                this.addToLastApps(this.filePicker1.getSelectedFile(), this.filePicker1.getSelectedDirectory());
  4534.                this.titleFrame.setTitle("Application Builder - " + this.appName);
  4535.                this.lastBuiltAppName = this.appName;
  4536.             }
  4537.  
  4538.             return;
  4539.          }
  4540.  
  4541.          if (var12.target.equals(this.filePicker2)) {
  4542.             String var17 = (String)var12.arg;
  4543.             this.setButton("Layout");
  4544.             if (!var17.equals("Cancel")) {
  4545.                this.saveApplication();
  4546.                String var22 = super.user.mainmsg.getStatusMsg();
  4547.                this.filePicker2.reloadSelectedDirectory();
  4548.                super.user.mainmsg.setStatusMsg(var22, 30);
  4549.                if (this.appType.equals("VisualApp")) {
  4550.                   this.lastSaveDir = this.filePicker2.getSelectedDirectory();
  4551.                } else {
  4552.                   this.lastSaveDirNonVisual = this.filePicker2.getSelectedDirectory();
  4553.                }
  4554.             }
  4555.  
  4556.             this.finalBuildRequested = false;
  4557.             this.debugBuildRequested = false;
  4558.             this.prelimBuildRequested = false;
  4559.             return;
  4560.          }
  4561.  
  4562.          if (var12.target.equals(this.interactionMgr.sourceEditorList)) {
  4563.             this.interactionMgr.replaceSelectedText(this.sourcePanel, this.interactionMgr.sourceEditorList.getSelectedItem());
  4564.             return;
  4565.          }
  4566.       }
  4567.  
  4568.    }
  4569.  
  4570.    void loadComponentMaint() {
  4571.       if (this.componentMaint == null) {
  4572.          if (super.user.jdpMainWindow != null) {
  4573.             super.user.jdpMainWindow.setCursor(3);
  4574.          }
  4575.  
  4576.          super.user.mainmsg.setStatusMsg("Loading component manager...", 0);
  4577.          this.componentMaint = new JDPComponentMaint();
  4578.          this.componentMaint.InitClass(super.user, this, "");
  4579.          this.cardPanel.add("CMaint", this.componentMaint);
  4580.          super.user.mainmsg.clearStatusMsg();
  4581.          if (super.user.jdpMainWindow != null) {
  4582.             super.user.jdpMainWindow.setCursor(0);
  4583.          }
  4584.       }
  4585.  
  4586.    }
  4587.  
  4588.    void moveComponent(JDPTreeBranch[] var1, JDPTreeBranch[] var2) {
  4589.       JDPTreeBranch var3 = var1[var1.length - 1];
  4590.       JDPTreeBranch var4 = var2[var2.length - 1];
  4591.       this.selectTree.removeBranch(this.selectTree.getTreeBranchNames(var3));
  4592.       var4.leaves.addElement(var3);
  4593.       this.cMgr.tree.reDraw();
  4594.    }
  4595.  
  4596.    String checkIfInstanceOrHiddenRequired(String var1) {
  4597.       JDPMessageDialog var2 = new JDPMessageDialog(super.user, this);
  4598.       ((Dialog)var2).setTitle("Create instance or access class on JDP menu?");
  4599.       var2.setMessage("Choose whether you would like to create an Instance of this|Object or access an instance of it that resides on another|menu tab at run time. If you would like the menu option to|automatically load if not already loaded choose AutoLoad.");
  4600.       var2.setButtonCount(3);
  4601.       var2.setButtonText(0, "Instance");
  4602.       var2.setButtonIcon(0, 36);
  4603.       var2.setButtonText(1, "Menu Access");
  4604.       var2.setButtonIcon(1, 25);
  4605.       var2.setButtonText(2, "AutoLoad Menu");
  4606.       var2.setButtonIcon(2, 25);
  4607.       ((JDPDialog)var2).display();
  4608.       if (var2.getPressedButton() == 1) {
  4609.          return "MenuAccess";
  4610.       } else {
  4611.          return var2.getPressedButton() == 2 ? "MenuAutoLoad" : var1;
  4612.       }
  4613.    }
  4614.  
  4615.    JDPTreeBranch loadPopupMenu4CardPanel(JDPTreeBranch var1) {
  4616.       this.popup.clear();
  4617.       this.popup.addEntry("Refresh");
  4618.       this.popup.addEntry("Refresh All");
  4619.       String[] var2 = new String[]{"Show Panel", ""};
  4620.       JDPCardPanel var3 = (JDPCardPanel)var1.thisObject;
  4621.       String[] var4 = var3.getCompNames();
  4622.  
  4623.       for(int var5 = 0; var5 < var4.length; ++var5) {
  4624.          var2[1] = var4[var5];
  4625.          this.popup.addEntry(var2);
  4626.       }
  4627.  
  4628.       this.popup.addEntry("SQL Wizard");
  4629.       this.popup.addEntry("");
  4630.       this.popup.addEntry("Remove Object");
  4631.       this.popup.addEntry("Remove Objects");
  4632.       return this.popup.getMenuTree();
  4633.    }
  4634.  
  4635.    void openTemplate(String var1) {
  4636.       String var2 = "";
  4637.       if (var1.equals("New Server Session Module")) {
  4638.          var2 = "JDPSessionTemplate.java";
  4639.       } else if (var1.equals("New Server Entity Module")) {
  4640.          var2 = "JDPEntityTemplate.java";
  4641.       } else if (var1.equals("New EJB Session Module")) {
  4642.          var2 = "EJBSessionTemplate.java";
  4643.       } else if (var1.equals("New EJB Entity Module")) {
  4644.          var2 = "EJBEntityTemplate.java";
  4645.       } else if (var1.equals("New Component Panel")) {
  4646.          var2 = "JDPComponentTemplate.java";
  4647.       }
  4648.  
  4649.       var2 = super.user.JDesignerPro.JDPDirectory + "Applications" + JDesignerPro.serverSeparator + "Layouts" + JDesignerPro.serverSeparator + var2;
  4650.       super.user.mainmsg.setStatusMsg("Loading...", 0);
  4651.       this.sLayout.setSourceFile(var2, this.mTree);
  4652.       this.lastBuiltAppName = this.appName;
  4653.    }
  4654.  
  4655.    void loadErrorComponent() {
  4656.       JDPList var1 = this.compileErrors;
  4657.       Object var2 = null;
  4658.       int var3 = ((JDPTreePicker)var1).getSelectedIndex();
  4659.       int var4 = -1;
  4660.       int var5 = -1;
  4661.       int var6 = -1;
  4662.       int var7 = -1;
  4663.  
  4664.       for(var11 = var1.getItem(var3); var11.indexOf(".java") < 0 && var3 > 0; var11 = var1.getItem(var3)) {
  4665.          --var3;
  4666.       }
  4667.  
  4668.       if (var11.indexOf(".java") < 0) {
  4669.          super.user.mainmsg.setStatusMsg("Could not determine the line number of this error.", 15);
  4670.       } else {
  4671.          var6 = var11.indexOf("(");
  4672.          if (var6 < 0 || var11.indexOf(":") < var6) {
  4673.             var6 = var11.indexOf(":");
  4674.          }
  4675.  
  4676.          if (var6 >= 0) {
  4677.             var7 = var11.indexOf(")", var6 + 1);
  4678.             if (var7 < 0 || var11.indexOf(":", var6 + 1) < var7) {
  4679.                var7 = var11.indexOf(":", var6 + 1);
  4680.             }
  4681.          }
  4682.  
  4683.          if (var6 >= 0 && (var11.substring(0, var6).indexOf(this.javaSourceName) >= 0 || var11.substring(0, var6).indexOf("Prelim") >= 0)) {
  4684.             StringTokenizer var8 = new StringTokenizer(var11.substring(var6, var7), "(,):");
  4685.             String var9 = "";
  4686.             if (var8.hasMoreTokens()) {
  4687.                var9 = var8.nextToken();
  4688.             }
  4689.  
  4690.             try {
  4691.                var4 = Integer.parseInt(var9);
  4692.                var9 = var8.nextToken();
  4693.                var5 = Integer.parseInt(var9);
  4694.             } catch (Exception var10) {
  4695.             }
  4696.  
  4697.             if (var4 < 0) {
  4698.                super.user.mainmsg.setStatusMsg("Could not determine the line number of this error.", 15);
  4699.             } else {
  4700.                this.loadVisualErrorComponent(var4, var11);
  4701.             }
  4702.          } else {
  4703.             super.user.mainmsg.setStatusMsg("This error is in another component and cannot be accessed from here", 15);
  4704.          }
  4705.       }
  4706.    }
  4707.  
  4708.    boolean checkIfSaveRequired() {
  4709.       JDPMessageDialog var1 = new JDPMessageDialog(super.user, this);
  4710.       ((Dialog)var1).setModal(true);
  4711.       if (this.appName.equals("")) {
  4712.          ((Dialog)var1).setTitle("Save application?");
  4713.       } else {
  4714.          ((Dialog)var1).setTitle("Save changes to " + this.appName + "?");
  4715.       }
  4716.  
  4717.       var1.setMessage("The current application has not yet been saved.|Press Save to save it or Cancel to exit.");
  4718.       var1.setButtonCount(2);
  4719.       var1.setButtonText(0, "Save");
  4720.       var1.setButtonIcon(0, 0);
  4721.       var1.setButtonText(1, "Cancel");
  4722.       var1.setButtonIcon(1, 8);
  4723.       ((JDPDialog)var1).display();
  4724.       if (var1.getPressedButton() == 0) {
  4725.          if (this.appName.equals("")) {
  4726.             this.setButton("SaveJDP");
  4727.             this.shutdownInProgress = true;
  4728.             return false;
  4729.          } else {
  4730.             this.saveApplication();
  4731.             return true;
  4732.          }
  4733.       } else {
  4734.          return true;
  4735.       }
  4736.    }
  4737.  
  4738.    boolean checkOpenLastApps(String var1, String var2) {
  4739.       boolean var3 = false;
  4740.       String[] var4 = new String[0];
  4741.  
  4742.       for(int var5 = 0; var5 < this.last20Apps.size(); ++var5) {
  4743.          var4 = (String[])this.last20Apps.elementAt(var5);
  4744.          if (var1.equals("Open Visual App")) {
  4745.             if (var4[0].equals(var2 + ".jdp")) {
  4746.                this.appType = "VisualApp";
  4747.                this.filePicker1.selectFilter("JDP Visual Applications");
  4748.                this.filePicker2.selectFilter("JDP Visual Applications");
  4749.                var3 = true;
  4750.                break;
  4751.             }
  4752.          } else if (var4[0].equals(var2 + ".java")) {
  4753.             this.appType = "NonVisualApp";
  4754.             this.filePicker1.selectFilter("Java source files");
  4755.             this.filePicker2.selectFilter("Java source files");
  4756.             this.mTree.clear();
  4757.             this.sLayout.setSourceItem((JDPSourceItem)null);
  4758.             var3 = true;
  4759.             break;
  4760.          }
  4761.       }
  4762.  
  4763.       if (var3) {
  4764.          this.compileErrors.hide();
  4765.          this.reDrawAll();
  4766.          this.buttonPanel2.button[6].setPressed(false);
  4767.          this.leftCardPanel.setSelectedComp(this.appType);
  4768.          this.filePicker1.setSelectedFile(var4[0]);
  4769.          this.filePicker1.setSelectedDirectory(var4[1]);
  4770.          this.appName = this.filePicker1.getSelectedFile();
  4771.          int var6 = this.appName.lastIndexOf(".");
  4772.          this.appName = this.appName.substring(0, var6);
  4773.          this.setButton("Layout");
  4774.          this.setAppChanged(false);
  4775.          if (var4[0].endsWith(".jdp")) {
  4776.             super.user.saveProperties.load(this.filePicker1.getSelectedFullPath());
  4777.             this.checkAppSize(super.user.saveProperties.getFileSize());
  4778.             this.restoreSelections();
  4779.          } else {
  4780.             super.user.mainmsg.setStatusMsg("Loading...", 0);
  4781.             this.sLayout.setSourceFile(this.filePicker1.getSelectedFullPath(), this.mTree);
  4782.             this.eventVector.addElement("ArchiveApp");
  4783.             (new Thread(this)).start();
  4784.          }
  4785.  
  4786.          this.filePicker2.setSelectedDirectory(this.filePicker1.getSelectedDirectory());
  4787.          this.filePicker2.setSelectedFile(this.filePicker1.getSelectedFile());
  4788.          this.titleFrame.setTitle("Application Builder - " + this.appName);
  4789.          this.lastBuiltAppName = this.appName;
  4790.          this.addToLastApps(var4[0], var4[1]);
  4791.          return true;
  4792.       } else {
  4793.          return false;
  4794.       }
  4795.    }
  4796.  
  4797.    public void InitClass(JDPUser var1, Panel var2, String var3) {
  4798.       super.user = var1;
  4799.       this.targetPanel = var2;
  4800.       if (var1.jdpMainWindow != null) {
  4801.          var1.jdpMainWindow.setCursor(3);
  4802.       }
  4803.  
  4804.       if (var1.saveProperties == null) {
  4805.          var1.saveProperties = new JDPSaveProps(var1);
  4806.       }
  4807.  
  4808.       if (var3.equals("Demo")) {
  4809.          this.demoMode = true;
  4810.          var3 = "";
  4811.       }
  4812.  
  4813.       if (var1.JDesignerPro.versionnum < 2.0F) {
  4814.          var1.mainmsg.setStatusMsg("This module will only run with JDP 2.0 or greater.", 30);
  4815.       } else {
  4816.          this.eventVector = new Vector();
  4817.          ((Container)this).setLayout(new BorderLayout());
  4818.          ((Component)this).setFont(var1.plainFont);
  4819.          this.popuppanel = new JDPPopupMessage(var1, var2);
  4820.          ((Container)var2).add(this.popuppanel);
  4821.          this.dragPanel = new JDPDragItem(var1, this);
  4822.          ((Container)var2).add(this.dragPanel);
  4823.          this.mainPanel = new JDPSplitPanel(var1, 1, 1);
  4824.          this.mainPanel.setLeftPercentage(25.0F);
  4825.          this.popup = new JDPPopupMenu(var1, this);
  4826.          ((Container)var2).add(this.popup);
  4827.          this.createPopupMenus();
  4828.          Panel var4 = new Panel();
  4829.          ((Container)var4).setLayout(new BorderLayout());
  4830.          this.leftPanel = new JDPSplitPanel(var1, 1, 1);
  4831.          this.leftCardPanel = new JDPCardPanel();
  4832.          this.centerPanel = new Panel();
  4833.          this.centerPanel.setLayout(new BorderLayout());
  4834.          this.definePanel = new Panel();
  4835.          this.definePanel.setLayout(new CardLayout());
  4836.          this.definePanel.add("blank", new Panel());
  4837.          this.sourcePanel = new TextArea();
  4838.          this.sourcePanel2 = new TextArea();
  4839.          this.compileErrors = new JDPList(var1);
  4840.          this.sourcePanel.setFont(new Font("Courier", 0, 12));
  4841.          this.sourcePanel2.setFont(new Font("Courier", 0, 12));
  4842.          this.sourcePanel2.setEditable(false);
  4843.          this.sourcePanel2.setBackground(Color.white);
  4844.          this.compileErrors.setFont(new Font("Courier", 0, 12));
  4845.          this.compileErrors.setMinHeight(140);
  4846.          this.compileErrors.hide();
  4847.          this.searchFor = new TextField("", 20);
  4848.          Panel var5 = new Panel();
  4849.          ((Container)var5).setLayout(new BorderLayout());
  4850.          this.sourceMainPanel = new Panel();
  4851.          this.sourceMainPanel.setLayout(new CardLayout());
  4852.          this.sourceMainPanel1 = new JDPSplitPanel(var1, 1, 1);
  4853.          this.sourcePanelFrame = new JDPSplitPanel(var1, 1, 1);
  4854.          this.sourcePanelFrame.add("Left", this.sourcePanel);
  4855.          this.sourcePanelFrame.setLeftPercentage(85.0F);
  4856.          this.sourceMainPanel1.add("South", this.sourcePanelFrame);
  4857.          this.sourceMainPanel1.setTopPercentage(14.0F);
  4858.          Panel var6 = new Panel();
  4859.          ((Container)var6).setLayout(new BorderLayout());
  4860.          ((Container)var6).add("Center", this.sourcePanel2);
  4861.          this.sourceMainPanel.add("Object", this.sourceMainPanel1);
  4862.          this.sourceMainPanel.add("Complete", var6);
  4863.          this.interactionMgr = new JDPInteractionMgr();
  4864.          this.interactionMgr.InitClass(var1, this, var3);
  4865.          this.apiHelp = new JDPBrowserCtl();
  4866.          this.apiHelp.InitClass(var1, var2, "Docs/JDPApi/tree.html");
  4867.          this.layoutHelp = new JDPHelpBrowser();
  4868.          this.layoutHelp.InitClass(var1, var2, "Docs/JDPAppBuilder.htm");
  4869.          this.instanceMgr = new JDPInstanceMgr();
  4870.          this.instanceMgr.InitClass(var1, this, var3);
  4871.          this.definePanel.add("instanceMgr", this.instanceMgr);
  4872.          this.filePicker1 = new JDPFilePicker();
  4873.          this.filePicker1.setDragPanel(this.dragPanel);
  4874.          this.filePicker1.InitClass(var1, this, "");
  4875.          this.filePicker1.addFilter("JDP Visual Applications", "*.jdp");
  4876.          this.filePicker1.addFilter("Java source files", "*.java");
  4877.          this.filePicker1.setMode(0);
  4878.          this.filePicker1.setMultipleSelections(false);
  4879.          JDPChiselFramePanel var7 = new JDPChiselFramePanel(var1, "Select an Application to load", this.filePicker1, "North");
  4880.          this.filePicker2 = new JDPFilePicker();
  4881.          this.filePicker2.InitClass(var1, this, "");
  4882.          this.filePicker2.addFilter("JDP Visual Applications", "*.jdp");
  4883.          this.filePicker2.addFilter("Java source files", "*.java");
  4884.          this.filePicker2.setMode(1);
  4885.          this.filePicker2.setMultipleSelections(false);
  4886.          JDPChiselFramePanel var8 = new JDPChiselFramePanel(var1, "Select the name and location to save the Application", this.filePicker2, "North");
  4887.          String[] var9 = new String[]{"New Method", "Remove Method"};
  4888.          int[] var10 = new int[]{9, 8};
  4889.          this.sourceButtonPanel = new JDPButtons(var1, var10, var9, JDPButtons.HORIZONTAL);
  4890.          this.popuppanel.addComponent(this.sourceButtonPanel.button[0], "New Method", "Create a new method for this object");
  4891.          this.popuppanel.addComponent(this.sourceButtonPanel.button[1], "Remove Method", "Remove the selected method from this object");
  4892.          this.sourceSelect = new JDPList(var1);
  4893.          this.sourceSelect.setMinHeight(84);
  4894.          this.sourceMainPanel1.add("North", this.sourceSelect);
  4895.          this.methodsButton = new JDPButton(43, "Display Methods", 0);
  4896.          this.popuppanel.addComponent(this.methodsButton, "Display/Hide Source Helper", "Display/Hide the source helper");
  4897.          this.methodsButton.setStayOn(true);
  4898.          this.methodsButton.setPressed(true);
  4899.          Panel var11 = new Panel();
  4900.          ((Container)var11).setLayout(new JDPLineLayout());
  4901.          this.methodsButtonPanel = new Panel();
  4902.          this.methodsButtonPanel.setLayout(new CardLayout());
  4903.          this.methodsButtonPanel.add("methodsButton", this.methodsButton);
  4904.          this.methodsButtonPanel.add("blank", new Panel());
  4905.          this.currentLine = new JDPSpinner(var1, "0", 5);
  4906.          this.currentLine.setMinValue(0);
  4907.          this.currentLine.setMaxValue(999999);
  4908.          Panel var12 = new Panel();
  4909.          ((Container)var12).setLayout(new JDPLineLayout());
  4910.          ((Container)var12).add("Left", new Label("Search:", 2));
  4911.          ((Container)var12).add("Left", this.searchFor);
  4912.          ((Container)var11).add("Left", var12);
  4913.          ((Container)var11).add("Left", new Panel());
  4914.          ((Container)var11).add("Left", new Label("Line:", 0));
  4915.          ((Container)var11).add("Left", this.currentLine);
  4916.          this.popuppanel.addComponent(this.searchFor, "Search", "Search for the text in the currently displayed source");
  4917.          String[] var13 = new String[]{"SearchFwd", "SearchBack"};
  4918.          int[] var14 = new int[]{48, 49};
  4919.          this.searchButtons = new JDPButtons(var1, var14, var13, JDPButtons.getAlignmentValue("Horizontal"));
  4920.          this.popuppanel.addComponent(this.searchButtons.button[0], "Search Forward", "Search for the text in the currently displayed source");
  4921.          this.popuppanel.addComponent(this.searchButtons.button[1], "Search Backward", "Search backwards for the text in the currently displayed source");
  4922.          ((Container)var12).add("Left", this.searchButtons);
  4923.          String[] var15 = new String[]{"Object", "Complete"};
  4924.          int[] var16 = new int[]{34, 42};
  4925.          this.buttonPanel1 = new JDPButtons(var1, var16, var15, JDPButtons.HORIZONTAL);
  4926.          this.buttonPanel1.setStayOn(true);
  4927.          this.popuppanel.addComponent(this.buttonPanel1.button[0], "Object Source", "View/Edit the source for the selected Object");
  4928.          this.popuppanel.addComponent(this.buttonPanel1.button[1], "Complete Source", "View the complete source for this Module");
  4929.          Panel var17 = new Panel();
  4930.          ((Container)var17).setLayout(new JDPLineLayout());
  4931.          ((Container)var17).add("Left", this.methodsButtonPanel);
  4932.          ((Container)var17).add("Left", new Label("      ", 0));
  4933.          ((Container)var17).add("Left", this.buttonPanel1);
  4934.          this.sButtonPanel = new Panel();
  4935.          this.sButtonPanel.setLayout(new BorderLayout());
  4936.          this.sButtonPanel.add("West", this.sourceButtonPanel);
  4937.          this.sButtonPanel.add("Center", var11);
  4938.          this.sButtonPanel.add("East", var17);
  4939.          ((Container)var5).add("Center", this.sourceMainPanel);
  4940.          ((Container)var5).add("South", this.sButtonPanel);
  4941.          this.cardPanel = new Panel();
  4942.          this.cardPanel.setLayout(new CardLayout());
  4943.          this.cardPanel.add("Layout", this.centerPanel);
  4944.          this.cardPanel.add("Define", this.definePanel);
  4945.          this.cardPanel.add("Source", var5);
  4946.          this.cardPanel.add("Events", this.interactionMgr);
  4947.          this.cardPanel.add("APIDocs", this.apiHelp);
  4948.          this.cardPanel.add("Help", this.layoutHelp);
  4949.          this.cardPanel.add("OpenJDP", var7);
  4950.          this.cardPanel.add("SaveJDP", var8);
  4951.          this.cardPanel.add("Blank", new Panel());
  4952.          this.cardMainPanel = new JDPSplitPanel(var1, 1, 1);
  4953.          this.mainPanel.add("Left", var4);
  4954.          this.mainPanel.add("Right", this.cardMainPanel);
  4955.          this.cardMainPanel.setTopPercentage(80.0F);
  4956.          this.cardMainPanel.add("Left", this.cardPanel);
  4957.          this.cardMainPanel.add("Left", this.compileErrors);
  4958.          this.titleFrame = new JDPChiselFramePanel(var1, "Application Builder", this.mainPanel, "North");
  4959.          ((Container)this).add("Center", this.titleFrame);
  4960.          this.gSource = new JDPGenerateSource();
  4961.          this.gSource.InitClass(var1, this, var3);
  4962.          this.cMgr = new JDPComponentMgr();
  4963.          this.cMgr.InitClass(var1, this, var3);
  4964.          this.selectTree = this.cMgr.tree;
  4965.          this.lView = new JDPLayoutView();
  4966.          this.lView.InitClass(var1, this, var3);
  4967.          this.layoutTree = this.lView.tree;
  4968.          this.mTree = new JDPMethodTree(var1);
  4969.          JDPChiselFramePanel var18 = new JDPChiselFramePanel(var1, "Class View", this.mTree, "North");
  4970.          this.sLayout = new JDPSourceLayout();
  4971.          this.sLayout.InitClass(var1, var2, var3);
  4972.          this.sLayout.setInteractionMgr(this.interactionMgr);
  4973.          this.cardPanel.add("NonVisualApp", this.sLayout);
  4974.          this.sqlWizard = new JDPSQLWizard();
  4975.          this.sqlWizard.InitClass(var1, var2, "JDPLayoutMgr:SQL");
  4976.          this.sqlWizard.setLayoutMgr(this);
  4977.          this.sqlWizard.setInteractionMgr(this.interactionMgr);
  4978.          this.cardPanel.add("SQLWizard", this.sqlWizard);
  4979.          String[] var19 = new String[]{"Layout", "Define", "Events", "Source", "APIDocs", "Help"};
  4980.          int[] var20 = new int[]{39, 36, 40, 34, 38, 37};
  4981.          this.buttonPanel = new JDPButtons(var1, var20, var19, JDPButtons.HORIZONTAL);
  4982.          this.buttonPanel.setStayOn(true);
  4983.          this.popuppanel.addComponent(this.buttonPanel.button[0], "Screen Layout", "Display the screen layout panel");
  4984.          this.popuppanel.addComponent(this.buttonPanel.button[1], "Instance Manager/Data Wizard", "Define the instance for complex objects");
  4985.          this.popuppanel.addComponent(this.buttonPanel.button[2], "Interaction Manager", "Define actions to be performed when an event occurs on the selected component");
  4986.          this.popuppanel.addComponent(this.buttonPanel.button[3], "Display/Edit Source", "Display/Edit the source for the selected object");
  4987.          this.popuppanel.addComponent(this.buttonPanel.button[4], "API Documentation", "Display the Java API documentation");
  4988.          this.popuppanel.addComponent(this.buttonPanel.button[5], "Display Help", "Display the help text for the Layout Manager");
  4989.          String[] var21 = new String[]{"NewJDP", "OpenJDP", "SaveJDP", "BuildJDP", "Debug BuildJDP", "Final BuildJDP", "Compile"};
  4990.          int[] var22 = new int[]{9, 1, 0, 2, 46, 3, 41};
  4991.          this.buttonPanel2 = new JDPButtons(var1, var22, var21, JDPButtons.HORIZONTAL);
  4992.          this.buttonPanel2.disable();
  4993.          this.popuppanel.addComponent(this.buttonPanel2.button[0], "", "Create a new Application");
  4994.          this.popuppanel.addComponent(this.buttonPanel2.button[1], "", "Open an Application");
  4995.          this.popuppanel.addComponent(this.buttonPanel2.button[2], "", "Save the Application");
  4996.          this.popuppanel.addComponent(this.buttonPanel2.button[3], "Run a Preliminary Build", "Generate a preliminary Build. This is used to avoid the problem of instances being cached.");
  4997.          this.popuppanel.addComponent(this.buttonPanel2.button[4], "Build for Debug", "Generate a build containing debug information that can be used by the debugger.");
  4998.          this.popuppanel.addComponent(this.buttonPanel2.button[5], "Final Build", "Run a final Build if the preliminary build is complete and requires no more changes");
  4999.          this.popuppanel.addComponent(this.buttonPanel2.button[6], "Compile Results", "View the compile results");
  5000.          if (this.demoMode) {
  5001.             this.buttonPanel2.button[1].disable();
  5002.             this.buttonPanel2.button[2].disable();
  5003.             this.buttonPanel2.button[3].disable();
  5004.             this.buttonPanel2.button[4].disable();
  5005.             this.buttonPanel2.button[5].disable();
  5006.          }
  5007.  
  5008.          this.buttonPanel2.button[6].setStayOn(true);
  5009.          this.leftCardPanel.add("VisualApp", this.leftPanel);
  5010.          this.leftCardPanel.add("NonVisualApp", var18);
  5011.          ((Container)var4).add("Center", this.leftCardPanel);
  5012.          ((Container)var4).add("North", this.buttonPanel2);
  5013.          Panel var23 = new Panel();
  5014.          ((Container)var23).setLayout(new BorderLayout());
  5015.          ((Container)var23).add("Center", this.lView);
  5016.          Panel var24 = new Panel();
  5017.          ((Container)var24).setLayout(new BorderLayout());
  5018.          ((Container)var24).add("Center", this.cMgr);
  5019.          ((Container)var24).add("South", this.buttonPanel);
  5020.          this.leftPanel.add("Left", var24);
  5021.          this.leftPanel.add("Left", var23);
  5022.          this.cbgroup = new CheckboxGroup[100];
  5023.  
  5024.          for(int var25 = 0; var25 < this.cbgroup.length; ++var25) {
  5025.             this.cbgroup[var25] = new CheckboxGroup();
  5026.          }
  5027.  
  5028.          this.dragPanel.addDropComponent(this.centerPanel, (Container)this, "Components", "Drop here to add this component to this Panel");
  5029.          this.leftMarginWidth = (int)((double)((Component)var2).bounds().width / (double)4.5F);
  5030.          this.cMgr.tree.setMinWidth(this.leftMarginWidth);
  5031.          this.lView.tree.setMinWidth(this.leftMarginWidth);
  5032.          var1.gParm.addElement(this);
  5033.          this.loadDeveloperPreferences();
  5034.          ((Container)var2).add("Center", this);
  5035.          ((Component)var2).paintAll(((Component)var2).getGraphics());
  5036.          this.restoreSelections();
  5037.       }
  5038.    }
  5039.  
  5040.    void addToLastApps(String var1, String var2) {
  5041.       String[] var3 = new String[]{var1, var2};
  5042.       this.last20Apps.insertElementAt(var3, 0);
  5043.  
  5044.       for(int var4 = 1; var4 < this.last20Apps.size(); ++var4) {
  5045.          var3 = (String[])this.last20Apps.elementAt(var4);
  5046.          if (var3[0].equals(var1) && var3[1].equals(var2)) {
  5047.             this.last20Apps.removeElementAt(var4);
  5048.             --var4;
  5049.          }
  5050.       }
  5051.  
  5052.       while(this.last20Apps.size() > 20) {
  5053.          this.last20Apps.removeElementAt(20);
  5054.       }
  5055.  
  5056.    }
  5057. }
  5058.