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

  1. import java.awt.BorderLayout;
  2. import java.awt.CheckboxGroup;
  3. import java.awt.Color;
  4. import java.awt.Container;
  5. import java.awt.Event;
  6. import java.awt.Font;
  7. import java.awt.Panel;
  8. import java.util.StringTokenizer;
  9. import java.util.Vector;
  10.  
  11. public class PublisherTitles extends JDPClassLayout {
  12.    JDPUser user;
  13.    JDPJagg jaggSQL;
  14.    JDPPopupMessage popuppanel;
  15.    JDPMaskEdit JDPMaskEditMain;
  16.    String moduleParameter;
  17.    Panel Main;
  18.    JDPTextGrid ReportLayout1;
  19.    JDPSearchResults ResultList1;
  20.  
  21.    public void InitClass(JDPUser var1, Panel var2, String var3) {
  22.       this.user = var1;
  23.       this.moduleParameter = var3;
  24.       this.jaggSQL = new JDPJagg(var1.jaggPath);
  25.       ((Container)this).setLayout(new BorderLayout());
  26.       this.popuppanel = new JDPPopupMessage(var1, this);
  27.       ((Container)this).add(this.popuppanel);
  28.       this.JDPMaskEditMain = new JDPMaskEdit();
  29.       new CheckboxGroup();
  30.       this.Main = new Panel();
  31.       this.ReportLayout1Main();
  32.       this.ResultList1Main();
  33.       this.Main.setLayout(new BorderLayout());
  34.       ((Container)this).add("Center", this.Main);
  35.       this.Main.add("Center", this.ReportLayout1);
  36.       this.Main.add("West", this.ResultList1);
  37.       this.InitComponents();
  38.       var1.gParm.addElement(this);
  39.    }
  40.  
  41.    public boolean handleEvent(Event var1) {
  42.       switch (var1.id) {
  43.          case 503:
  44.          case 504:
  45.          case 505:
  46.             this.popuppanel.postEvent(var1);
  47.             return false;
  48.          case 1001:
  49.             if (var1.target.equals(this.ResultList1)) {
  50.                this.ReportLayout1LoadGrid(this.ResultList1.getSelectedKey());
  51.                return true;
  52.             }
  53.  
  54.             return false;
  55.          default:
  56.             return false;
  57.       }
  58.    }
  59.  
  60.    public void InitComponents() {
  61.    }
  62.  
  63.    public void ReportLayout1Main() {
  64.       this.ReportLayout1SetGridSettings();
  65.    }
  66.  
  67.    public void ReportLayout1LoadGrid(String[] var1) {
  68.       JDPTextGrid var2 = this.ReportLayout1;
  69.       if (var1 != null && var1.length >= 0) {
  70.          int var4 = 0;
  71.          Vector var5 = new Vector();
  72.          String var6 = this.jaggSQL.getSEP();
  73.          int var7 = 0;
  74.          byte var11 = 9;
  75.          this.jaggSQL.setDSN("JDP Tutorial");
  76.          this.jaggSQL.setJdbcDriver("sun.jdbc.odbc.JdbcOdbcDriver");
  77.          this.jaggSQL.setJdbcPrefix("jdbc:odbc:");
  78.          this.jaggSQL.setJdbcSuffix("JDP Tutorial");
  79.          this.jaggSQL.setUID("");
  80.          this.jaggSQL.setPWD("");
  81.          this.jaggSQL.setCSTR(" ");
  82.          this.jaggSQL.setMRW("1000");
  83.          this.jaggSQL.setTOUT("60");
  84.          new Vector();
  85.          new Vector();
  86.          String var12 = "SELECT pub_id, title_id, title, type, price, advance, royalty, ytd_sales, format(pubdate, 'mm/dd/yy') FROM dbo_titles WHERE (1=1)  ";
  87.          if (var1.length > 0 && var1[0] != null) {
  88.             var12 = var12 + " AND pub_id='" + var1[0] + "'" + " ORDER BY pub_id";
  89.          }
  90.  
  91.          this.user.mainmsg.setStatusMsg("Accessing database...", 0);
  92.          var4 = this.jaggSQL.execSQL(var12, var5);
  93.          if (var4 == -1) {
  94.             this.user.u.setSqlMessage(this.jaggSQL, var12);
  95.          } else {
  96.             var7 = this.jaggSQL.getRowCount();
  97.             var2.currentText = new String[var11][var7 + 30];
  98.             var2.cellFont = new Font[var11][var7 + 30];
  99.             var2.gridColor = Color.white;
  100.             boolean[] var13 = new boolean[var11];
  101.             String[] var14 = new String[var11];
  102.             boolean[] var15 = new boolean[9];
  103.             boolean[] var16 = new boolean[9];
  104.             byte var17 = 1;
  105.             var16[0] = true;
  106.             var13[4] = true;
  107.             var13[5] = true;
  108.             var13[7] = true;
  109.             float[][] var9 = new float[1][1];
  110.             float[][] var10 = new float[1][1];
  111.             int var18 = 0;
  112.             int var19 = var11 / 2 - 1;
  113.             if (var19 < 0) {
  114.                var19 = 0;
  115.             }
  116.  
  117.             var2.currentText[var19][1] = "Publisher Titles Report";
  118.             var2.cellFont[var19][1] = new Font(this.user.plainFont.getName(), 1, this.user.plainFont.getSize() + 4);
  119.  
  120.             for(int var20 = 0; var20 < var11; ++var20) {
  121.                var2.cellFont[var20][3] = this.user.boldFont;
  122.             }
  123.  
  124.             var2.currentText[0][3] = "Pub Id";
  125.             var2.currentText[1][3] = "Title Id";
  126.             var2.currentText[2][3] = "Title";
  127.             var2.currentText[3][3] = "Type";
  128.             var2.currentText[4][3] = "Price";
  129.             var2.currentText[5][3] = "Advance";
  130.             var2.currentText[6][3] = "Royalty";
  131.             var2.currentText[7][3] = "Ytd Sales";
  132.             var2.currentText[8][3] = "Pubdate";
  133.             var18 = 4;
  134.             var9 = new float[var17][var11];
  135.             var10 = new float[var17][var11];
  136.  
  137.             int var21;
  138.             for(var21 = 0; var21 < var7; ++var21) {
  139.                String var8 = (String)var5.elementAt(var21);
  140.                if (var8 != null && var8.trim().compareTo("") != 0) {
  141.                   StringTokenizer var3 = new StringTokenizer(var8);
  142.  
  143.                   for(int var22 = 0; var22 < var11; ++var22) {
  144.                      var2.currentText[var22][var21 + var18] = var3.nextToken(var6).trim();
  145.                      if (var2.maskEdit[var22] != null) {
  146.                         if (var2.maskType[var22] == "Float") {
  147.                            var2.currentText[var22][var21 + var18] = this.JDPMaskEditMain.formatFloat(var2.currentText[var22][var21 + var18], var2.maskEdit[var22]);
  148.                         } else {
  149.                            var2.currentText[var22][var21 + var18] = this.JDPMaskEditMain.formatString(var2.currentText[var22][var21 + var18], var2.maskEdit[var22]);
  150.                         }
  151.                      }
  152.                   }
  153.  
  154.                   for(int var23 = var11 - 1; var23 >= 0; --var23) {
  155.                      String var24 = var2.currentText[var23][var21 + var18];
  156.                      if (var17 > var23 && var21 > 0) {
  157.                         if (var24.equals(var14[var23])) {
  158.                            var2.currentText[var23][var21 + var18] = "";
  159.                         } else {
  160.                            if (var15[var23]) {
  161.                               for(int var25 = 0; var25 < var11; ++var25) {
  162.                                  var2.currentText[var25][var21 + var18 + 1] = var2.currentText[var25][var21 + var18];
  163.                                  var2.currentText[var25][var21 + var18] = "";
  164.                                  var2.cellFont[var25][var21 + var18 + 1] = var2.cellFont[var25][var21 + var18];
  165.                                  var2.cellFont[var25][var21 + var18] = null;
  166.                               }
  167.  
  168.                               var2.currentText[var23][var21 + var18] = "Subtotal";
  169.                               var2.cellFont[var23][var21 + var18] = this.user.boldFont;
  170.  
  171.                               for(int var26 = var23 + 1; var26 < var11; ++var26) {
  172.                                  if (var13[var26]) {
  173.                                     var2.currentText[var26][var21 + var18] = this.JDPMaskEditMain.formatFloat(var9[var23][var26], var2.maskEdit[var26]);
  174.                                     var2.cellFont[var26][var21 + var18] = this.user.boldFont;
  175.                                  }
  176.  
  177.                                  var9[var23][var26] = 0.0F;
  178.                               }
  179.  
  180.                               ++var18;
  181.                            }
  182.  
  183.                            var2.currentText[var23][var21 + var18] = var24;
  184.                         }
  185.                      }
  186.  
  187.                      if (var17 > 0 && var21 > 0) {
  188.                         try {
  189.                            float var40 = Float.valueOf(this.JDPMaskEditMain.stripFloat(var14[var23]));
  190.  
  191.                            for(int var42 = 0; var42 < var17; ++var42) {
  192.                               var9[var42][var23] += var40;
  193.                               var10[var42][var23] += var40;
  194.                            }
  195.                         } catch (Exception var28) {
  196.                         }
  197.                      }
  198.  
  199.                      var14[var23] = var24;
  200.                   }
  201.                }
  202.             }
  203.  
  204.             for(int var34 = 0; var34 < var11; ++var34) {
  205.                try {
  206.                   float var35 = Float.valueOf(this.JDPMaskEditMain.stripFloat(var14[var34]));
  207.  
  208.                   for(int var37 = 0; var37 < var17; ++var37) {
  209.                      var9[var37][var34] += var35;
  210.                      var10[var37][var34] += var35;
  211.                   }
  212.                } catch (Exception var27) {
  213.                }
  214.             }
  215.  
  216.             for(int var36 = var11 - 1; var36 >= 0; --var36) {
  217.                if (var17 > var36 && var15[var36]) {
  218.                   var2.currentText[var36][var21 + var18] = "Subtotal";
  219.                   var2.cellFont[var36][var21 + var18] = this.user.boldFont;
  220.  
  221.                   for(int var38 = var36 + 1; var38 < var11; ++var38) {
  222.                      if (var13[var38]) {
  223.                         var2.currentText[var38][var21 + var18] = this.JDPMaskEditMain.formatFloat(var9[var36][var38], var2.maskEdit[var38]);
  224.                         var2.cellFont[var38][var21 + var18] = this.user.boldFont;
  225.                      }
  226.                   }
  227.  
  228.                   ++var18;
  229.                }
  230.             }
  231.  
  232.             for(int var39 = var11 - 1; var39 >= 0; --var39) {
  233.                if (var17 > var39 && var16[var39]) {
  234.                   var2.currentText[var39][var21 + var18] = "Total";
  235.                   var2.cellFont[var39][var21 + var18] = this.user.boldFont;
  236.  
  237.                   for(int var41 = var39 + 1; var41 < var11; ++var41) {
  238.                      if (var13[var41]) {
  239.                         var2.currentText[var41][var21 + var18] = this.JDPMaskEditMain.formatFloat(var10[var39][var41], var2.maskEdit[var41]);
  240.                         var2.cellFont[var41][var21 + var18] = this.user.boldFont;
  241.                      }
  242.                   }
  243.  
  244.                   ++var18;
  245.                }
  246.             }
  247.  
  248.             var2.newTable();
  249.             this.user.mainmsg.clearStatusMsg();
  250.          }
  251.       } else {
  252.          this.ReportLayout1LoadEmptyGrid();
  253.       }
  254.    }
  255.  
  256.    public void ReportLayout1LoadEmptyGrid() {
  257.       JDPTextGrid var1 = this.ReportLayout1;
  258.       byte var2 = 9;
  259.       var1.currentText = new String[var2][50];
  260.       var1.cellChanged = null;
  261.       var1.rowChanged = null;
  262.       var1.columnSelected = null;
  263.       var1.rowKey = new String[50][1];
  264.       var1.newTable();
  265.       var1.totalDataRows = 0;
  266.    }
  267.  
  268.    void ReportLayout1SetGridSettings() {
  269.       if (this.ReportLayout1 == null) {
  270.          this.ReportLayout1 = new JDPTextGrid(this.user);
  271.       }
  272.  
  273.       JDPTextGrid var1 = this.ReportLayout1;
  274.       byte var2 = 9;
  275.       var1.columnHeader = null;
  276.       var1.columnHeaderStyle = new int[var2];
  277.       var1.columnStyle = new int[var2];
  278.       var1.columnHeaderColor = new Color[var2];
  279.       var1.columnColor = new Color[var2];
  280.       var1.columnBGColor = new Color[var2];
  281.       var1.columnProtected = new boolean[var2];
  282.       var1.columnWidth = new int[var2];
  283.       var1.rightJustify = new boolean[var2];
  284.       var1.rowHeader = null;
  285.       var1.columnHeight = null;
  286.       var1.maskEdit = new String[var2];
  287.       var1.maskType = new String[var2];
  288.  
  289.       for(int var3 = 0; var3 < var2; ++var3) {
  290.          var1.columnHeaderStyle[var3] = 1;
  291.          var1.columnStyle[var3] = 0;
  292.          var1.columnHeaderColor[var3] = Color.black;
  293.          var1.columnColor[var3] = Color.black;
  294.          var1.columnBGColor[var3] = Color.white;
  295.          var1.columnStyle[var3] = 0;
  296.       }
  297.  
  298.       var1.columnProtected[0] = true;
  299.       var1.columnProtected[1] = true;
  300.       var1.columnProtected[2] = true;
  301.       var1.columnProtected[3] = true;
  302.       var1.columnProtected[4] = true;
  303.       var1.columnProtected[5] = true;
  304.       var1.columnProtected[6] = true;
  305.       var1.columnProtected[7] = true;
  306.       var1.columnProtected[8] = true;
  307.       var1.columnWidth[0] = 44;
  308.       var1.columnWidth[1] = 56;
  309.       var1.columnWidth[2] = 210;
  310.       var1.columnWidth[3] = 73;
  311.       var1.columnWidth[4] = 77;
  312.       var1.columnWidth[5] = 83;
  313.       var1.columnWidth[6] = 51;
  314.       var1.columnWidth[7] = 62;
  315.       var1.columnWidth[8] = 126;
  316.       var1.rightJustify[4] = true;
  317.       var1.rightJustify[5] = true;
  318.       var1.rightJustify[6] = true;
  319.       var1.rightJustify[7] = true;
  320.       var1.maskEdit[4] = "$999,999,999,999.00";
  321.       var1.maskEdit[5] = "$999,999,999,999.00";
  322.       var1.maskEdit[6] = "99%";
  323.       var1.maskEdit[7] = "$999,999,999,999";
  324.       var1.maskType[4] = "Float";
  325.       var1.maskType[5] = "Float";
  326.       var1.maskType[6] = "Float";
  327.       var1.maskType[7] = "Float";
  328.       this.ReportLayout1LoadEmptyGrid();
  329.    }
  330.  
  331.    public void ResultList1Main() {
  332.       String var1 = "pub_id";
  333.       String[] var2 = new String[0];
  334.       String var3 = "(1=1)";
  335.       String[] var4 = new String[]{"Pub name"};
  336.       String[] var5 = new String[]{"pub_name"};
  337.       this.jaggSQL.setDSN("JDP Tutorial");
  338.       this.jaggSQL.setJdbcDriver("sun.jdbc.odbc.JdbcOdbcDriver");
  339.       this.jaggSQL.setJdbcPrefix("jdbc:odbc:");
  340.       this.jaggSQL.setJdbcSuffix("JDP Tutorial");
  341.       this.jaggSQL.setUID("");
  342.       this.jaggSQL.setPWD("");
  343.       this.jaggSQL.setCSTR(" ");
  344.       this.jaggSQL.setMRW("1000");
  345.       this.jaggSQL.setTOUT("60");
  346.       this.ResultList1 = new JDPSearchResults(this.user, super.targetPanel, true, this.jaggSQL, false, var1, var2, var3, var4, var5, var5, "", true, "Total Entries:");
  347.       int[] var6 = new int[7];
  348.       var6[0] = 3;
  349.       var6[1] = 5;
  350.       this.ResultList1.setMinWidth(130);
  351.       this.ResultList1.setIcons(var6);
  352.       this.ResultList1.setFromWhereClause(" FROM dbo_publishers WHERE (1=1)");
  353.       this.ResultList1.clearList("");
  354.       this.ResultList1.loadList();
  355.    }
  356. }
  357.