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

  1. import java.awt.BorderLayout;
  2. import java.awt.Button;
  3. import java.awt.Component;
  4. import java.awt.Container;
  5. import java.awt.Event;
  6. import java.awt.Label;
  7. import java.awt.Panel;
  8. import java.awt.TextField;
  9. import java.util.Vector;
  10.  
  11. public class JDPSearchLayout extends JDPClassLayout {
  12.    JDPSelectDSN targetDSN;
  13.    JDPSelectTable targetTable;
  14.    JDPSelectColumns target;
  15.    JDPPopupMessage popuppanel;
  16.    JDPChoiceLayout thisChoicePanel;
  17.    JDPLayoutMgr targetLayoutMgr;
  18.    JDPList columns;
  19.    TextField pchoosefrom;
  20.    JDPComboBox useconstant;
  21.    JDPComboBox pinitchoice;
  22.    Label listCount;
  23.    String fromWhereClause;
  24.    String[] pchooseFrom;
  25.    String[] pactualchooseFrom;
  26.    int[] constantLength;
  27.    boolean[] constantIsString;
  28.    String pinitChoice = "";
  29.    int[] odbcType;
  30.    Vector gParmObject;
  31.    int currentSelection = -1;
  32.    JDPTabSelectPanel tabPanel;
  33.    String[] pchooseFr;
  34.    String[] pactualchooseFr;
  35.    Vector pmatchUsing;
  36.    Vector pactualmatchUsing;
  37.    int[] pchooseFromindex;
  38.    int[] constantL;
  39.    boolean[] constantIS;
  40.  
  41.    void updateArrays() {
  42.       if (this.currentSelection >= 0) {
  43.          this.pchooseFrom[this.currentSelection] = this.pchoosefrom.getText();
  44.          this.thisChoicePanel.updateArrays(this.currentSelection);
  45.          if (this.useconstant.getSelectedItem().compareTo("No") == 0) {
  46.             this.constantLength[this.currentSelection] = 0;
  47.          } else {
  48.             this.constantLength[this.currentSelection] = Integer.parseInt(this.target.columnLength[this.currentSelection]) + 2;
  49.          }
  50.       }
  51.    }
  52.  
  53.    void clearList() {
  54.       this.columns.clear();
  55.    }
  56.  
  57.    void loadList() {
  58.       this.clearList();
  59.       if (this.target != null && this.target.columnName != null && this.target.columns.getSelectedIndexes().length != 0) {
  60.          String[] var1 = this.target.columns.getSelectedItems();
  61.          int[] var2 = this.target.columns.getSelectedIndexes();
  62.          int var3 = var1.length;
  63.          this.listCount.setText(Integer.toString(var3));
  64.          this.pchooseFrom = new String[var3];
  65.          this.pactualchooseFrom = new String[var3];
  66.          this.constantLength = new int[var3];
  67.          this.constantIsString = new boolean[var3];
  68.          this.odbcType = new int[var3];
  69.          this.thisChoicePanel.initList(var3);
  70.  
  71.          for(int var4 = 0; var4 < var1.length; ++var4) {
  72.             this.thisChoicePanel.loadList(var4);
  73.             this.pchooseFrom[var4] = super.user.u.makeLabel(var1[var4]);
  74.             if (var2[var4] >= 0 && var2[var4] < this.target.columnDatatype.length) {
  75.                int var5 = this.target.columnDatatype[var2[var4]];
  76.                this.odbcType[var4] = var5;
  77.                this.pactualchooseFrom[var4] = var1[var4];
  78.                this.pactualchooseFrom[var4] = JDPUtils.sqlConvert(var1[var4], var5, this.targetDSN.dsnType);
  79.                if (JDPUtils.isOdbcChar(var5)) {
  80.                   this.thisChoicePanel.textChoiceValue[var4][0] = "Begins with";
  81.                   this.thisChoicePanel.textChoiceValue[var4][1] = "Contains";
  82.                   this.thisChoicePanel.textChoiceValue[var4][2] = "";
  83.                   this.thisChoicePanel.actualChoiceValue[var4][0] = "like";
  84.                   this.thisChoicePanel.actualChoiceValue[var4][1] = "like";
  85.                   this.thisChoicePanel.actualChoiceValue[var4][2] = "";
  86.                   this.constantIsString[var4] = true;
  87.                } else if (JDPUtils.isOdbcDate(var5)) {
  88.                   this.thisChoicePanel.textChoiceValue[var4][0] = "Equal to";
  89.                   this.thisChoicePanel.textChoiceValue[var4][1] = "Greater than";
  90.                   this.thisChoicePanel.textChoiceValue[var4][2] = "Less than";
  91.                   this.thisChoicePanel.actualChoiceValue[var4][0] = "=";
  92.                   this.thisChoicePanel.actualChoiceValue[var4][1] = ">";
  93.                   this.thisChoicePanel.actualChoiceValue[var4][2] = "<";
  94.                   this.constantIsString[var4] = true;
  95.                } else {
  96.                   this.thisChoicePanel.textChoiceValue[var4][0] = "Greater than";
  97.                   this.thisChoicePanel.textChoiceValue[var4][1] = "Less than";
  98.                   this.thisChoicePanel.textChoiceValue[var4][2] = "Equal to";
  99.                   this.thisChoicePanel.actualChoiceValue[var4][0] = ">";
  100.                   this.thisChoicePanel.actualChoiceValue[var4][1] = "<";
  101.                   this.thisChoicePanel.actualChoiceValue[var4][2] = "=";
  102.                   this.constantIsString[var4] = false;
  103.                }
  104.  
  105.                for(int var6 = 3; var6 < JDPChoiceLayout.maxChoices; ++var6) {
  106.                   this.thisChoicePanel.textChoiceValue[var4][var6] = "";
  107.                   this.thisChoicePanel.actualChoiceValue[var4][var6] = "";
  108.                }
  109.  
  110.                this.constantLength[var4] = Integer.parseInt(this.target.columnLength[var2[var4]]) + 2;
  111.                this.columns.addItem(var1[var4], 8);
  112.             }
  113.          }
  114.  
  115.          this.thisChoicePanel.loadTableList();
  116.       }
  117.    }
  118.  
  119.    boolean restoreSelections() {
  120.       JDPSaveProps var1 = super.user.saveProperties;
  121.       if (super.user.prevProperties != null) {
  122.          var1 = super.user.prevProperties;
  123.       }
  124.  
  125.       String var2 = "JDPSearchLayout" + super.componentName;
  126.       var1.restoreObject(this.columns, var2, "columns");
  127.       if (this.pchooseFrom == null) {
  128.          this.pchooseFrom = new String[1];
  129.       }
  130.  
  131.       if (this.pactualchooseFrom == null) {
  132.          this.pactualchooseFrom = new String[1];
  133.       }
  134.  
  135.       if (this.constantLength == null) {
  136.          this.constantLength = new int[1];
  137.       }
  138.  
  139.       if (this.constantIsString == null) {
  140.          this.constantIsString = new boolean[1];
  141.       }
  142.  
  143.       String[] var3 = (String[])var1.restoreObject(this.pchooseFrom, var2, "pchooseFrom");
  144.       String[] var4 = (String[])var1.restoreObject(this.pactualchooseFrom, var2, "pactualchooseFrom");
  145.       int[] var5 = (int[])var1.restoreObject(this.constantLength, var2, "constantLength");
  146.       boolean[] var6 = (boolean[])var1.restoreObject(this.constantIsString, var2, "constantIsString");
  147.       if (var3 != null) {
  148.          if (this.pchooseFrom.length < var3.length) {
  149.             this.pchooseFrom = new String[var3.length];
  150.          }
  151.  
  152.          if (this.pactualchooseFrom.length < var4.length) {
  153.             this.pactualchooseFrom = new String[var4.length];
  154.          }
  155.  
  156.          if (this.constantLength.length < var5.length) {
  157.             this.constantLength = new int[var5.length];
  158.          }
  159.  
  160.          if (this.constantIsString.length < var6.length) {
  161.             this.constantIsString = new boolean[var6.length];
  162.          }
  163.  
  164.          for(int var7 = 0; var7 < var3.length; ++var7) {
  165.             this.pchooseFrom[var7] = var3[var7];
  166.             this.pactualchooseFrom[var7] = var4[var7];
  167.             this.constantLength[var7] = var5[var7];
  168.             this.constantIsString[var7] = var6[var7];
  169.          }
  170.       }
  171.  
  172.       this.pinitChoice = (String)var1.restoreObject(this.pinitChoice, var2, "pinitChoice");
  173.       this.thisChoicePanel.setComponentName(super.componentName);
  174.       this.thisChoicePanel.restoreSelections();
  175.       return true;
  176.    }
  177.  
  178.    void clearFields() {
  179.       this.pchoosefrom.setText("");
  180.       this.useconstant.select("Yes");
  181.       this.pinitchoice.select("No");
  182.       this.pinitChoice = "";
  183.       this.thisChoicePanel.clearFields();
  184.    }
  185.  
  186.    void loadLayoutComponent() {
  187.       this.pchooseFromindex = this.columns.getSelectedIndexes();
  188.       if (this.targetLayoutMgr != null && this.pchooseFromindex.length > 0) {
  189.          Container var1 = null;
  190.          if (super.thisBranch.thisObject instanceof Component) {
  191.             var1 = ((Component)super.thisBranch.thisObject).getParent();
  192.             var1.remove((Component)super.thisBranch.thisObject);
  193.          }
  194.  
  195.          JDPJagg var2 = new JDPJagg(super.user.jaggPath);
  196.          var2.loadSettings(this.targetDSN);
  197.          var2.setMRW("100");
  198.          JDPLoadChoice var3 = new JDPLoadChoice(super.user, var2, (Object)null, "", "", "", "", -1);
  199.          this.pchooseFr = new String[this.pchooseFromindex.length];
  200.          this.pactualchooseFr = new String[this.pchooseFromindex.length];
  201.          this.constantL = new int[this.pchooseFromindex.length];
  202.          this.constantIS = new boolean[this.pchooseFromindex.length];
  203.  
  204.          for(int var4 = 0; var4 < this.pchooseFr.length; ++var4) {
  205.             this.pchooseFr[var4] = this.pchooseFrom[this.pchooseFromindex[var4]];
  206.             this.pactualchooseFr[var4] = this.pactualchooseFrom[this.pchooseFromindex[var4]];
  207.             this.constantL[var4] = this.constantLength[this.pchooseFromindex[var4]];
  208.             this.constantIS[var4] = this.constantIsString[this.pchooseFromindex[var4]];
  209.          }
  210.  
  211.          this.pmatchUsing = new Vector();
  212.          this.pactualmatchUsing = new Vector();
  213.          int var15 = 0;
  214.  
  215.          for(int var5 = 0; var5 < this.pchooseFromindex.length; ++var5) {
  216.             if (!this.thisChoicePanel.textChoiceValue[this.pchooseFromindex[var5]][0].equals("") || !this.thisChoicePanel.textChoiceValue[this.pchooseFromindex[var5]][1].equals("")) {
  217.                this.pmatchUsing.addElement(new Vector());
  218.                this.pactualmatchUsing.addElement(new Vector());
  219.             }
  220.  
  221.             if (this.thisChoicePanel.valuesFrom[this.pchooseFromindex[var5]].equals("Fields entered here")) {
  222.                for(int var6 = 0; var6 < this.thisChoicePanel.textChoiceValue[this.pchooseFromindex[var5]].length; ++var6) {
  223.                   if (this.thisChoicePanel.textChoiceValue[this.pchooseFromindex[var5]][var6] != null && !this.thisChoicePanel.textChoiceValue[this.pchooseFromindex[var5]][var6].equals("")) {
  224.                      if (var15 == this.pmatchUsing.size()) {
  225.                         this.pmatchUsing.addElement(new Vector());
  226.                         this.pactualmatchUsing.addElement(new Vector());
  227.                      }
  228.  
  229.                      ((Vector)this.pmatchUsing.elementAt(var15)).addElement(this.thisChoicePanel.textChoiceValue[this.pchooseFromindex[var5]][var6]);
  230.                      ((Vector)this.pactualmatchUsing.elementAt(var15)).addElement(this.thisChoicePanel.actualChoiceValue[this.pchooseFromindex[var5]][var6]);
  231.                   }
  232.                }
  233.             } else {
  234.                var3.loadChoice((Vector)this.pmatchUsing.elementAt(var15), this.thisChoicePanel.textChoiceSql[this.pchooseFromindex[var5]], this.thisChoicePanel.columnActualList[this.pchooseFromindex[var5]], this.thisChoicePanel.tableList[this.pchooseFromindex[var5]], this.thisChoicePanel.tableWhereClause[this.pchooseFromindex[var5]], (Vector)this.pactualmatchUsing.elementAt(var15), 12);
  235.             }
  236.  
  237.             ++var15;
  238.          }
  239.  
  240.          String var16 = "";
  241.  
  242.          for(int var17 = 0; var17 < this.pactualchooseFr.length; ++var17) {
  243.             var16 = var16 + this.pactualchooseFr[var17] + " ";
  244.          }
  245.  
  246.          this.fromWhereClause = "FROM ";
  247.          String var18 = null;
  248.          String var7 = "";
  249.  
  250.          for(int var8 = 0; var8 < this.targetTable.joinConditions.countItems(); ++var8) {
  251.             if (this.targetTable.joinConditions.getItem(var8).indexOf("*=") > 0) {
  252.                var18 = "left";
  253.                var7 = this.targetTable.joinConditions.getItem(var8);
  254.             }
  255.  
  256.             if (this.targetTable.joinConditions.getItem(var8).indexOf("=*") > 0) {
  257.                var18 = "right";
  258.                var7 = this.targetTable.joinConditions.getItem(var8);
  259.             }
  260.          }
  261.  
  262.          String var19 = "";
  263.          String var9 = "";
  264.          int[] var10 = this.targetTable.stables.getSelectedIndexes();
  265.          boolean var11 = true;
  266.          var19 = var19 + this.targetTable.tables.getSelectedItem();
  267.          if (var10.length > 0) {
  268.             var19 = var19 + " a";
  269.          }
  270.  
  271.          if (this.targetDSN.dsnType.compareTo(JDPJagg.MSSQLSERVER) == 0) {
  272.             var19 = var19 + " (NOLOCK)";
  273.          }
  274.  
  275.          var11 = false;
  276.  
  277.          for(int var12 = 0; var12 < var10.length; ++var12) {
  278.             if (var18 == null) {
  279.                var9 = var9 + ",";
  280.             }
  281.  
  282.             var9 = var9 + this.targetTable.stables.getItem(var10[var12]);
  283.             var9 = var9 + " " + this.targetTable.stableAlias[var10[var12]];
  284.             if (this.targetDSN.dsnType.compareTo(JDPJagg.MSSQLSERVER) == 0) {
  285.                var9 = var9 + " (NOLOCK)";
  286.             }
  287.  
  288.             var11 = false;
  289.          }
  290.  
  291.          StringBuffer var24 = new StringBuffer();
  292.          if (var18 == null) {
  293.             var24.append(var19);
  294.             var24.append(var9);
  295.          } else if (var18.equals("left")) {
  296.             var24.append("{oj ");
  297.             var24.append(var19);
  298.             var24.append(" LEFT OUTER JOIN ");
  299.             var24.append(var9);
  300.             var24.append(" ON ");
  301.             var24.append(super.user.u.replace(var7, "*", ""));
  302.             var24.append("}");
  303.          } else if (var18.equals("right")) {
  304.             var24.append("{oj ");
  305.             var24.append(var9);
  306.             var24.append(" LEFT OUTER JOIN ");
  307.             var24.append(var19);
  308.             var24.append(" ON ");
  309.             var24.append(super.user.u.replace(var7, "*", ""));
  310.             var24.append("}");
  311.          }
  312.  
  313.          String var10001 = this.fromWhereClause;
  314.          this.fromWhereClause = var10001 + var24.toString();
  315.          var10001 = this.fromWhereClause;
  316.          this.fromWhereClause = var10001 + " WHERE ";
  317.          if (this.targetTable.joinConditions.countItems() != 0) {
  318.             for(int var13 = 0; var13 < this.targetTable.joinConditions.countItems(); ++var13) {
  319.                if (!this.targetTable.joinConditions.getItem(var13).equals(var7)) {
  320.                   String var14 = this.targetTable.joinConditions.getItem(var13);
  321.                   var14.substring(2).indexOf(".");
  322.                   var10001 = this.fromWhereClause;
  323.                   this.fromWhereClause = var10001 + var14 + " AND ";
  324.                }
  325.             }
  326.          }
  327.  
  328.          var10001 = this.fromWhereClause;
  329.          this.fromWhereClause = var10001 + "(1=1)";
  330.          super.thisBranch.thisObject = new JDPWhereClause(super.user, super.targetPanel, "", true, this.pinitChoice, this.pchooseFr, this.pactualchooseFr, this.pmatchUsing, this.pactualmatchUsing, (String[][])null, (String[][])null, this.constantL, this.constantIS, this.fromWhereClause);
  331.          var1.add(super.thisBranch.compPosition, (Component)super.thisBranch.thisObject);
  332.          if (!this.targetLayoutMgr.projectLoading) {
  333.             this.targetLayoutMgr.gSource.constructMethod(super.thisBranch, "Main");
  334.             this.targetLayoutMgr.setButton("Layout");
  335.             this.targetLayoutMgr.reDraw();
  336.          }
  337.  
  338.          this.targetLayoutMgr.cMgr.updateProperties(0);
  339.       }
  340.  
  341.    }
  342.  
  343.    boolean saveSelections() {
  344.       JDPSaveProps var1 = super.user.saveProperties;
  345.       String var2 = "JDPSearchLayout" + super.componentName;
  346.       var1.saveObject(this.columns, var2, "columns");
  347.       var1.saveObject(this.pchooseFrom, var2, "pchooseFrom");
  348.       var1.saveObject(this.pactualchooseFrom, var2, "pactualchooseFrom");
  349.       var1.saveObject(this.pinitChoice, var2, "pinitChoice");
  350.       var1.saveObject(this.constantLength, var2, "constantLength");
  351.       var1.saveObject(this.constantIsString, var2, "constantIsString");
  352.       this.thisChoicePanel.setComponentName(super.componentName);
  353.       this.thisChoicePanel.saveSelections();
  354.       return true;
  355.    }
  356.  
  357.    void refresh() {
  358.       this.clearFields();
  359.       this.currentSelection = -1;
  360.       this.thisChoicePanel.currentSelection = -1;
  361.       this.retrieveColumns();
  362.       this.loadList();
  363.       this.restoreSelections();
  364.    }
  365.  
  366.    void retrieveColumns() {
  367.       for(int var1 = 0; var1 < super.user.gParm.size(); ++var1) {
  368.          if (super.user.gParm.elementAt(var1) instanceof Vector) {
  369.             Vector var2 = (Vector)super.user.gParm.elementAt(var1);
  370.             if (((String)var2.elementAt(0)).compareTo("SelectDSN" + super.componentName) == 0) {
  371.                this.targetDSN = (JDPSelectDSN)var2.elementAt(3);
  372.             }
  373.  
  374.             if (((String)var2.elementAt(0)).compareTo("SelectTable" + super.componentName) == 0) {
  375.                this.targetTable = (JDPSelectTable)var2.elementAt(1);
  376.             }
  377.  
  378.             if (((String)var2.elementAt(0)).compareTo("SelectColumns" + super.componentName) == 0) {
  379.                this.target = (JDPSelectColumns)var2.elementAt(1);
  380.             }
  381.          }
  382.  
  383.          if (super.user.gParm.elementAt(var1) instanceof JDPLayoutMgr && !super.componentName.equals("")) {
  384.             this.targetLayoutMgr = (JDPLayoutMgr)super.user.gParm.elementAt(var1);
  385.          }
  386.       }
  387.  
  388.       this.thisChoicePanel.retrieveColumns();
  389.    }
  390.  
  391.    public boolean handleEvent(Event var1) {
  392.       switch (var1.id) {
  393.          case 401:
  394.             if (var1.key == 9) {
  395.                if (var1.target.equals(this.pchoosefrom)) {
  396.                   super.user.u.cursor(this.useconstant);
  397.                   return true;
  398.                }
  399.  
  400.                if (var1.target.equals(this.useconstant)) {
  401.                   super.user.u.cursor(this.pinitchoice);
  402.                   return true;
  403.                }
  404.  
  405.                if (var1.target.equals(this.pinitchoice)) {
  406.                   super.user.u.cursor(this.pchoosefrom);
  407.                   return true;
  408.                }
  409.  
  410.                return true;
  411.             }
  412.  
  413.             return false;
  414.          case 503:
  415.          case 504:
  416.          case 505:
  417.             this.popuppanel.postEvent(var1);
  418.             return false;
  419.          case 701:
  420.             if (var1.target instanceof JDPList) {
  421.                this.updateArrays();
  422.                int var4 = (Integer)var1.arg;
  423.                this.loadItem(var4);
  424.                this.currentSelection = var4;
  425.                this.thisChoicePanel.currentSelection = var4;
  426.                return true;
  427.             }
  428.  
  429.             return false;
  430.          case 1001:
  431.             if (var1.target instanceof TextField) {
  432.                return true;
  433.             } else if (var1.target instanceof JDPComboBox) {
  434.                if (var1.target.equals(this.thisChoicePanel.valuesfrom)) {
  435.                   if (this.thisChoicePanel.valuesfrom.getSelectedIndex() == 1) {
  436.                      this.constantLength[this.currentSelection] = 0;
  437.                      this.useconstant.select("No");
  438.                      this.useconstant.disable();
  439.                   } else {
  440.                      this.constantLength[this.currentSelection] = Integer.parseInt(this.target.columnLength[this.currentSelection]) + 2;
  441.                      this.useconstant.select("Yes");
  442.                      this.useconstant.enable();
  443.                   }
  444.  
  445.                   return true;
  446.                } else if (var1.target.equals(this.useconstant)) {
  447.                   if (this.useconstant.getSelectedItem().compareTo("No") == 0) {
  448.                      this.constantLength[this.currentSelection] = 0;
  449.                   } else {
  450.                      this.constantLength[this.currentSelection] = Integer.parseInt(this.target.columnLength[this.currentSelection]) + 2;
  451.                   }
  452.  
  453.                   return true;
  454.                } else if (var1.target.equals(this.pinitchoice)) {
  455.                   if (this.pinitchoice.getSelectedItem().compareTo("Yes") == 0) {
  456.                      this.pinitChoice = this.pchoosefrom.getText();
  457.                   } else {
  458.                      this.pinitChoice = "";
  459.                   }
  460.  
  461.                   return true;
  462.                } else {
  463.                   return false;
  464.                }
  465.             } else {
  466.                if (var1.target instanceof Button) {
  467.                   String var2 = (String)var1.arg;
  468.                   if (var2.trim().compareTo("Accept") == 0) {
  469.                      this.updateArrays();
  470.                      this.saveSelections();
  471.                      super.user.mainmsg.setStatusMsg("Selections accepted.", 10);
  472.                      if (super.componentName.equals("")) {
  473.                         super.user.jdpMenuPanel.loadNextTab();
  474.                      } else {
  475.                         this.tabPanel = JDPUtils.getTabPanel(this);
  476.                         if (this.tabPanel != null) {
  477.                            int var5 = this.tabPanel.getSelectedIndex();
  478.                            this.tabPanel.loadNextTab();
  479.                            if (var5 == this.tabPanel.getSelectedIndex()) {
  480.                               this.loadLayoutComponent();
  481.                            }
  482.                         }
  483.                      }
  484.  
  485.                      return true;
  486.                   }
  487.  
  488.                   if (var2.trim().compareTo("Reset") == 0) {
  489.                      for(int var3 = 0; var3 < this.columns.countItems(); ++var3) {
  490.                         this.columns.deselect(var3);
  491.                      }
  492.  
  493.                      return true;
  494.                   }
  495.                }
  496.  
  497.                return true;
  498.             }
  499.          default:
  500.             return false;
  501.       }
  502.    }
  503.  
  504.    boolean removeSelections() {
  505.       JDPSaveProps var1 = super.user.saveProperties;
  506.       String var2 = "JDPSearchLayout" + super.componentName;
  507.       var1.removeObject(this.columns, var2, "columns");
  508.       var1.removeObject(this.pchooseFrom, var2, "pchooseFrom");
  509.       var1.removeObject(this.pactualchooseFrom, var2, "pactualchooseFrom");
  510.       var1.removeObject(this.pinitChoice, var2, "pinitChoice");
  511.       var1.removeObject(this.constantLength, var2, "constantLength");
  512.       var1.removeObject(this.constantIsString, var2, "constantIsString");
  513.       this.thisChoicePanel.setComponentName(super.componentName);
  514.       this.thisChoicePanel.removeSelections();
  515.       return true;
  516.    }
  517.  
  518.    void loadItem(int var1) {
  519.       this.pchoosefrom.setText(this.pchooseFrom[var1]);
  520.       if (this.constantLength[var1] > 0) {
  521.          this.useconstant.select("Yes");
  522.       } else {
  523.          this.useconstant.select("No");
  524.       }
  525.  
  526.       if (this.pinitChoice.compareTo(this.pchooseFrom[var1]) == 0) {
  527.          this.pinitchoice.select("Yes");
  528.       } else {
  529.          this.pinitchoice.select("No");
  530.       }
  531.  
  532.       this.thisChoicePanel.loadItem(var1);
  533.       if (this.thisChoicePanel.valuesfrom.getSelectedIndex() == 1) {
  534.          this.useconstant.select("No");
  535.          this.useconstant.disable();
  536.          this.constantLength[var1] = 0;
  537.       } else {
  538.          this.useconstant.enable();
  539.       }
  540.    }
  541.  
  542.    public void InitClass(JDPUser var1, Panel var2, String var3) {
  543.       super.user = var1;
  544.       super.moduleName = "SearchLayout";
  545.       if (var3.startsWith("JDPLayoutMgr:")) {
  546.          super.componentName = var3.substring(13);
  547.       }
  548.  
  549.       ((Container)this).setLayout(new BorderLayout());
  550.       ((Component)this).setFont(var1.plainFont);
  551.       this.popuppanel = new JDPPopupMessage(var1, var2);
  552.       ((Container)var2).add(this.popuppanel);
  553.       Panel var4 = new Panel();
  554.       ((Container)var4).setLayout(new BorderLayout());
  555.       Panel var5 = new Panel();
  556.       ((Container)var5).setLayout(new BorderLayout());
  557.       Panel var6 = new Panel();
  558.       ((Container)var6).setLayout(new BorderLayout());
  559.       JDPScrollPanel var7 = new JDPScrollPanel();
  560.       this.pchoosefrom = new TextField("", 15);
  561.       this.useconstant = new JDPComboBox(var1, "", 5);
  562.       this.useconstant.setEditable(false);
  563.       this.useconstant.addItem("Yes");
  564.       this.useconstant.addItem("No");
  565.       this.pinitchoice = new JDPComboBox(var1, "", 5);
  566.       this.pinitchoice.setEditable(false);
  567.       this.pinitchoice.addItem("Yes");
  568.       this.pinitchoice.addItem("No");
  569.       ((Container)var7).add("Left", new JDPWrapLabel(var1, "Description in pulldown:"));
  570.       ((Container)var7).add("Right", this.pchoosefrom);
  571.       ((Container)var7).add("Left", new JDPWrapLabel(var1, "Constant entry required:"));
  572.       ((Container)var7).add("Right", this.useconstant);
  573.       ((Container)var7).add("Left", new JDPWrapLabel(var1, "Make this the initial choice:"));
  574.       ((Container)var7).add("Right", this.pinitchoice);
  575.       this.thisChoicePanel = new JDPChoiceLayout();
  576.       String var8 = var3;
  577.       if (super.thisBranch.compType.startsWith("JDPWiz")) {
  578.          var8 = var3 + ":SL1";
  579.       }
  580.  
  581.       this.thisChoicePanel.InitClass(var1, var2, var8);
  582.       ((Container)var6).add("North", var7);
  583.       ((Container)var6).add("Center", this.thisChoicePanel);
  584.       String[] var9 = new String[]{"Accept", "Reset"};
  585.       int[] var10 = new int[]{5, 6};
  586.       JDPButtons var11 = new JDPButtons(var1, var9, var10, JDPButtons.HORIZONTAL);
  587.       ((Container)var6).add("South", var11);
  588.       this.popuppanel.addComponent(var11.button[0], "Accept Selections", "Accept selections and proceed to next screen");
  589.       this.popuppanel.addComponent(var11.button[1], "Reset Selections", "Reset selections back to default settings");
  590.       ((Container)var4).add("Center", var6);
  591.       this.columns = new JDPList(var1);
  592.       this.columns.setSelectionsCheckboxes(true);
  593.       this.columns.allowMultipleSelections(true);
  594.       this.columns.setMinWidth(160);
  595.       Panel var12 = new Panel();
  596.       ((Container)var12).setLayout(new BorderLayout());
  597.       ((Container)var12).add("Center", this.columns);
  598.       ((Container)var4).add("West", var12);
  599.       Panel var13 = new Panel();
  600.       ((Container)var13).setLayout(new BorderLayout(1, 1));
  601.       ((Container)var13).add("West", new Label("Columns:", 0));
  602.       this.listCount = new Label("0      ", 0);
  603.       Panel var14 = new Panel();
  604.       ((Container)var14).setLayout(new BorderLayout(1, 1));
  605.       ((Container)var14).add("West", this.listCount);
  606.       ((Container)var14).add("Center", new Label(" ", 0));
  607.       ((Container)var13).add("Center", var14);
  608.       ((Container)var12).add("North", var13);
  609.       ((Container)this).add("Center", new JDPChiselFramePanel(var1, "Select the columns by which you would like to search your database", var4, "North"));
  610.       this.gParmObject = new Vector();
  611.       this.gParmObject.addElement(super.moduleName + super.componentName);
  612.       this.gParmObject.addElement(this);
  613.       var1.gParm.addElement(this.gParmObject);
  614.       ((Component)var2).paintAll(((Component)var2).getGraphics());
  615.    }
  616. }
  617.