home *** CD-ROM | disk | FTP | other *** search
Wrap
import com.bristol.jpclient.JpPrintGraphics; import com.bristol.jpclient.JpPrintJob; import com.bristol.jpclient.JpPrintJobCreator; import com.bristol.jpclient.JpPrinterProperties; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Container; import java.awt.Event; import java.awt.Font; import java.awt.Frame; import java.awt.GridLayout; import java.awt.Panel; import java.util.StringTokenizer; import java.util.Vector; public class JPrinterDemo extends JDPClassLayout { JDPUser user; JDPJagg jaggSQL; JDPPopupMessage popuppanel; JDPMaskEdit JDPMaskEditMain; String moduleParameter; Panel Main; Panel Panel2; JpPrintJobCreator JpPrintJobCreator1; JpPrintJob JpPrintJob1; JpPrinterProperties JpPrinterProperties1; Panel Panel1; JDPTabSelectPanel TabPanel1; Panel Panel3; JDPChart ChartLayout1; JDPButtons JDPButtons1; Panel Panel4; JDPSearchResults ResultList1; JDPRichText RichText1; JpPrintGraphics JpPrintGraphics1; public void InitClass(JDPUser var1, Panel var2, String var3) { this.user = var1; this.moduleParameter = var3; this.jaggSQL = new JDPJagg(var1.jaggPath); ((Container)this).setLayout(new BorderLayout()); this.popuppanel = new JDPPopupMessage(var1, this); ((Container)this).add(this.popuppanel); this.JDPMaskEditMain = new JDPMaskEdit(); this.Main = new Panel(); this.Panel2 = new Panel(); this.JpPrintJobCreator1 = new JpPrintJobCreator(); this.JpPrintJob1 = this.JpPrintJobCreator1.createPrintJob(); this.JpPrinterProperties1 = new JpPrinterProperties(); this.Panel1 = new Panel(); String[] var4 = new String[1]; Panel[] var5 = new Panel[]{new Panel()}; var5[0].setLayout(new BorderLayout()); var4[0] = "Sales Chart"; this.TabPanel1 = new JDPTabSelectPanel(var1, var4, var5, "North"); this.Panel3 = new Panel(); this.ChartLayout1Main(); String[] var6 = new String[]{"Print Chart"}; int[] var7 = new int[]{JDPButton.getIconValue("Printer")}; this.JDPButtons1 = new JDPButtons(var1, var6, var7, JDPButtons.getAlignmentValue("Horizontal")); this.Panel4 = new Panel(); this.ResultList1Main(); this.RichText1 = new JDPRichText(var1); this.Main.setLayout(new BorderLayout()); ((Container)this).add("Center", this.Main); this.Main.add("West", this.Panel2); this.Panel2.setLayout(new BorderLayout()); this.Main.add("Center", this.Panel1); this.Panel1.setLayout(new BorderLayout()); this.Panel1.add("Center", this.TabPanel1); var5[0].add("Center", this.Panel3); this.Panel3.setLayout(new BorderLayout()); this.Panel3.add("Center", this.ChartLayout1); this.Panel1.add("South", this.JDPButtons1); this.Panel1.add("West", this.Panel4); this.Panel4.setLayout(new GridLayout(2, 1)); this.Panel4.add(this.ResultList1); this.Panel4.add(this.RichText1); this.Panel2.setFont(new Font("TimesRoman", 0, 11)); this.Panel2.setForeground(var1.u._cvtcolor("Blue")); this.Panel2.setBackground(var1.u._cvtcolor("Magenta")); this.TabPanel1.setTabcolor(0, var1.u._cvtcolor("Black"), var1.u._cvtcolor("LightGray")); this.Panel3.setFont(new Font("Helvetica", 0, 11)); this.Panel3.setForeground(var1.u._cvtcolor("Black")); this.Panel3.setBackground(var1.u._cvtcolor("LightGray")); this.ChartLayout1.setBackground(var1.u._cvtcolor("White")); this.popuppanel.addComponent(this.JDPButtons1.button[0], "Print to local printer", "Print to local printer"); this.RichText1.setFont(new Font("Helvetica", 1, 11)); 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."); this.InitComponents(); var1.gParm.addElement(this); } public boolean handleEvent(Event var1) { switch (var1.id) { case 503: case 504: case 505: this.popuppanel.postEvent(var1); return false; case 1001: if (var1.target.equals(this.JDPButtons1.button[0])) { if (!this.JpPrintJob1.openPrinter((Frame)null, this.JpPrinterProperties1)) { return true; } this.JpPrintJob1.setMatch(1152, 900, 325, 254); this.JpPrintGraphics1 = this.JpPrintJob1.getGraphics(); this.JpPrintJob1.startDocument(); this.JpPrintJob1.startPage(); this.ChartLayout1.paint(this.JpPrintGraphics1); this.JpPrintJob1.endPage(); this.JpPrintJob1.endDocument(); this.JpPrintJob1.closePrinter(); return true; } else { if (var1.target.equals(this.ResultList1)) { this.ChartLayout1LoadData(this.ResultList1.getSelectedKey()); return true; } return false; } default: return false; } } public void InitComponents() { this.JpPrintGraphics1 = this.JpPrintJob1.getGraphics(); } public void ChartLayout1Main() { this.ChartLayout1SetChartParms(); this.ChartLayout1LoadData((String[])null); } public void ChartLayout1SetChartParms() { JDPChartParms var1; if (this.ChartLayout1 == null) { var1 = new JDPChartParms(); this.ChartLayout1 = new JDPChart(this.user, var1); } else { var1 = this.ChartLayout1.p; } var1.chartType = 5; var1.autoscale = true; var1.autozoom = true; var1.chartTitle = "SALES CHART"; var1.chartTitleFont = this.user.boldFont.getName(); var1.chartTitleColor = this.user.u._cvtcolor("Black"); var1.xaxisTitle = ""; var1.xaxisTitleFont = this.user.boldFont.getName(); var1.xaxisTitleColor = this.user.u._cvtcolor("Black"); var1.yaxisLabel = new String[10]; var1.elementLegendFont = this.user.boldFont.getName(); var1.xaxisLabelColor = this.user.u._cvtcolor("Black"); var1.yaxisLabelColor = this.user.u._cvtcolor("Black"); var1.chartFrameColor = this.user.u._cvtcolor("Black"); var1.elementLegend = new String[1]; var1.elementColor = new Color[1]; var1.elementBorderColor = new Color[1]; var1.elementLegend[0] = "Qty"; var1.elementColor[0] = this.user.u._cvtcolor("Magenta"); var1.elementBorderColor[0] = this.user.u._cvtcolor("Black"); var1.gridLineSetting = JDPChart.HORIZONTAL + JDPChart.VERTICAL + JDPChart.FOREGROUND + JDPChart.BACKGROUND; var1.gridColor = this.user.u._cvtcolor("Gray"); var1.maxPlotValue = 100.0F; var1.minPlotValue = 0.0F; if (var1.chartType == JDPChart.COLUMN || var1.chartType == JDPChart.BAR || var1.chartType == JDPChart.AREA) { var1.autozoom = false; } var1.pieLabel = var1.elementLegend; var1.pieLabelColor = var1.xaxisTitleColor; } public void ChartLayout1LoadData(String[] var1) { JDPChartParms var2 = this.ChartLayout1.p; int var4 = 0; Vector var5 = new Vector(); String var6 = this.jaggSQL.getSEP(); int var7 = 0; String var9 = "(1=1)"; byte var10 = 1; byte var11 = 0; if (var1 != null && var1.length > 0 && var1[0] != null) { var9 = var9 + " AND stor_id='" + var1[0] + "'"; } if (var1 != null && var1.length > 1 && var1[1] != null) { var9 = var9 + " AND ord_num='" + var1[1] + "'"; } if (var1 != null && var1.length > 2 && var1[2] != null) { var9 = var9 + " AND title_id='" + var1[2] + "'"; } 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"; this.user.mainmsg.setStatusMsg("Accessing database...", 0); this.jaggSQL.setDSN("JDP Tutorial"); this.jaggSQL.setCSTR("DSN=JDP Tutorial;UID=;PWD=;"); this.jaggSQL.setMRW("1000"); this.jaggSQL.setTOUT("60"); var4 = this.jaggSQL.execSQL(var12, var5); if (var4 == -1) { this.user.u.setSqlMessage(this.jaggSQL, var12); } else if (var4 == 0) { this.user.mainmsg.setStatusMsg("No records found that match the selected criteria", 10); this.ChartLayout1.hide(); } else { this.ChartLayout1.show(); int var13 = this.jaggSQL.getColumnCount(); var7 = this.jaggSQL.getRowCount(); if (var11 <= 0) { var2.chartData = new float[var13 - var10][var7]; var2.xaxisLabel = new String[var7]; var2.piechartData = new float[var7]; var2.pieSplitSegment = new boolean[var7]; var2.pieLabel = new String[var7]; if (var2.chartType == JDPChart.PIE) { var2.elementColor = new Color[var7]; var2.elementBorderColor = new Color[var7]; var2.elementLegend = new String[var7]; } for(int var14 = 0; var14 < var7; ++var14) { String var8 = (String)var5.elementAt(var14); StringTokenizer var3 = new StringTokenizer(var8); var2.xaxisLabel[var14] = ""; if (var10 > 0) { var2.xaxisLabel[var14] = var3.nextToken(var6).trim(); } for(int var15 = 0; var15 < var13 - var10; ++var15) { var2.chartData[var15][var14] = Float.valueOf(var3.nextToken(var6).trim()); } var2.pieLabel[var14] = var2.xaxisLabel[var14]; var2.piechartData[var14] = var2.chartData[0][var14]; if (var2.chartType == JDPChart.PIE) { var2.elementColor[var14] = JDPUtils.colorList[var14 % 12]; var2.elementBorderColor[var14] = Color.black; var2.elementLegend[var14] = var2.pieLabel[var14]; } } } else { float[][] var25 = new float[1000][var7]; var2.xaxisLabel = new String[var7]; Vector var26 = new Vector(); if (var10 == 0) { var26.addElement(""); } Vector var16 = new Vector(); for(int var17 = 0; var17 < var7; ++var17) { String var24 = (String)var5.elementAt(var17); StringTokenizer var21 = new StringTokenizer(var24); var2.xaxisLabel[var17] = ""; int var18 = 0; if (var10 > 0) { String var19 = var21.nextToken(var6).trim(); var18 = var26.indexOf(var19); if (var18 < 0) { var26.addElement(var19); var18 = var26.indexOf(var19); var2.xaxisLabel[var18] = var19; } } String var28 = var21.nextToken(var6).trim(); int var20 = var16.indexOf(var28); if (var20 < 0) { var16.addElement(var28); var20 = var16.indexOf(var28); } var25[var20][var18] = Float.valueOf(var21.nextToken(var6).trim()); } int var27 = var16.size(); var2.chartData = new float[var27][var26.size()]; for(int var29 = 0; var29 < var27; ++var29) { for(int var30 = 0; var30 < var26.size(); ++var30) { var2.chartData[var29][var30] = var25[var29][var30]; } } var2.elementColor = new Color[var27]; var2.elementBorderColor = new Color[var27]; var2.elementLegend = new String[var27]; for(int var31 = 0; var31 < var27; ++var31) { var2.elementColor[var31] = JDPUtils.colorList[var31 % 12]; var2.elementBorderColor[var31] = Color.black; var2.elementLegend[var31] = (String)var16.elementAt(var31); } } this.ChartLayout1.calculateScaling(); this.ChartLayout1.repaint(); this.user.mainmsg.clearStatusMsg(); } } public void ResultList1Main() { String var1 = "stor_id"; String[] var2 = new String[0]; String var3 = "(1=1)"; String[] var4 = new String[]{"Store name"}; String[] var5 = new String[]{"stor_name"}; this.jaggSQL.setDSN("JDP Tutorial"); this.jaggSQL.setCSTR("DSN=JDP Tutorial;UID=;PWD=;"); this.jaggSQL.setMRW("1000"); this.jaggSQL.setTOUT("60"); this.ResultList1 = new JDPSearchResults(this.user, super.targetPanel, true, this.jaggSQL, false, var1, var2, var3, var4, var5, var5, "", true, "Total Entries:"); int[] var6 = new int[]{3, 5, 0}; this.ResultList1.setMinWidth(200); this.ResultList1.setIcons(var6); this.ResultList1.setFromWhereClause(" FROM dbo_stores WHERE (1=1)"); this.ResultList1.clearList(""); this.ResultList1.loadList(); } }