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

  1. import java.awt.BorderLayout;
  2. import java.awt.Button;
  3. import java.awt.Color;
  4. import java.awt.Component;
  5. import java.awt.Container;
  6. import java.awt.Event;
  7. import java.awt.Font;
  8. import java.awt.List;
  9. import java.awt.Panel;
  10. import java.util.Date;
  11. import java.util.StringTokenizer;
  12. import java.util.Vector;
  13.  
  14. public class JDPGridLayout extends JDPClassLayout {
  15.    Panel targetPanel;
  16.    String moduleParameter;
  17.    JDPSelectDSN targetDSN;
  18.    JDPSelectTable targetTable;
  19.    JDPSelectColumns targetColumns;
  20.    JDPSelectReportDef targetDefinition;
  21.    JDPGridSettings targetSettings;
  22.    JDPLayoutMgr targetLayoutMgr;
  23.    JDPPopupMessage popuppanel;
  24.    JDPMaskEdit JDPMaskEditMain;
  25.    JDPTextGrid tableContents;
  26.    Vector indexes;
  27.    String[] maskEdit;
  28.    String[] maskType;
  29.    JDPJagg jaggSQL;
  30.    String prevSQL = "";
  31.    Vector gParmObject;
  32.    int[] dataType;
  33.    int columnCount;
  34.    JDPTabSelectPanel tabPanel;
  35.  
  36.    void loadChoices() {
  37.       this.jaggSQL.loadSettings(this.targetTable.targetDSN);
  38.       this.tableContents.fieldTypeCol = new int[this.columnCount];
  39.       this.tableContents.isPullDownCol = new boolean[this.columnCount];
  40.       this.tableContents.pullDownColType = new int[this.columnCount];
  41.       this.tableContents.pullDownList = new List[this.columnCount][1];
  42.       int var1 = 0;
  43.  
  44.       for(int var2 = 0; var2 < this.targetSettings.fieldType.length; ++var2) {
  45.          if (this.targetSettings.fieldActive[var2]) {
  46.             this.tableContents.fieldTypeCol[var1] = 0;
  47.             if (!this.targetSettings.fieldType[var2].equals("JDPChoice") && !this.targetSettings.fieldType[var2].equals("JDPComboBox")) {
  48.                if (this.targetSettings.fieldType[var2].equals("Checkbox")) {
  49.                   this.tableContents.setFieldTypeCol(var1, 3);
  50.                } else if (this.targetSettings.fieldType[var2].equals("JDPSpinner")) {
  51.                   this.tableContents.setFieldTypeCol(var1, 2);
  52.                } else if (this.targetSettings.fieldType[var2].equals("JDPDate")) {
  53.                   this.tableContents.setFieldTypeCol(var1, 1);
  54.                   this.tableContents.isPullDownCol[var1] = true;
  55.                   this.tableContents.pullDownList[var1][0] = null;
  56.                   this.tableContents.pullDownColType[var1] = 1;
  57.                }
  58.             } else {
  59.                this.tableContents.setFieldTypeCol(var1, 1);
  60.                this.tableContents.isPullDownCol[var1] = true;
  61.                this.tableContents.pullDownList[var1][0] = new List();
  62.                this.tableContents.pullDownColType[var1] = 0;
  63.                if (this.targetSettings.thisChoicePanel.valuesFrom[var2].equals("Fields entered here")) {
  64.                   for(int var3 = 0; var3 < JDPChoiceLayout.maxChoices; ++var3) {
  65.                      if (this.targetSettings.thisChoicePanel.textChoiceValue[var2][var3] != null && this.targetSettings.thisChoicePanel.textChoiceValue[var2][var3].trim().length() > 0) {
  66.                         this.tableContents.pullDownList[var1][0].addItem(this.targetSettings.thisChoicePanel.textChoiceValue[var2][var3]);
  67.                      }
  68.                   }
  69.                }
  70.  
  71.                if (this.targetSettings.thisChoicePanel.valuesFrom[var2].equals("Database table/columns")) {
  72.                   new JDPLoadChoice(super.user, this.jaggSQL, this.tableContents.pullDownList[var1][0], this.targetSettings.thisChoicePanel.textChoiceSql[var2], this.targetSettings.thisChoicePanel.columnActualList[var2], this.targetSettings.thisChoicePanel.tableList[var2], this.targetSettings.thisChoicePanel.tableWhereClause[var2], (Vector)null);
  73.                }
  74.             }
  75.  
  76.             ++var1;
  77.          }
  78.       }
  79.  
  80.    }
  81.  
  82.    boolean restoreSelections() {
  83.       JDPSaveProps var1 = super.user.saveProperties;
  84.       if (super.user.prevProperties != null) {
  85.          var1 = super.user.prevProperties;
  86.       }
  87.  
  88.       String var2 = "JDPGridLayout" + super.componentName;
  89.       int[] var3 = new int[0];
  90.       int[] var4 = new int[0];
  91.       var3 = (int[])var1.restoreObject(var3, var2, "columnWidth");
  92.       var4 = (int[])var1.restoreObject(var4, var2, "columnOrder");
  93.       boolean var5 = false;
  94.  
  95.       for(int var6 = 0; var6 < var3.length; ++var6) {
  96.          if (var3[var6] != 100) {
  97.             var5 = true;
  98.             break;
  99.          }
  100.       }
  101.  
  102.       if (var3 != null && var5) {
  103.          for(int var9 = 0; var9 < var3.length; ++var9) {
  104.             if (this.tableContents.columnWidth.length > var9) {
  105.                this.tableContents.columnWidth[var9] = var3[var9];
  106.                this.tableContents.columnOrder[var9] = var4[var9];
  107.             }
  108.          }
  109.       }
  110.  
  111.       this.tableContents.newTable();
  112.       return true;
  113.    }
  114.  
  115.    void loadLayoutComponent() {
  116.       this.refresh();
  117.       if (this.targetLayoutMgr != null) {
  118.          this.targetLayoutMgr.gSource.targetGenerator.setHandle(this);
  119.       }
  120.  
  121.    }
  122.  
  123.    String setModuleParameter(String var1) {
  124.       int var2 = var1.indexOf("JDPLayoutMgr:");
  125.       if (var2 >= 0) {
  126.          super.componentName = var1.substring(var2 + 13);
  127.          if (super.componentName.endsWith("GL1")) {
  128.             super.componentName = super.componentName.substring(0, super.componentName.length() - 3);
  129.          }
  130.  
  131.          if (var2 > 0) {
  132.             this.moduleParameter = var1.substring(0, var2);
  133.          } else if (super.componentName.startsWith("Report")) {
  134.             this.moduleParameter = "Report";
  135.          } else {
  136.             this.moduleParameter = "";
  137.          }
  138.  
  139.          var1 = this.moduleParameter;
  140.       }
  141.  
  142.       return var1;
  143.    }
  144.  
  145.    boolean saveSelections() {
  146.       JDPSaveProps var1 = super.user.saveProperties;
  147.       String var2 = "JDPGridLayout" + super.componentName;
  148.       var1.saveObject(this.tableContents.columnWidth, var2, "columnWidth");
  149.       var1.saveObject(this.tableContents.columnOrder, var2, "columnOrder");
  150.       return true;
  151.    }
  152.  
  153.    void refresh() {
  154.       this.prevSQL = "";
  155.       this.retrieveColumns();
  156.       this.loadGrid();
  157.       this.restoreSelections();
  158.    }
  159.  
  160.    void retrieveColumns() {
  161.       for(int var1 = 0; var1 < super.user.gParm.size(); ++var1) {
  162.          if (super.user.gParm.elementAt(var1) instanceof Vector) {
  163.             Vector var2 = (Vector)super.user.gParm.elementAt(var1);
  164.             if (((String)var2.elementAt(0)).compareTo("SelectDSN" + super.componentName) == 0) {
  165.                this.targetDSN = (JDPSelectDSN)var2.elementAt(3);
  166.             }
  167.  
  168.             if (((String)var2.elementAt(0)).compareTo("SelectTable" + super.componentName) == 0) {
  169.                this.targetTable = (JDPSelectTable)var2.elementAt(1);
  170.             }
  171.  
  172.             if (((String)var2.elementAt(0)).compareTo("SelectColumns" + super.componentName) == 0) {
  173.                this.targetColumns = (JDPSelectColumns)var2.elementAt(1);
  174.             }
  175.  
  176.             if (((String)var2.elementAt(0)).compareTo("SelectReportDef" + super.componentName) == 0) {
  177.                this.targetDefinition = (JDPSelectReportDef)var2.elementAt(1);
  178.             }
  179.  
  180.             if (((String)var2.elementAt(0)).compareTo("GridSettings" + super.componentName) == 0) {
  181.                this.targetSettings = (JDPGridSettings)var2.elementAt(1);
  182.                if (this.targetSettings.getComponentName().equals(((JDPClassLayout)this).getComponentName())) {
  183.                   ((JDPClassLayout)this).setThisBranch(this.targetSettings.thisBranch);
  184.                }
  185.             }
  186.          }
  187.  
  188.          if (super.user.gParm.elementAt(var1) instanceof JDPLayoutMgr && !super.componentName.equals("")) {
  189.             this.targetLayoutMgr = (JDPLayoutMgr)super.user.gParm.elementAt(var1);
  190.          }
  191.       }
  192.  
  193.    }
  194.  
  195.    public boolean handleEvent(Event var1) {
  196.       switch (var1.id) {
  197.          case 503:
  198.          case 504:
  199.          case 505:
  200.             this.popuppanel.postEvent(var1);
  201.             return false;
  202.          case 1001:
  203.             if (var1.target instanceof Button) {
  204.                String var2 = (String)var1.arg;
  205.                if (var2 != null && var2.trim().compareTo("Accept") == 0) {
  206.                   this.saveSelections();
  207.                   super.user.mainmsg.setStatusMsg("Selections accepted.", 10);
  208.                   if (super.componentName.equals("")) {
  209.                      super.user.jdpMenuPanel.loadNextTab();
  210.                   }
  211.  
  212.                   return true;
  213.                }
  214.  
  215.                if (var2.trim().compareTo("Reset") == 0) {
  216.                   return true;
  217.                }
  218.             }
  219.  
  220.             return false;
  221.          default:
  222.             return false;
  223.       }
  224.    }
  225.  
  226.    void loadGrid() {
  227.       int var2 = 0;
  228.       Vector var3 = new Vector();
  229.       String var4 = this.jaggSQL.getSEP();
  230.       int var5 = 0;
  231.       int var7 = 0;
  232.       this.columnCount = 0;
  233.       if (this.targetTable != null && this.targetTable.datasource.getText().compareTo("") != 0) {
  234.          if (this.targetTable.tables.getSelectedIndex() < 0) {
  235.             if (super.componentName.equals("")) {
  236.                super.user.mainmsg.setStatusMsg("You must first select a Table.", 5);
  237.             }
  238.  
  239.          } else {
  240.             if (this.moduleParameter.equals("Report")) {
  241.                if (this.targetDefinition == null) {
  242.                   super.user.mainmsg.setStatusMsg("You must first specify the Report Definition.", 5);
  243.                   return;
  244.                }
  245.  
  246.                if ((this.targetSettings == null || this.targetSettings.columns.countItems() == 0) && super.componentName.equals("")) {
  247.                   super.user.mainmsg.setStatusMsg("You must first specify Column settings.", 5);
  248.                   return;
  249.                }
  250.             } else if (this.targetSettings == null || this.targetSettings.columns.countItems() == 0) {
  251.                super.user.mainmsg.setStatusMsg("You must first specify Grid settings.", 5);
  252.                return;
  253.             }
  254.  
  255.             this.dataType = new int[this.targetSettings.columns.countItems()];
  256.             this.indexes = new Vector();
  257.             String var10 = "SELECT ";
  258.             if (this.moduleParameter.equals("Report")) {
  259.                int var11 = 0;
  260.                String var12 = "";
  261.  
  262.                for(int var13 = 0; var13 < this.targetSettings.columns.countItems(); ++var13) {
  263.                   if (this.targetSettings.fieldActive[var13] && var12.indexOf(this.targetSettings.fieldSql[var13] + ",") < 0) {
  264.                      int var14 = this.targetSettings.columnIndexes[var13];
  265.                      this.dataType[var11] = this.targetColumns.columnDatatype[var14];
  266.                      ++var11;
  267.                      if (var10.length() > 8) {
  268.                         var10 = var10 + ",";
  269.                      }
  270.  
  271.                      var10 = var10 + this.targetSettings.fieldSql[var13];
  272.                      var12 = var12 + this.targetSettings.fieldSql[var13] + ",";
  273.                      this.indexes.addElement(Integer.toString(var13));
  274.                      ++this.columnCount;
  275.                   }
  276.                }
  277.             } else {
  278.                for(int var34 = 0; var34 < this.targetSettings.columns.countItems(); ++var34) {
  279.                   if (this.targetSettings.fieldActive[var34]) {
  280.                      if (var10.length() > 8) {
  281.                         var10 = var10 + ",";
  282.                      }
  283.  
  284.                      var10 = var10 + this.targetSettings.fieldSql[var34];
  285.                      this.indexes.addElement(Integer.toString(var34));
  286.                      ++this.columnCount;
  287.                   }
  288.                }
  289.             }
  290.  
  291.             if (!var10.equals("SELECT ")) {
  292.                var10 = var10 + " FROM ";
  293.                String var35 = null;
  294.                String var36 = "";
  295.  
  296.                for(int var37 = 0; var37 < this.targetTable.joinConditions.countItems(); ++var37) {
  297.                   if (this.targetTable.joinConditions.getItem(var37).indexOf("*=") > 0) {
  298.                      var35 = "left";
  299.                      var36 = this.targetTable.joinConditions.getItem(var37);
  300.                   }
  301.  
  302.                   if (this.targetTable.joinConditions.getItem(var37).indexOf("=*") > 0) {
  303.                      var35 = "right";
  304.                      var36 = this.targetTable.joinConditions.getItem(var37);
  305.                   }
  306.                }
  307.  
  308.                String var38 = "";
  309.                String var40 = "";
  310.                int[] var15 = this.targetTable.stables.getSelectedIndexes();
  311.                var38 = this.targetTable.tables.getSelectedItem();
  312.                if (var15.length > 0) {
  313.                   var38 = var38 + " a";
  314.                }
  315.  
  316.                if (this.targetDSN.dsnType.equals(JDPJagg.MSSQLSERVER)) {
  317.                   var38 = var38 + " (NOLOCK)";
  318.                }
  319.  
  320.                for(int var16 = 0; var16 < var15.length; ++var16) {
  321.                   if (var35 == null) {
  322.                      var40 = var40 + ",";
  323.                   }
  324.  
  325.                   var40 = var40 + this.targetTable.stables.getItem(var15[var16]);
  326.                   var40 = var40 + " " + this.targetTable.stableAlias[var15[var16]];
  327.                   if (this.targetDSN.dsnType.equals(JDPJagg.MSSQLSERVER)) {
  328.                      var40 = var40 + " (NOLOCK)";
  329.                   }
  330.                }
  331.  
  332.                StringBuffer var42 = new StringBuffer();
  333.                if (var35 == null) {
  334.                   var42.append(var38);
  335.                   var42.append(var40);
  336.                } else if (var35.equals("left")) {
  337.                   var42.append("{oj ");
  338.                   var42.append(var38);
  339.                   var42.append(" LEFT OUTER JOIN ");
  340.                   var42.append(var40);
  341.                   var42.append(" ON ");
  342.                   var42.append(super.user.u.replace(var36, "*", ""));
  343.                   var42.append("}");
  344.                } else if (var35.equals("right")) {
  345.                   var42.append("{oj ");
  346.                   var42.append(var40);
  347.                   var42.append(" LEFT OUTER JOIN ");
  348.                   var42.append(var38);
  349.                   var42.append(" ON ");
  350.                   var42.append(super.user.u.replace(var36, "*", ""));
  351.                   var42.append("}");
  352.                }
  353.  
  354.                var10 = var10 + var42.toString();
  355.                if (this.targetTable.joinConditions.countItems() > 0) {
  356.                   boolean var17 = true;
  357.  
  358.                   for(int var18 = 0; var18 < this.targetTable.joinConditions.countItems(); ++var18) {
  359.                      if (!this.targetTable.joinConditions.getItem(var18).equals(var36)) {
  360.                         if (var17) {
  361.                            var10 = var10 + " WHERE ";
  362.                         } else {
  363.                            var10 = var10 + " AND ";
  364.                         }
  365.  
  366.                         var10 = var10 + this.targetTable.joinConditions.getItem(var18);
  367.                         var17 = false;
  368.                      }
  369.                   }
  370.                }
  371.  
  372.                if (this.moduleParameter.equals("Report")) {
  373.                   var7 = this.targetDefinition.groupBy.countItems();
  374.  
  375.                   for(int var43 = 0; var43 < var7; ++var43) {
  376.                      if (var43 == 0) {
  377.                         if (var10.toUpperCase().indexOf("SUM(") <= 0 && var10.toUpperCase().indexOf("AVG(") <= 0 && var10.toUpperCase().indexOf("MIN(") <= 0 && var10.toUpperCase().indexOf("MAX(") <= 0) {
  378.                            var10 = var10 + " ORDER BY ";
  379.                         } else {
  380.                            var10 = var10 + " GROUP BY ";
  381.                         }
  382.                      }
  383.  
  384.                      if (var43 > 0) {
  385.                         var10 = var10 + ",";
  386.                      }
  387.  
  388.                      var10 = var10 + this.targetDefinition.groupBy.getItem(var43);
  389.                   }
  390.  
  391.                   this.tableContents.gridColor = Color.white;
  392.                   if (var7 == 0) {
  393.                      super.user.mainmsg.setStatusMsg("You must choose a column by which to order your report.", 5);
  394.                      return;
  395.                   }
  396.                }
  397.  
  398.                if (!var10.equals(this.prevSQL)) {
  399.                   this.prevSQL = var10;
  400.                   super.user.mainmsg.setStatusMsg("Accessing database...", 0);
  401.                   this.jaggSQL.loadSettings(this.targetTable.targetDSN);
  402.                   this.jaggSQL.setMRW("40");
  403.                   var2 = this.jaggSQL.execSQL(var10, var3);
  404.                   if (var2 == -1) {
  405.                      super.user.u.setSqlMessage(this.jaggSQL, var10);
  406.                      return;
  407.                   }
  408.  
  409.                   if (super.user.DEBUG) {
  410.                      System.out.println("JDPSelectTable/loadList COL: " + Integer.toString(this.jaggSQL.getColumnCount()));
  411.                   }
  412.  
  413.                   if (var2 > 0) {
  414.                      this.columnCount = this.jaggSQL.getColumnCount();
  415.                   }
  416.  
  417.                   var5 = this.jaggSQL.getRowCount();
  418.                   if (this.moduleParameter.equals("Report")) {
  419.                      this.tableContents.currentText = new String[this.columnCount][var5 * (var7 + 1) + 10];
  420.                      this.tableContents.cellFont = new Font[this.columnCount][var5 * (var7 + 1) + 10];
  421.                      this.tableContents.lockedColumns = this.targetDefinition.groupBy.countItems();
  422.                   } else {
  423.                      this.tableContents.currentText = new String[this.columnCount][var5];
  424.                   }
  425.  
  426.                   String[] var44 = new String[this.columnCount];
  427.                   int var46 = 0;
  428.                   float[][] var8 = new float[1][1];
  429.                   float[][] var9 = new float[1][1];
  430.                   this.maskEdit = new String[this.columnCount];
  431.                   this.maskType = new String[this.columnCount];
  432.                   if (this.moduleParameter.equals("Report")) {
  433.                      int var19 = this.columnCount / 2 - 1;
  434.                      if (var19 < 0) {
  435.                         var19 = 0;
  436.                      }
  437.  
  438.                      this.tableContents.currentText[var19][1] = this.targetDefinition.reportTitle.getText();
  439.                      this.tableContents.cellFont[var19][1] = new Font(super.user.plainFont.getName(), 1, super.user.plainFont.getSize() + 4);
  440.  
  441.                      for(int var20 = 0; var20 < this.columnCount; ++var20) {
  442.                         int var21 = Integer.parseInt((String)this.indexes.elementAt(var20));
  443.                         this.tableContents.currentText[var20][3] = this.targetSettings.fieldLText[var21];
  444.                         this.tableContents.cellFont[var20][3] = super.user.boldFont;
  445.                      }
  446.  
  447.                      var46 = 4;
  448.                      var8 = new float[var7][this.columnCount];
  449.                      var9 = new float[var7][this.columnCount];
  450.                   }
  451.  
  452.                   int var48;
  453.                   for(var48 = 0; var48 < var5; ++var48) {
  454.                      String var6 = (String)var3.elementAt(var48);
  455.                      if (var6 != null && var6.trim().compareTo("") != 0) {
  456.                         StringTokenizer var1 = new StringTokenizer(var6);
  457.  
  458.                         for(int var51 = 0; var51 < this.columnCount; ++var51) {
  459.                            int var22 = Integer.parseInt((String)this.indexes.elementAt(var51));
  460.                            String var50 = var1.nextToken(var4).trim();
  461.                            this.tableContents.currentText[var51][var48 + var46] = var50;
  462.                            if (this.targetSettings.fieldType[var22].equals("JDPDate")) {
  463.                               try {
  464.                                  this.tableContents.currentText[var51][var48 + var46] = JDPDate.format(new Date(Long.valueOf(var50)));
  465.                               } catch (Exception var25) {
  466.                               }
  467.                            }
  468.  
  469.                            if (!this.targetSettings.fieldEditMask[var22].equals("")) {
  470.                               this.maskEdit[var51] = this.targetSettings.fieldEditMask[var22];
  471.                               if (JDPUtils.isOdbcNum(this.targetColumns.columnDatatype[this.targetSettings.columnIndexes[var22]])) {
  472.                                  this.tableContents.currentText[var51][var48 + var46] = this.JDPMaskEditMain.formatFloat(this.tableContents.currentText[var51][var48 + var46], this.targetSettings.fieldEditMask[var22]);
  473.                                  this.maskType[var51] = "Float";
  474.                               } else {
  475.                                  this.tableContents.currentText[var51][var48 + var46] = this.JDPMaskEditMain.formatString(this.tableContents.currentText[var51][var48 + var46], this.targetSettings.fieldEditMask[var22]);
  476.                                  this.maskType[var51] = "String";
  477.                               }
  478.                            }
  479.                         }
  480.  
  481.                         if (this.moduleParameter.equals("Report")) {
  482.                            for(int var52 = this.columnCount - 1; var52 >= 0; --var52) {
  483.                               String var57 = this.tableContents.currentText[var52][var48 + var46];
  484.                               if (var7 > var52 && var48 > 0) {
  485.                                  if (var57.equals(var44[var52])) {
  486.                                     this.tableContents.currentText[var52][var48 + var46] = "";
  487.                                  } else {
  488.                                     if (this.targetDefinition.subTotal[var52]) {
  489.                                        for(int var23 = 0; var23 < this.columnCount; ++var23) {
  490.                                           this.tableContents.currentText[var23][var48 + var46 + 1] = this.tableContents.currentText[var23][var48 + var46];
  491.                                           this.tableContents.currentText[var23][var48 + var46] = "";
  492.                                           this.tableContents.cellFont[var23][var48 + var46 + 1] = this.tableContents.cellFont[var23][var48 + var46];
  493.                                           this.tableContents.cellFont[var23][var48 + var46] = null;
  494.                                        }
  495.  
  496.                                        this.tableContents.currentText[var52][var48 + var46] = "Subtotal";
  497.                                        this.tableContents.cellFont[var52][var48 + var46] = super.user.boldFont;
  498.  
  499.                                        for(int var62 = var52 + 1; var62 < this.columnCount; ++var62) {
  500.                                           int var24 = Integer.parseInt((String)this.indexes.elementAt(var62));
  501.                                           if (this.targetSettings.fieldTotal[var24]) {
  502.                                              this.tableContents.currentText[var62][var48 + var46] = this.JDPMaskEditMain.formatFloat(var8[var52][var62], this.targetSettings.fieldEditMask[var24]);
  503.                                              this.tableContents.cellFont[var62][var48 + var46] = super.user.boldFont;
  504.                                           }
  505.  
  506.                                           var8[var52][var62] = 0.0F;
  507.                                        }
  508.  
  509.                                        ++var46;
  510.                                     }
  511.  
  512.                                     this.tableContents.currentText[var52][var48 + var46] = var57;
  513.                                  }
  514.                               }
  515.  
  516.                               if (var7 > 0 && var48 > 0) {
  517.                                  try {
  518.                                     float var63 = Float.valueOf(this.JDPMaskEditMain.stripFloat(var44[var52]));
  519.  
  520.                                     for(int var68 = 0; var68 < var7; ++var68) {
  521.                                        var8[var68][var52] += var63;
  522.                                        var9[var68][var52] += var63;
  523.                                     }
  524.                                  } catch (Exception var27) {
  525.                                  }
  526.                               }
  527.  
  528.                               var44[var52] = var57;
  529.                            }
  530.                         }
  531.                      }
  532.                   }
  533.  
  534.                   if (this.moduleParameter.equals("Report")) {
  535.                      for(int var53 = 0; var53 < this.columnCount; ++var53) {
  536.                         try {
  537.                            float var58 = Float.valueOf(this.JDPMaskEditMain.stripFloat(var44[var53]));
  538.  
  539.                            for(int var64 = 0; var64 < var7; ++var64) {
  540.                               var8[var64][var53] += var58;
  541.                               var9[var64][var53] += var58;
  542.                            }
  543.                         } catch (Exception var26) {
  544.                         }
  545.                      }
  546.  
  547.                      for(int var54 = this.columnCount - 1; var54 >= 0; --var54) {
  548.                         if (var7 > var54 && this.targetDefinition.subTotal[var54]) {
  549.                            this.tableContents.currentText[var54][var48 + var46] = "Subtotal";
  550.                            this.tableContents.cellFont[var54][var48 + var46] = super.user.boldFont;
  551.  
  552.                            for(int var59 = var54 + 1; var59 < this.columnCount; ++var59) {
  553.                               int var65 = Integer.parseInt((String)this.indexes.elementAt(var59));
  554.                               if (this.targetSettings.fieldTotal[var65]) {
  555.                                  this.tableContents.currentText[var59][var48 + var46] = this.JDPMaskEditMain.formatFloat(var8[var54][var59], this.targetSettings.fieldEditMask[var65]);
  556.                                  this.tableContents.cellFont[var59][var48 + var46] = super.user.boldFont;
  557.                               }
  558.                            }
  559.  
  560.                            ++var46;
  561.                         }
  562.                      }
  563.  
  564.                      for(int var55 = this.columnCount - 1; var55 >= 0; --var55) {
  565.                         if (var7 > var55 && this.targetDefinition.grandTotal[var55]) {
  566.                            this.tableContents.currentText[var55][var48 + var46] = "Total";
  567.                            this.tableContents.cellFont[var55][var48 + var46] = super.user.boldFont;
  568.  
  569.                            for(int var60 = var55 + 1; var60 < this.columnCount; ++var60) {
  570.                               int var66 = Integer.parseInt((String)this.indexes.elementAt(var60));
  571.                               if (this.targetSettings.fieldTotal[var66]) {
  572.                                  this.tableContents.currentText[var60][var48 + var46] = this.JDPMaskEditMain.formatFloat(var9[var55][var60], this.targetSettings.fieldEditMask[var66]);
  573.                                  this.tableContents.cellFont[var60][var48 + var46] = super.user.boldFont;
  574.                               }
  575.                            }
  576.  
  577.                            ++var46;
  578.                         }
  579.                      }
  580.                   }
  581.  
  582.                   var2 = this.indexes.size();
  583.                   if (var5 < 1) {
  584.                      this.tableContents.currentText = new String[var2][50];
  585.                   }
  586.  
  587.                   if (!this.moduleParameter.equals("Report")) {
  588.                      this.tableContents.columnHeader = new String[var2];
  589.                   } else {
  590.                      this.tableContents.columnHeader = null;
  591.                   }
  592.  
  593.                   this.tableContents.columnHeaderStyle = new int[var2];
  594.                   this.tableContents.columnStyle = new int[var2];
  595.                   this.tableContents.columnHeaderColor = new Color[var2];
  596.                   this.tableContents.columnColor = new Color[var2];
  597.                   this.tableContents.columnBGColor = new Color[var2];
  598.                   this.tableContents.columnProtected = new boolean[var2];
  599.                   this.tableContents.rowHeader = null;
  600.                   this.tableContents.columnWidth = new int[var2];
  601.                   this.tableContents.rightJustify = new boolean[var2];
  602.  
  603.                   for(int var56 = 0; var56 < this.indexes.size(); ++var56) {
  604.                      var48 = Integer.parseInt((String)this.indexes.elementAt(var56));
  605.                      if (!this.moduleParameter.equals("Report")) {
  606.                         this.tableContents.columnHeader[var56] = this.targetSettings.fieldLText[var48];
  607.                      }
  608.  
  609.                      this.tableContents.columnHeaderStyle[var56] = this.targetSettings.fieldLStyle[var48];
  610.                      this.tableContents.columnStyle[var56] = this.targetSettings.fieldStyle[var48];
  611.                      this.tableContents.columnHeaderColor[var56] = this.targetSettings.fieldLabelColor[var48];
  612.                      this.tableContents.columnColor[var56] = this.targetSettings.fieldTextColor[var48];
  613.                      this.tableContents.columnBGColor[var56] = this.targetSettings.fieldBackColor[var48];
  614.                      this.tableContents.columnProtected[var56] = !this.targetSettings.fieldEditable[var48];
  615.                      if (this.targetSettings.fieldAlignment[var48].equals("Right")) {
  616.                         this.tableContents.rightJustify[var56] = true;
  617.                      }
  618.  
  619.                      this.tableContents.columnWidth[var56] = this.targetSettings.fieldWidth[var48] * 7;
  620.                      int var61 = super.user.u.StringWidth(this.targetLayoutMgr.getGraphics(), this.targetSettings.fieldLText[var48]) + 15;
  621.                      int var67 = super.user.u.StringWidth(this.targetLayoutMgr.getGraphics(), this.tableContents.currentText[var56][0]) + 15;
  622.                      if (var67 > var61) {
  623.                         var61 = var67;
  624.                      }
  625.  
  626.                      this.tableContents.columnWidth[var56] = var61;
  627.                      if (this.tableContents.columnWidth[var56] < 30) {
  628.                         this.tableContents.columnWidth[var56] = 30;
  629.                      }
  630.  
  631.                      if (this.tableContents.columnWidth[var56] > 150) {
  632.                         this.tableContents.columnWidth[var56] = 150;
  633.                      }
  634.                   }
  635.                } else {
  636.                   for(int var45 = 0; var45 < this.indexes.size(); ++var45) {
  637.                      int var47 = Integer.parseInt((String)this.indexes.elementAt(var45));
  638.                      if (!this.moduleParameter.equals("Report")) {
  639.                         this.tableContents.columnHeader[var45] = this.targetSettings.fieldLText[var47];
  640.                      }
  641.  
  642.                      this.tableContents.columnHeaderStyle[var45] = this.targetSettings.fieldLStyle[var47];
  643.                      this.tableContents.columnStyle[var45] = this.targetSettings.fieldStyle[var47];
  644.                      this.tableContents.columnHeaderColor[var45] = this.targetSettings.fieldLabelColor[var47];
  645.                      this.tableContents.columnColor[var45] = this.targetSettings.fieldTextColor[var47];
  646.                      this.tableContents.columnBGColor[var45] = this.targetSettings.fieldBackColor[var47];
  647.                      this.tableContents.columnProtected[var45] = !this.targetSettings.fieldEditable[var47];
  648.                   }
  649.                }
  650.  
  651.                if (!this.moduleParameter.equals("Report")) {
  652.                   this.loadChoices();
  653.                }
  654.  
  655.                this.tableContents.newTable();
  656.                this.restoreSelections();
  657.                super.user.mainmsg.clearStatusMsg();
  658.             }
  659.          }
  660.       } else {
  661.          if (super.componentName.equals("")) {
  662.             super.user.mainmsg.setStatusMsg("You must first select a Data Source.", 5);
  663.          }
  664.  
  665.       }
  666.    }
  667.  
  668.    boolean removeSelections() {
  669.       JDPSaveProps var1 = super.user.saveProperties;
  670.       String var2 = "JDPGridLayout" + super.componentName;
  671.       var1.removeObject(this.tableContents.columnWidth, var2, "columnWidth");
  672.       var1.removeObject(this.tableContents.columnOrder, var2, "columnOrder");
  673.       return true;
  674.    }
  675.  
  676.    public void InitClass(JDPUser var1, Panel var2, String var3) {
  677.       super.user = var1;
  678.       this.targetPanel = var2;
  679.       this.moduleParameter = var3;
  680.       var3 = this.setModuleParameter(var3);
  681.       this.jaggSQL = new JDPJagg(var1.jaggPath);
  682.       this.JDPMaskEditMain = new JDPMaskEdit();
  683.       ((Container)this).setLayout(new BorderLayout());
  684.       ((Component)this).setFont(var1.plainFont);
  685.       this.popuppanel = new JDPPopupMessage(var1, this);
  686.       ((Container)this).add(this.popuppanel);
  687.       Panel var4 = new Panel();
  688.       ((Container)var4).setLayout(new BorderLayout());
  689.       this.tableContents = new JDPTextGrid(var1);
  690.       ((Container)var4).add("Center", this.tableContents);
  691.       if (!var3.equals("Combo") && super.componentName.equals("")) {
  692.          String[] var5 = new String[]{"Accept"};
  693.          int[] var6 = new int[]{5};
  694.          JDPButtons var7 = new JDPButtons(var1, var5, var6, JDPButtons.HORIZONTAL);
  695.          ((Container)var4).add("South", var7);
  696.          this.popuppanel.addComponent(var7.button[0], "Accept Settings", "Accept settings and proceed to build process");
  697.          if (var3.equals("Report")) {
  698.             ((Container)this).add("Center", new JDPChiselFramePanel(var1, "Construct the Report layout", var4, "North"));
  699.          } else {
  700.             ((Container)this).add("Center", new JDPChiselFramePanel(var1, "Construct the Grid layout", var4, "North"));
  701.          }
  702.       } else {
  703.          ((Container)this).add("Center", var4);
  704.       }
  705.  
  706.       this.loadLayoutComponent();
  707.       this.gParmObject = new Vector();
  708.       this.gParmObject.addElement("GridLayout" + super.componentName);
  709.       this.gParmObject.addElement(this);
  710.       var1.gParm.addElement(this.gParmObject);
  711.       ((Component)var2).paintAll(((Component)var2).getGraphics());
  712.    }
  713. }
  714.