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

  1. import com.bristol.jpclient.JpPrintGraphics;
  2. import com.bristol.jpclient.JpPrintJob;
  3. import com.bristol.jpclient.JpPrintJobCreator;
  4. import com.bristol.jpclient.JpPrinterProperties;
  5. import java.awt.BorderLayout;
  6. import java.awt.Color;
  7. import java.awt.Container;
  8. import java.awt.Event;
  9. import java.awt.Font;
  10. import java.awt.Frame;
  11. import java.awt.GridLayout;
  12. import java.awt.Panel;
  13. import java.util.StringTokenizer;
  14. import java.util.Vector;
  15.  
  16. public class JPrinterDemo extends JDPClassLayout {
  17.    JDPUser user;
  18.    JDPJagg jaggSQL;
  19.    JDPPopupMessage popuppanel;
  20.    JDPMaskEdit JDPMaskEditMain;
  21.    String moduleParameter;
  22.    Panel Main;
  23.    Panel Panel2;
  24.    JpPrintJobCreator JpPrintJobCreator1;
  25.    JpPrintJob JpPrintJob1;
  26.    JpPrinterProperties JpPrinterProperties1;
  27.    Panel Panel1;
  28.    JDPTabSelectPanel TabPanel1;
  29.    Panel Panel3;
  30.    JDPChart ChartLayout1;
  31.    JDPButtons JDPButtons1;
  32.    Panel Panel4;
  33.    JDPSearchResults ResultList1;
  34.    JDPRichText RichText1;
  35.    JpPrintGraphics JpPrintGraphics1;
  36.  
  37.    public void InitClass(JDPUser var1, Panel var2, String var3) {
  38.       this.user = var1;
  39.       this.moduleParameter = var3;
  40.       this.jaggSQL = new JDPJagg(var1.jaggPath);
  41.       ((Container)this).setLayout(new BorderLayout());
  42.       this.popuppanel = new JDPPopupMessage(var1, this);
  43.       ((Container)this).add(this.popuppanel);
  44.       this.JDPMaskEditMain = new JDPMaskEdit();
  45.       this.Main = new Panel();
  46.       this.Panel2 = new Panel();
  47.       this.JpPrintJobCreator1 = new JpPrintJobCreator();
  48.       this.JpPrintJob1 = this.JpPrintJobCreator1.createPrintJob();
  49.       this.JpPrinterProperties1 = new JpPrinterProperties();
  50.       this.Panel1 = new Panel();
  51.       String[] var4 = new String[1];
  52.       Panel[] var5 = new Panel[]{new Panel()};
  53.       var5[0].setLayout(new BorderLayout());
  54.       var4[0] = "Sales Chart";
  55.       this.TabPanel1 = new JDPTabSelectPanel(var1, var4, var5, "North");
  56.       this.Panel3 = new Panel();
  57.       this.ChartLayout1Main();
  58.       String[] var6 = new String[]{"Print Chart"};
  59.       int[] var7 = new int[]{JDPButton.getIconValue("Printer")};
  60.       this.JDPButtons1 = new JDPButtons(var1, var6, var7, JDPButtons.getAlignmentValue("Horizontal"));
  61.       this.Panel4 = new Panel();
  62.       this.ResultList1Main();
  63.       this.RichText1 = new JDPRichText(var1);
  64.       this.Main.setLayout(new BorderLayout());
  65.       ((Container)this).add("Center", this.Main);
  66.       this.Main.add("West", this.Panel2);
  67.       this.Panel2.setLayout(new BorderLayout());
  68.       this.Main.add("Center", this.Panel1);
  69.       this.Panel1.setLayout(new BorderLayout());
  70.       this.Panel1.add("Center", this.TabPanel1);
  71.       var5[0].add("Center", this.Panel3);
  72.       this.Panel3.setLayout(new BorderLayout());
  73.       this.Panel3.add("Center", this.ChartLayout1);
  74.       this.Panel1.add("South", this.JDPButtons1);
  75.       this.Panel1.add("West", this.Panel4);
  76.       this.Panel4.setLayout(new GridLayout(2, 1));
  77.       this.Panel4.add(this.ResultList1);
  78.       this.Panel4.add(this.RichText1);
  79.       this.Panel2.setFont(new Font("TimesRoman", 0, 11));
  80.       this.Panel2.setForeground(var1.u._cvtcolor("Blue"));
  81.       this.Panel2.setBackground(var1.u._cvtcolor("Magenta"));
  82.       this.TabPanel1.setTabcolor(0, var1.u._cvtcolor("Black"), var1.u._cvtcolor("LightGray"));
  83.       this.Panel3.setFont(new Font("Helvetica", 0, 11));
  84.       this.Panel3.setForeground(var1.u._cvtcolor("Black"));
  85.       this.Panel3.setBackground(var1.u._cvtcolor("LightGray"));
  86.       this.ChartLayout1.setBackground(var1.u._cvtcolor("White"));
  87.       this.popuppanel.addComponent(this.JDPButtons1.button[0], "Print to local printer", "Print to local printer");
  88.       this.RichText1.setFont(new Font("Helvetica", 1, 11));
  89.       this.RichText1.setText("NOTE: This demo requires the JPrinter classes to be installed in the following directory under the JDesignerPro directory:   com.bristol.jpclient   Download JPrinter from www.bristol.com.");
  90.       this.InitComponents();
  91.       var1.gParm.addElement(this);
  92.    }
  93.  
  94.    public boolean handleEvent(Event var1) {
  95.       switch (var1.id) {
  96.          case 503:
  97.          case 504:
  98.          case 505:
  99.             this.popuppanel.postEvent(var1);
  100.             return false;
  101.          case 1001:
  102.             if (var1.target.equals(this.JDPButtons1.button[0])) {
  103.                if (!this.JpPrintJob1.openPrinter((Frame)null, this.JpPrinterProperties1)) {
  104.                   return true;
  105.                }
  106.  
  107.                this.JpPrintJob1.setMatch(1152, 900, 325, 254);
  108.                this.JpPrintGraphics1 = this.JpPrintJob1.getGraphics();
  109.                this.JpPrintJob1.startDocument();
  110.                this.JpPrintJob1.startPage();
  111.                this.ChartLayout1.paint(this.JpPrintGraphics1);
  112.                this.JpPrintJob1.endPage();
  113.                this.JpPrintJob1.endDocument();
  114.                this.JpPrintJob1.closePrinter();
  115.                return true;
  116.             } else {
  117.                if (var1.target.equals(this.ResultList1)) {
  118.                   this.ChartLayout1LoadData(this.ResultList1.getSelectedKey());
  119.                   return true;
  120.                }
  121.  
  122.                return false;
  123.             }
  124.          default:
  125.             return false;
  126.       }
  127.    }
  128.  
  129.    public void InitComponents() {
  130.       this.JpPrintGraphics1 = this.JpPrintJob1.getGraphics();
  131.    }
  132.  
  133.    public void ChartLayout1Main() {
  134.       this.ChartLayout1SetChartParms();
  135.       this.ChartLayout1LoadData((String[])null);
  136.    }
  137.  
  138.    public void ChartLayout1SetChartParms() {
  139.       JDPChartParms var1;
  140.       if (this.ChartLayout1 == null) {
  141.          var1 = new JDPChartParms();
  142.          this.ChartLayout1 = new JDPChart(this.user, var1);
  143.       } else {
  144.          var1 = this.ChartLayout1.p;
  145.       }
  146.  
  147.       var1.chartType = 5;
  148.       var1.autoscale = true;
  149.       var1.autozoom = true;
  150.       var1.chartTitle = "SALES CHART";
  151.       var1.chartTitleFont = this.user.boldFont.getName();
  152.       var1.chartTitleColor = this.user.u._cvtcolor("Black");
  153.       var1.xaxisTitle = "";
  154.       var1.xaxisTitleFont = this.user.boldFont.getName();
  155.       var1.xaxisTitleColor = this.user.u._cvtcolor("Black");
  156.       var1.yaxisLabel = new String[10];
  157.       var1.elementLegendFont = this.user.boldFont.getName();
  158.       var1.xaxisLabelColor = this.user.u._cvtcolor("Black");
  159.       var1.yaxisLabelColor = this.user.u._cvtcolor("Black");
  160.       var1.chartFrameColor = this.user.u._cvtcolor("Black");
  161.       var1.elementLegend = new String[1];
  162.       var1.elementColor = new Color[1];
  163.       var1.elementBorderColor = new Color[1];
  164.       var1.elementLegend[0] = "Qty";
  165.       var1.elementColor[0] = this.user.u._cvtcolor("Magenta");
  166.       var1.elementBorderColor[0] = this.user.u._cvtcolor("Black");
  167.       var1.gridLineSetting = JDPChart.HORIZONTAL + JDPChart.VERTICAL + JDPChart.FOREGROUND + JDPChart.BACKGROUND;
  168.       var1.gridColor = this.user.u._cvtcolor("Gray");
  169.       var1.maxPlotValue = 100.0F;
  170.       var1.minPlotValue = 0.0F;
  171.       if (var1.chartType == JDPChart.COLUMN || var1.chartType == JDPChart.BAR || var1.chartType == JDPChart.AREA) {
  172.          var1.autozoom = false;
  173.       }
  174.  
  175.       var1.pieLabel = var1.elementLegend;
  176.       var1.pieLabelColor = var1.xaxisTitleColor;
  177.    }
  178.  
  179.    public void ChartLayout1LoadData(String[] var1) {
  180.       JDPChartParms var2 = this.ChartLayout1.p;
  181.       int var4 = 0;
  182.       Vector var5 = new Vector();
  183.       String var6 = this.jaggSQL.getSEP();
  184.       int var7 = 0;
  185.       String var9 = "(1=1)";
  186.       byte var10 = 1;
  187.       byte var11 = 0;
  188.       if (var1 != null && var1.length > 0 && var1[0] != null) {
  189.          var9 = var9 + " AND stor_id='" + var1[0] + "'";
  190.       }
  191.  
  192.       if (var1 != null && var1.length > 1 && var1[1] != null) {
  193.          var9 = var9 + " AND ord_num='" + var1[1] + "'";
  194.       }
  195.  
  196.       if (var1 != null && var1.length > 2 && var1[2] != null) {
  197.          var9 = var9 + " AND title_id='" + var1[2] + "'";
  198.       }
  199.  
  200.       String var12 = "SELECT LEFT(format(ord_date, 'yy/mm/dd'),5),SUM(qty) FROM dbo_sales  WHERE " + var9 + " GROUP BY LEFT(format(ord_date, 'yy/mm/dd'),5) ORDER BY SUM(qty) DESC";
  201.       this.user.mainmsg.setStatusMsg("Accessing database...", 0);
  202.       this.jaggSQL.setDSN("JDP Tutorial");
  203.       this.jaggSQL.setCSTR("DSN=JDP Tutorial;UID=;PWD=;");
  204.       this.jaggSQL.setMRW("1000");
  205.       this.jaggSQL.setTOUT("60");
  206.       var4 = this.jaggSQL.execSQL(var12, var5);
  207.       if (var4 == -1) {
  208.          this.user.u.setSqlMessage(this.jaggSQL, var12);
  209.       } else if (var4 == 0) {
  210.          this.user.mainmsg.setStatusMsg("No records found that match the selected criteria", 10);
  211.          this.ChartLayout1.hide();
  212.       } else {
  213.          this.ChartLayout1.show();
  214.          int var13 = this.jaggSQL.getColumnCount();
  215.          var7 = this.jaggSQL.getRowCount();
  216.          if (var11 <= 0) {
  217.             var2.chartData = new float[var13 - var10][var7];
  218.             var2.xaxisLabel = new String[var7];
  219.             var2.piechartData = new float[var7];
  220.             var2.pieSplitSegment = new boolean[var7];
  221.             var2.pieLabel = new String[var7];
  222.             if (var2.chartType == JDPChart.PIE) {
  223.                var2.elementColor = new Color[var7];
  224.                var2.elementBorderColor = new Color[var7];
  225.                var2.elementLegend = new String[var7];
  226.             }
  227.  
  228.             for(int var14 = 0; var14 < var7; ++var14) {
  229.                String var8 = (String)var5.elementAt(var14);
  230.                StringTokenizer var3 = new StringTokenizer(var8);
  231.                var2.xaxisLabel[var14] = "";
  232.                if (var10 > 0) {
  233.                   var2.xaxisLabel[var14] = var3.nextToken(var6).trim();
  234.                }
  235.  
  236.                for(int var15 = 0; var15 < var13 - var10; ++var15) {
  237.                   var2.chartData[var15][var14] = Float.valueOf(var3.nextToken(var6).trim());
  238.                }
  239.  
  240.                var2.pieLabel[var14] = var2.xaxisLabel[var14];
  241.                var2.piechartData[var14] = var2.chartData[0][var14];
  242.                if (var2.chartType == JDPChart.PIE) {
  243.                   var2.elementColor[var14] = JDPUtils.colorList[var14 % 12];
  244.                   var2.elementBorderColor[var14] = Color.black;
  245.                   var2.elementLegend[var14] = var2.pieLabel[var14];
  246.                }
  247.             }
  248.          } else {
  249.             float[][] var25 = new float[1000][var7];
  250.             var2.xaxisLabel = new String[var7];
  251.             Vector var26 = new Vector();
  252.             if (var10 == 0) {
  253.                var26.addElement("");
  254.             }
  255.  
  256.             Vector var16 = new Vector();
  257.  
  258.             for(int var17 = 0; var17 < var7; ++var17) {
  259.                String var24 = (String)var5.elementAt(var17);
  260.                StringTokenizer var21 = new StringTokenizer(var24);
  261.                var2.xaxisLabel[var17] = "";
  262.                int var18 = 0;
  263.                if (var10 > 0) {
  264.                   String var19 = var21.nextToken(var6).trim();
  265.                   var18 = var26.indexOf(var19);
  266.                   if (var18 < 0) {
  267.                      var26.addElement(var19);
  268.                      var18 = var26.indexOf(var19);
  269.                      var2.xaxisLabel[var18] = var19;
  270.                   }
  271.                }
  272.  
  273.                String var28 = var21.nextToken(var6).trim();
  274.                int var20 = var16.indexOf(var28);
  275.                if (var20 < 0) {
  276.                   var16.addElement(var28);
  277.                   var20 = var16.indexOf(var28);
  278.                }
  279.  
  280.                var25[var20][var18] = Float.valueOf(var21.nextToken(var6).trim());
  281.             }
  282.  
  283.             int var27 = var16.size();
  284.             var2.chartData = new float[var27][var26.size()];
  285.  
  286.             for(int var29 = 0; var29 < var27; ++var29) {
  287.                for(int var30 = 0; var30 < var26.size(); ++var30) {
  288.                   var2.chartData[var29][var30] = var25[var29][var30];
  289.                }
  290.             }
  291.  
  292.             var2.elementColor = new Color[var27];
  293.             var2.elementBorderColor = new Color[var27];
  294.             var2.elementLegend = new String[var27];
  295.  
  296.             for(int var31 = 0; var31 < var27; ++var31) {
  297.                var2.elementColor[var31] = JDPUtils.colorList[var31 % 12];
  298.                var2.elementBorderColor[var31] = Color.black;
  299.                var2.elementLegend[var31] = (String)var16.elementAt(var31);
  300.             }
  301.          }
  302.  
  303.          this.ChartLayout1.calculateScaling();
  304.          this.ChartLayout1.repaint();
  305.          this.user.mainmsg.clearStatusMsg();
  306.       }
  307.    }
  308.  
  309.    public void ResultList1Main() {
  310.       String var1 = "stor_id";
  311.       String[] var2 = new String[0];
  312.       String var3 = "(1=1)";
  313.       String[] var4 = new String[]{"Store  name"};
  314.       String[] var5 = new String[]{"stor_name"};
  315.       this.jaggSQL.setDSN("JDP Tutorial");
  316.       this.jaggSQL.setCSTR("DSN=JDP Tutorial;UID=;PWD=;");
  317.       this.jaggSQL.setMRW("1000");
  318.       this.jaggSQL.setTOUT("60");
  319.       this.ResultList1 = new JDPSearchResults(this.user, super.targetPanel, true, this.jaggSQL, false, var1, var2, var3, var4, var5, var5, "", true, "Total Entries:");
  320.       int[] var6 = new int[]{3, 5, 0};
  321.       this.ResultList1.setMinWidth(200);
  322.       this.ResultList1.setIcons(var6);
  323.       this.ResultList1.setFromWhereClause(" FROM dbo_stores WHERE (1=1)");
  324.       this.ResultList1.clearList("");
  325.       this.ResultList1.loadList();
  326.    }
  327. }
  328.