home *** CD-ROM | disk | FTP | other *** search
- import java.awt.Color;
- import java.awt.Component;
- import java.awt.Dimension;
- import java.awt.Event;
- import java.awt.Font;
- import java.awt.FontMetrics;
- import java.awt.Graphics;
- import java.awt.Image;
- import java.awt.Insets;
- import java.awt.Panel;
- import java.awt.Rectangle;
- import java.awt.image.ImageObserver;
- import java.util.Date;
-
- public class JDPChart extends Panel {
- JDPUser user;
- // $FF: renamed from: p JDPChartParms
- JDPChartParms field_0;
- Dimension Bounds;
- boolean debugon;
- Image offscreen;
- Rectangle offscreensize;
- // $FF: renamed from: gr java.awt.Graphics
- Graphics field_1;
- float maxYval;
- float minYval;
- float scaleXFactor;
- float scaleYFactor;
- int minx;
- int miny;
- int maxx;
- int maxy;
- int totalXplots;
- int totalXcolumns;
- int columnWidth;
- static int COLUMN = 1;
- static int BAR = 2;
- static int LINE = 3;
- static int AREA = 4;
- static int PIE = 5;
- static int GANTT = 6;
- static int HORIZONTAL = 1;
- static int VERTICAL = 10;
- static int FOREGROUND = 100;
- static int BACKGROUND = 1000;
- int[] gridArray;
- int[] widths;
- Font lastFont;
- // $FF: renamed from: fm java.awt.FontMetrics
- FontMetrics field_2;
- int minimumWidth = 60;
- int minimumHeight = 60;
-
- public void paint(Graphics var1) {
- this.update(var1);
- }
-
- public JDPChart(JDPUser var1, JDPChartParms var2) {
- if (!JDPUser.classactivated) {
- System.out.println("Software Violation - this class may only be used in conjunction with JDesignerPro.");
- } else {
- this.user = var1;
- this.field_0 = var2;
- if (var2.chartData != null) {
- this.calculateScaling();
- ((Component)this).repaint();
- }
- }
- }
-
- void plotPieChart(Graphics var1) {
- this.Bounds = ((Component)this).size();
- this.maxx = this.Bounds.width - this.minx - 15;
- this.maxy = this.Bounds.height - 15;
- float var2 = 0.0F;
- byte var3 = 15;
- if (this.field_0.piechartData != null) {
- if (this.field_0.elementLegend != null && this.field_0.elementLegend.length > 0) {
- var1.getFont();
- if (this.field_0.elementLegendFont != null) {
- var1.setFont(new Font(this.field_0.elementLegendFont, 0, 12));
- } else {
- var1.setFont(new Font("TimesRoman", 0, 12));
- }
-
- int var4 = 0;
-
- for(int var5 = 0; var5 < this.field_0.elementLegend.length; ++var5) {
- int var6 = this.user.u.StringWidth(var1, this.field_0.elementLegend[var5]);
- if (var6 > var4) {
- var4 = var6;
- }
- }
-
- this.maxx = this.maxx - var4 - 12;
- this.drawLegend(var1);
- }
-
- byte var18 = 0;
- if (this.field_0.pieSplitSegment != null) {
- for(int var19 = 0; var19 < this.field_0.pieSplitSegment.length; ++var19) {
- if (this.field_0.pieSplitSegment[var19]) {
- var18 = var3;
- }
- }
- }
-
- float var20 = (float)(this.maxx - 50 - var18 * 2);
- float var21 = (float)(25 + var18);
- float var7 = (float)(this.miny + var18);
- if ((float)(this.maxy - 25) < var20) {
- var20 = (float)(this.maxy - 50 - var18 * 2);
- var21 = ((float)this.maxx - var20) / 2.0F;
- } else {
- var7 = ((float)this.maxy - var20) / 2.0F;
- }
-
- this.drawChartTitle(var1);
-
- for(int var8 = 0; var8 < this.field_0.piechartData.length; ++var8) {
- var2 += this.field_0.piechartData[var8];
- }
-
- float var22 = 0.0F;
- float var9 = 0.0F;
- float var10 = 0.0F;
- if (this.debugon) {
- System.out.print("p.piechartData.length = ");
- System.out.println(this.field_0.piechartData.length);
- System.out.print("totalSum = ");
- System.out.println(var2);
- }
-
- for(int var11 = 0; var11 < this.field_0.piechartData.length; ++var11) {
- float var12 = 360.0F * this.field_0.piechartData[var11] / var2;
- if (this.field_0.elementColor.length > var11) {
- var1.setColor(this.field_0.elementColor[var11]);
- }
-
- var9 = 0.0F;
- var10 = 0.0F;
- float var13 = (float)((Math.PI * 2D) * (double)(var22 / 360.0F + var12 / 720.0F));
- if (this.field_0.pieSplitSegment != null && this.field_0.pieSplitSegment[var11]) {
- var9 = (float)var3 * (float)Math.cos((double)var13);
- var10 = (float)(-var3) * (float)Math.sin((double)var13);
- }
-
- if (this.debugon) {
- System.out.print("startAngle = ");
- System.out.println(var22);
- System.out.print("arcAngle = ");
- System.out.println(var12);
- System.out.print("thisangle = ");
- System.out.println(var13);
- System.out.print("cos(thisangle) = ");
- System.out.println(Math.cos((double)var13));
- System.out.print("sin(thisangle) = ");
- System.out.println(Math.sin((double)var13));
- System.out.print("startAngle+arcAngle = ");
- System.out.println(var22 + var12);
- }
-
- var1.fillArc((int)(var21 + var9), (int)(var7 + var10), (int)var20, (int)var20, (int)var22, (int)(var12 + 1.0F));
- if (this.field_0.elementBorderColor.length > var11) {
- var1.setColor(this.field_0.elementBorderColor[var11]);
- }
-
- var1.drawArc((int)(var21 + var9), (int)(var7 + var10), (int)var20, (int)var20, (int)var22, (int)(var12 + 1.0F));
- int var14 = (int)(var21 + var9 + (float)((int)(var20 / 2.0F)));
- int var15 = (int)(var7 + var10 + (float)((int)(var20 / 2.0F)));
- int var16 = (int)(var20 / 2.0F);
- var1.drawLine(var14, var15, (int)((double)var14 + (double)var16 * Math.cos((Math.PI * 2D) * (((double)var22 - (double)0.5F) / (double)360.0F))), (int)((double)var15 - (double)var16 * Math.sin((Math.PI * 2D) * (((double)var22 - (double)0.5F) / (double)360.0F))));
- if (var11 == this.field_0.piechartData.length - 1) {
- var1.drawLine(var14, var15, var14 + var16, var15);
- }
-
- var1.setColor(this.field_0.pieLabelColor);
- float var17 = 0.0F;
- if (Math.cos((double)var13) < (double)0.0F) {
- var17 = (float)(this.user.u.StringWidth(var1, this.field_0.pieLabel[var11]) - 15);
- }
-
- if (this.field_0.pieLabel.length > var11) {
- var1.drawString(this.field_0.pieLabel[var11], (int)((double)((float)var14 - var17) + (double)(var16 + 15) * Math.cos((double)var13) - (double)5.0F), (int)((double)var15 - (double)(var16 + 15) * Math.sin((double)var13)) + 7);
- }
-
- var22 += var12;
- }
-
- }
- }
-
- void drawChartTitle(Graphics var1) {
- if (this.field_0.chartTitle != null) {
- var1.setColor(this.field_0.chartTitleColor);
- Font var2 = var1.getFont();
- if (this.field_0.chartTitleFont != null) {
- var1.setFont(new Font(this.field_0.chartTitleFont, 1, 14));
- } else {
- var1.setFont(new Font("TimesRoman", 1, 14));
- }
-
- var1.drawString(this.field_0.chartTitle, (this.maxx - this.minx - this.user.u.StringWidth(var1, this.field_0.chartTitle)) / 2 + this.minx, 10);
- var1.setFont(var2);
- }
-
- }
-
- public Dimension minimumSize() {
- Dimension var1 = new Dimension(this.minimumWidth, this.minimumHeight);
- return var1;
- }
-
- public void update(Graphics var1) {
- Rectangle var2 = ((Component)this).bounds();
- var2.width -= 3;
- var2.height -= 3;
- if (this.offscreen == null || var2.width != this.offscreensize.width || var2.height != this.offscreensize.height) {
- this.offscreen = ((Component)this).createImage(var2.width, var2.height);
- this.offscreensize = var2;
- this.field_1 = this.offscreen.getGraphics();
- this.field_1.setFont(((Component)this).getFont());
- }
-
- this.field_1.setColor(((Component)this).getBackground());
- this.field_1.fillRect(0, 0, var2.width, var2.height);
- this.field_1.setColor(Color.black);
- if (this.field_0.chartType == COLUMN || this.field_0.chartType == BAR || this.field_0.chartType == LINE || this.field_0.chartType == AREA || this.field_0.chartType == GANTT) {
- this.plotRegularChart(this.field_1);
- }
-
- if (this.field_0.chartType == PIE) {
- this.plotPieChart(this.field_1);
- }
-
- var1.drawImage(this.offscreen, 3, 3, (ImageObserver)null);
- }
-
- void drawLegend(Graphics var1) {
- var1.drawRect(this.maxx + 5, this.miny - 5, this.Bounds.width - this.maxx - 10, this.field_0.elementLegend.length * 15 + 5);
-
- for(int var2 = 0; var2 < this.field_0.elementLegend.length; ++var2) {
- var1.setColor(this.field_0.elementColor[var2]);
- var1.fillRect(this.maxx + 7, this.miny + var2 * 15, 10, 10);
- var1.setColor(this.field_0.elementBorderColor[var2]);
- var1.drawRect(this.maxx + 7, this.miny + var2 * 15, 10, 10);
- var1.setColor(Color.black);
- if (this.field_0.elementLegend[var2] != null) {
- var1.drawString(this.field_0.elementLegend[var2], this.maxx + 19, this.miny + 10 + var2 * 15);
- }
- }
-
- }
-
- public void calculateScaling() {
- this.maxYval = -1.0E9F;
- this.minYval = 1.0E9F;
- if (this.field_0.chartData != null && this.field_0.chartData.length != 0) {
- int var1 = 0;
- this.gridArray = new int[4];
- String var2 = Integer.toString(this.field_0.gridLineSetting);
- int var3 = var2.length();
- if (var3 > 4) {
- var3 = 4;
- }
-
- for(int var4 = var3; var4 > 0; --var4) {
- if (var2.substring(var4 - 1, var4).compareTo("1") == 0) {
- this.gridArray[var1] = 1;
- }
-
- ++var1;
- }
-
- this.minx = 30;
- this.miny = 5;
- if (this.field_0.chartType == COLUMN || this.field_0.chartType == LINE || this.field_0.chartType == AREA) {
- this.minx = 30;
- }
-
- if (this.field_0.chartType == PIE) {
- this.miny += 15;
- }
-
- this.totalXplots = this.field_0.chartData[0].length;
- this.totalXcolumns = this.field_0.chartData.length;
- if (this.debugon) {
- System.out.println("totalXplots = " + Integer.toString(this.totalXplots));
- System.out.println("totalXcolumns = " + Integer.toString(this.totalXcolumns));
- }
-
- if (this.field_0.autoscale) {
- if (this.field_0.chartType == COLUMN || this.field_0.chartType == LINE || this.field_0.chartType == BAR || this.field_0.chartType == GANTT) {
- for(int var7 = 0; var7 < this.totalXcolumns; ++var7) {
- for(int var5 = 0; var5 < this.totalXplots; ++var5) {
- if (this.field_0.chartData[var7][var5] > this.maxYval) {
- this.maxYval = this.field_0.chartData[var7][var5];
- }
-
- if (this.field_0.chartData[var7][var5] < this.minYval) {
- this.minYval = this.field_0.chartData[var7][var5];
- }
- }
- }
-
- if (this.minYval > 0.0F && !this.field_0.autozoom && this.field_0.chartType != GANTT) {
- this.minYval = 0.0F;
- } else if (this.minYval > 0.0F && this.field_0.autozoom && this.field_0.chartType != GANTT) {
- this.minYval = 0.95F * this.minYval;
- }
- }
-
- if (this.field_0.chartType == AREA) {
- float var8 = 0.0F;
-
- for(int var9 = 0; var9 < this.totalXplots; ++var9) {
- for(int var6 = 0; var6 < this.totalXcolumns; ++var6) {
- var8 += this.field_0.chartData[var6][var9];
- }
-
- if (var8 > this.maxYval) {
- this.maxYval = var8;
- }
-
- if (var8 < this.minYval) {
- this.minYval = var8;
- }
-
- var8 = 0.0F;
- }
-
- if (this.minYval > 0.0F && !this.field_0.autozoom) {
- this.minYval = 0.0F;
- }
- }
- } else {
- this.maxYval = this.field_0.maxPlotValue;
- this.minYval = this.field_0.minPlotValue;
- }
-
- if (this.field_0.chartTitle != null) {
- this.miny += 15;
- }
-
- if (this.debugon) {
- System.out.print("maxYval = ");
- System.out.println(this.maxYval);
- System.out.print("minYval = ");
- System.out.println(this.minYval);
- }
-
- }
- }
-
- void drawXaxisLabels(Graphics var1) {
- if (this.field_0.xaxisLabel != null) {
- var1.getFont();
- if (this.field_0.xaxisLabelFont != null) {
- var1.setFont(new Font(this.field_0.xaxisLabelFont, 0, 12));
- } else {
- var1.setFont(new Font("TimesRoman", 0, 12));
- }
-
- if (this.field_0.chartType == COLUMN) {
- for(int var2 = 0; var2 < this.totalXplots; ++var2) {
- var1.setColor(this.field_0.xaxisLabelColor);
- var1.drawString(this.field_0.xaxisLabel[var2], (int)((float)(this.minx + 5 + this.totalXcolumns * this.columnWidth / 2) + this.scaleXFactor * (float)var2 - (float)(this.user.u.StringWidth(var1, this.field_0.xaxisLabel[var2]) / 2)), this.maxy + 15);
- }
- }
-
- if (this.field_0.chartType == LINE || this.field_0.chartType == AREA) {
- for(int var3 = 0; var3 < this.totalXplots; ++var3) {
- var1.setColor(this.field_0.xaxisLabelColor);
- var1.drawString(this.field_0.xaxisLabel[var3], (int)((float)this.minx + this.scaleXFactor * (float)var3 - (float)(this.user.u.StringWidth(var1, this.field_0.xaxisLabel[var3]) / 2)), this.maxy + 15);
- }
- }
-
- if (this.field_0.chartType == BAR) {
- for(int var4 = 0; var4 < this.totalXplots; ++var4) {
- var1.setColor(this.field_0.xaxisLabelColor);
- var1.drawString(this.field_0.xaxisLabel[var4], 1, (int)((float)(this.miny + 5 + this.totalXcolumns * this.columnWidth / 2) + this.scaleXFactor * (float)var4));
- }
- }
-
- if (this.field_0.chartType == GANTT) {
- for(int var5 = 0; var5 < this.totalXplots; ++var5) {
- var1.setColor(this.field_0.xaxisLabelColor);
- var1.drawString(this.field_0.xaxisLabel[var5], 1, this.miny + 20 + this.columnWidth * var5);
- }
- }
-
- }
- }
-
- public void setMinimumWidth(int var1) {
- this.minimumWidth = var1;
- }
-
- public int getMinimumWidth() {
- return this.minimumWidth;
- }
-
- public void setMinimumHeight(int var1) {
- this.minimumHeight = var1;
- }
-
- public Dimension preferredSize() {
- return this.minimumSize();
- }
-
- public int getMinimumHeight() {
- return this.minimumHeight;
- }
-
- public Insets insets() {
- return new Insets(3, 3, 0, 0);
- }
-
- public void layout() {
- ((Component)this).repaint();
- }
-
- public boolean handleEvent(Event var1) {
- switch (var1.id) {
- case 202:
- ((Component)this).repaint();
- return false;
- case 1001:
- return false;
- default:
- return false;
- }
- }
-
- void plotRegularChart(Graphics var1) {
- float var2 = 0.0F;
- if (this.field_0.chartData != null && this.totalXplots != 0 && (this.totalXplots != 1 || this.field_0.chartType != LINE && this.field_0.chartType != AREA)) {
- if (this.field_0.chartType == BAR || this.field_0.chartType == GANTT) {
- this.minx = 0;
- if (this.field_0.xaxisLabel != null) {
- for(int var3 = 0; var3 < this.field_0.xaxisLabel.length; ++var3) {
- int var4 = this.user.u.StringWidth(var1, this.field_0.xaxisLabel[var3]);
- if (var4 + 10 > this.minx) {
- this.minx = var4 + 10;
- }
- }
- }
- }
-
- this.Bounds = ((Component)this).size();
- this.maxx = this.Bounds.width - 15;
- if (this.field_0.elementLegend != null && this.field_0.elementLegend.length > 0) {
- var1.getFont();
- if (this.field_0.elementLegendFont != null) {
- var1.setFont(new Font(this.field_0.elementLegendFont, 0, 12));
- } else {
- var1.setFont(new Font("TimesRoman", 0, 12));
- }
-
- int var11 = 0;
-
- for(int var14 = 0; var14 < this.field_0.elementLegend.length; ++var14) {
- int var5 = this.user.u.StringWidth(var1, this.field_0.elementLegend[var14]);
- if (var5 > var11) {
- var11 = var5;
- }
- }
-
- this.maxx = this.maxx - var11 - 12;
- this.drawLegend(var1);
- }
-
- this.maxy = this.Bounds.height - this.miny;
- if (this.field_0.xaxisLabel != null) {
- this.maxy -= 10;
- }
-
- if (this.field_0.xaxisTitle != null) {
- this.maxy -= 10;
- }
-
- if (this.field_0.chartType == COLUMN) {
- this.scaleXFactor = (float)((this.maxx - this.minx) / this.totalXplots);
- this.scaleYFactor = (float)(-(this.maxy - this.miny)) / (this.maxYval - this.minYval);
- this.columnWidth = (int)((double)(this.maxx - this.minx) / ((double)this.totalXplots * (double)this.totalXcolumns * 1.15));
- } else if (this.field_0.chartType != LINE && this.field_0.chartType != AREA) {
- if (this.field_0.chartType == BAR) {
- this.scaleXFactor = (float)((this.maxy - this.miny) / this.totalXplots);
- this.scaleYFactor = (float)(this.maxx - this.minx) / (this.maxYval - this.minYval);
- this.columnWidth = (int)((double)(this.maxy - this.miny) / ((double)this.totalXplots * (double)this.totalXcolumns * 1.15));
- } else if (this.field_0.chartType == GANTT) {
- this.scaleXFactor = (float)((this.maxy - this.miny) / this.totalXplots);
- this.scaleYFactor = (float)(this.maxx - this.minx) / (this.maxYval - this.minYval);
- this.columnWidth = (this.maxy - this.miny) / this.totalXplots;
- }
- } else {
- this.scaleXFactor = (float)((this.maxx - this.minx) / (this.totalXplots - 1));
- this.scaleYFactor = (float)(-(this.maxy - this.miny)) / (this.maxYval - this.minYval);
- this.columnWidth = (int)((double)(this.maxx - this.minx) / ((double)this.totalXplots * (double)this.totalXcolumns * 1.15));
- }
-
- if (this.columnWidth > (this.maxx - this.minx) / 3) {
- this.columnWidth = (this.maxx - this.minx) / 3;
- }
-
- if (this.debugon) {
- System.out.print("Bounds.width = ");
- System.out.println(this.Bounds.width);
- System.out.print("Bounds.height = ");
- System.out.println(this.Bounds.height);
- System.out.print("scaleXFactor = ");
- System.out.println(this.scaleXFactor);
- System.out.print("scaleYFactor = ");
- System.out.println(this.scaleYFactor);
- System.out.print("columnWidth = ");
- System.out.println(this.columnWidth);
- }
-
- this.drawChartTitle(var1);
- if (this.field_0.xaxisTitle != null) {
- var1.setColor(this.field_0.xaxisTitleColor);
- Font var12 = var1.getFont();
- if (this.field_0.xaxisTitleFont != null) {
- var1.setFont(new Font(this.field_0.xaxisTitleFont, 1, 12));
- } else {
- var1.setFont(new Font("TimesRoman", 1, 12));
- }
-
- if (this.field_0.chartType != BAR && this.field_0.chartType != GANTT) {
- var1.drawString(this.field_0.xaxisTitle, (this.maxx - this.minx - this.user.u.StringWidth(var1, this.field_0.xaxisTitle)) / 2 + this.minx, this.maxy + 27);
- } else {
- var1.drawString(this.field_0.xaxisTitle, 1, this.maxy + 27);
- }
-
- var1.setFont(var12);
- }
-
- this.drawYaxisScale(var1);
- this.drawXaxisLabels(var1);
- int var13 = 0;
- if (this.field_0.chartType != COLUMN && this.field_0.chartType != LINE && this.field_0.chartType != AREA) {
- if (this.field_0.chartType == BAR) {
- var13 = (int)((float)this.minx - this.scaleYFactor * this.minYval);
- if (var13 > this.minx) {
- var1.setColor(this.field_0.chartFrameColor);
- var1.drawLine(var13, this.miny - 5, var13, this.maxy);
- }
- }
- } else {
- var13 = (int)((float)this.maxy - this.scaleYFactor * this.minYval);
- if (var13 < this.maxy && var13 > this.miny) {
- var1.setColor(this.field_0.chartFrameColor);
- var1.drawRect(this.minx, var13, this.maxx - this.minx + 1, 0);
- }
- }
-
- if (this.field_0.chartType == COLUMN) {
- for(int var15 = 0; var15 < this.totalXcolumns; ++var15) {
- for(int var20 = 0; var20 < this.totalXplots; ++var20) {
- if (this.field_0.chartData[var15][var20] != 0.0F) {
- int var6 = (int)((float)this.maxy + this.scaleYFactor * (this.field_0.chartData[var15][var20] - this.minYval));
- int var7 = (int)(-this.scaleYFactor * (this.field_0.chartData[var15][var20] - this.minYval) + 1.0F);
- if (var7 + var6 > var13 && var6 < var13) {
- var7 = var13 - var6;
- }
-
- if (var6 > var13) {
- var7 = var6 - var13;
- var6 = var13;
- }
-
- var1.setColor(this.field_0.elementColor[var15]);
- var1.fillRect((int)((float)(this.minx + 5) + this.scaleXFactor * (float)var20 + (float)(this.columnWidth * var15)), var6, this.columnWidth, var7);
- var1.setColor(this.field_0.elementBorderColor[var15]);
- var1.drawRect((int)((float)(this.minx + 5) + this.scaleXFactor * (float)var20 + (float)(this.columnWidth * var15)), var6, this.columnWidth, var7);
- }
- }
- }
- }
-
- if (this.field_0.chartType == BAR) {
- for(int var16 = 0; var16 < this.totalXcolumns; ++var16) {
- for(int var21 = 0; var21 < this.totalXplots; ++var21) {
- if (this.field_0.chartData[var16][var21] != 0.0F) {
- int var25 = this.minx;
- int var30 = (int)(this.scaleYFactor * (this.field_0.chartData[var16][var21] - this.minYval) + 1.0F);
- if (var25 < var13) {
- if (var25 + var30 < var13) {
- var25 += var30;
- var30 = var13 - var25;
- } else {
- var30 -= var13 - var25;
- var25 = var13;
- }
- }
-
- var1.setColor(this.field_0.elementColor[var16]);
- var1.fillRect(var25, (int)((float)this.miny + this.scaleXFactor * (float)var21 + (float)(this.columnWidth * var16)), var30, this.columnWidth);
- var1.setColor(this.field_0.elementBorderColor[var16]);
- var1.drawRect(var25, (int)((float)this.miny + this.scaleXFactor * (float)var21 + (float)(this.columnWidth * var16)), var30, this.columnWidth);
- }
- }
- }
- }
-
- if (this.field_0.chartType == GANTT) {
- for(int var17 = 0; var17 < this.field_0.chartData[0].length; ++var17) {
- byte var22 = 0;
- int var26 = this.minx + (int)(this.scaleYFactor * (this.field_0.chartData[0][var17] - this.minYval));
- int var31 = (int)(this.scaleYFactor * (this.field_0.chartData[1][var17] - this.field_0.chartData[0][var17]));
- var1.setColor(this.field_0.elementColor[var17]);
- var1.fillRect(var26, (int)((float)this.miny + this.scaleXFactor * (float)var22 + (float)(this.columnWidth * var17)), var31, this.columnWidth);
- var1.setColor(this.field_0.elementBorderColor[var17]);
- var1.drawRect(var26, (int)((float)this.miny + this.scaleXFactor * (float)var22 + (float)(this.columnWidth * var17)), var31, this.columnWidth);
- }
- }
-
- if (this.field_0.chartType == LINE) {
- float var18 = (float)(this.minx + 1);
-
- for(int var23 = 1; var23 < this.totalXplots; ++var23) {
- if (this.gridArray[1] == 1 && this.gridArray[3] == 1 && var18 != (float)(this.minx + 1)) {
- var1.setColor(this.field_0.gridColor);
- var1.drawLine((int)var18, this.miny - 5, (int)var18, this.maxy - 1);
- }
-
- float var27 = (float)this.maxy;
- float var32 = (float)this.maxy;
- var2 = var18 + this.scaleXFactor;
-
- for(int var8 = 0; var8 < this.totalXcolumns; ++var8) {
- var27 = (float)this.maxy + this.scaleYFactor * this.field_0.chartData[var8][var23 - 1] - 1.0F + (float)(var13 - this.maxy);
- var32 = (float)this.maxy + this.scaleYFactor * this.field_0.chartData[var8][var23] - 1.0F + (float)(var13 - this.maxy);
- var1.setColor(this.field_0.elementColor[var8]);
- var1.drawLine((int)var18, (int)var27, (int)var2 - 1, (int)var32);
- var1.drawLine((int)var18, (int)var27 + 1, (int)var2 - 1, (int)var32 + 1);
- }
-
- var18 = var2;
- }
- }
-
- if (this.field_0.chartType == AREA) {
- int[] var19 = new int[5];
- int[] var24 = new int[5];
- float var29 = (float)(this.minx + 1);
-
- for(int var34 = 1; var34 < this.totalXplots; ++var34) {
- if (this.gridArray[1] == 1 && this.gridArray[3] == 1 && var29 != (float)(this.minx + 1)) {
- var1.setColor(this.field_0.gridColor);
- var1.drawLine((int)var29, this.miny - 5, (int)var29, this.maxy - 1);
- }
-
- float var35 = (float)this.maxy;
- float var9 = (float)this.maxy;
- var2 = var29 + this.scaleXFactor;
-
- for(int var10 = 0; var10 < this.totalXcolumns; ++var10) {
- var19[0] = (int)var29;
- var24[0] = (int)var35;
- var19[1] = (int)var2;
- var24[1] = (int)var9;
- var19[2] = (int)var2;
- var24[2] = (int)(var9 + this.scaleYFactor * this.field_0.chartData[var10][var34]);
- var19[3] = (int)var29;
- var24[3] = (int)(var35 + this.scaleYFactor * this.field_0.chartData[var10][var34 - 1]);
- var19[4] = (int)var29;
- var24[4] = (int)var35;
- var35 += this.scaleYFactor * this.field_0.chartData[var10][var34 - 1];
- var9 += this.scaleYFactor * this.field_0.chartData[var10][var34];
- var1.setColor(this.field_0.elementColor[var10]);
- var1.fillPolygon(var19, var24, 4);
- var1.setColor(this.field_0.elementBorderColor[var10]);
- var1.drawLine(var19[0], var24[0], var19[1], var24[1]);
- var1.drawLine(var19[3], var24[3], var19[2], var24[2]);
- }
-
- if (this.gridArray[1] == 1 && this.gridArray[2] == 1 && var29 != (float)(this.minx + 1)) {
- var1.setColor(this.field_0.gridColor);
- var1.drawLine((int)var29, (int)var35, (int)var29, this.maxy - 1);
- }
-
- var29 = var2;
- }
- }
-
- var1.setColor(this.field_0.chartFrameColor);
- if (this.field_0.chartType != COLUMN && this.field_0.chartType != BAR && this.field_0.chartType != GANTT) {
- if (this.field_0.chartType == LINE || this.field_0.chartType == AREA) {
- var1.setColor(((Component)this).getBackground());
- var1.fillRect((int)var2, this.miny - 5, (int)((float)this.maxx - var2 + 1.0F), this.maxy - this.miny + 5);
- var1.setColor(this.field_0.chartFrameColor);
- var1.drawRect(this.minx, this.miny - 5, (int)(var2 - (float)this.minx), this.maxy - this.miny + 5);
- }
-
- } else {
- var1.drawRect(this.minx, this.miny - 5, this.maxx - this.minx + 2, this.maxy - this.miny + 5);
- }
- }
- }
-
- void drawYaxisScale(Graphics var1) {
- int var2 = 0;
- if (!(this.maxYval <= 0.0F)) {
- var1.getFont();
- if (this.field_0.yaxisLabelFont != null) {
- var1.setFont(new Font(this.field_0.yaxisLabelFont, 0, 12));
- } else {
- var1.setFont(new Font("TimesRoman", 0, 12));
- }
-
- int var3 = Math.round(this.maxYval / 10.0F) * 10;
- if (this.minYval >= 0.0F) {
- var2 = (int)Math.floor((double)(this.minYval / 10.0F)) * 10;
- } else {
- var2 = -((int)Math.floor((double)(-this.minYval / 10.0F))) * 10;
- if ((float)var2 > this.minYval) {
- var2 = (int)this.minYval;
- }
- }
-
- if (this.field_0.chartType == GANTT) {
- var2 = (int)this.minYval;
- var3 = (int)this.maxYval;
- }
-
- int var4 = (var3 - var2) / 10;
- if (var4 == 0) {
- var4 = 1;
- }
-
- if (this.debugon) {
- System.out.print("maxpy = ");
- System.out.println(var3);
- System.out.print("minpy = ");
- System.out.println(var2);
- }
-
- for(int var5 = var2; var5 <= var3; var5 += var4) {
- var1.setColor(this.field_0.chartFrameColor);
- double var6;
- if (this.field_0.chartType != BAR && this.field_0.chartType != GANTT) {
- var6 = (double)((float)this.maxy + (float)(var5 - var2) * this.scaleYFactor);
- if (var6 < (double)this.miny || var6 > (double)this.maxy) {
- break;
- }
-
- var1.drawLine(this.minx - 3, (int)var6, this.minx, (int)var6);
- } else {
- var6 = (double)((float)this.minx + (float)(var5 - var2) * this.scaleYFactor);
- if (var6 > (double)this.maxx || var6 < (double)this.minx) {
- break;
- }
-
- var1.drawLine((int)var6, this.maxy, (int)var6, this.maxy + 3);
- }
-
- if (this.field_0.chartType != BAR && this.field_0.chartType != GANTT) {
- if (this.gridArray[0] == 1 && var6 < (double)this.maxy) {
- var1.setColor(this.field_0.gridColor);
- var1.drawLine(this.minx, (int)var6, this.maxx, (int)var6);
- }
- } else if (this.gridArray[0] == 1 && var6 < (double)this.maxx) {
- var1.setColor(this.field_0.gridColor);
- var1.drawLine((int)var6, this.miny - 4, (int)var6, this.maxy);
- }
-
- int var8 = 0;
- if (this.field_0.chartType == BAR || this.field_0.chartType == GANTT) {
- var8 = this.maxx - this.minx;
- }
-
- var1.setColor(this.field_0.yaxisLabelColor);
- String var9 = "";
- if (this.field_0.chartType == GANTT) {
- Date var10 = new Date((long)(var5 + 1) * 24L * 60L * 60L * 1000L);
- var9 = JDPDate.format(var10);
- } else if (var3 < 9999) {
- var9 = Integer.toString(var5);
- } else if (var3 < 9999999) {
- var9 = Integer.toString(var5 / 1000);
- var1.drawString("x1000", var8 + this.minx - 22, this.maxy + 20);
- } else if (var3 < 1410065407) {
- var9 = Integer.toString(var5 / 1000000);
- var1.drawString("x1,000,000", var8 + this.minx - 22, this.maxy + 20);
- }
-
- int var12 = this.user.u.StringWidth(var1, var9);
- if (this.field_0.chartType != BAR && this.field_0.chartType != GANTT) {
- var1.drawString(var9, var8 + this.minx - var12 - 5, (int)(var6 + (double)4.5F));
- } else {
- var1.drawString(var9, (int)(var6 - (double)(var12 / 2)), this.maxy + 15);
- }
- }
-
- }
- }
- }
-