From: <mu...@us...> - 2007-11-12 11:27:02
|
Revision: 494 http://jfreechart.svn.sourceforge.net/jfreechart/?rev=494&view=rev Author: mungady Date: 2007-11-12 03:26:58 -0800 (Mon, 12 Nov 2007) Log Message: ----------- 2007-11-12 David Gilbert <dav...@ob...> * source/org/jfree/chart/plot/XYPlot.java (equals): Added check for domain/rangeTickBandPaint, * source/org/jfree/chart/renderer/xy/AbstractXYItemRenderer.java (fillDomainGridBand): Handle plot orientation properly, (fillRangeGridBand): Likewise. Modified Paths: -------------- trunk/ChangeLog trunk/source/org/jfree/chart/plot/XYPlot.java trunk/source/org/jfree/chart/renderer/xy/AbstractXYItemRenderer.java Modified: trunk/ChangeLog =================================================================== --- trunk/ChangeLog 2007-11-12 11:08:56 UTC (rev 493) +++ trunk/ChangeLog 2007-11-12 11:26:58 UTC (rev 494) @@ -1,5 +1,13 @@ 2007-11-12 David Gilbert <dav...@ob...> + * source/org/jfree/chart/plot/XYPlot.java + (equals): Added check for domain/rangeTickBandPaint, + * source/org/jfree/chart/renderer/xy/AbstractXYItemRenderer.java + (fillDomainGridBand): Handle plot orientation properly, + (fillRangeGridBand): Likewise. + +2007-11-12 David Gilbert <dav...@ob...> + Patch 1827829 from Richard West: * source/org/jfree/chart/renderer/xy/XYBarRenderer.java (drawItemLabel): Fixed NPE. Modified: trunk/source/org/jfree/chart/plot/XYPlot.java =================================================================== --- trunk/source/org/jfree/chart/plot/XYPlot.java 2007-11-12 11:08:56 UTC (rev 493) +++ trunk/source/org/jfree/chart/plot/XYPlot.java 2007-11-12 11:26:58 UTC (rev 494) @@ -193,6 +193,8 @@ * 26-Sep-2007 : Include index value in IllegalArgumentExceptions (DG); * 05-Nov-2007 : Applied patch 1823697, by Richard West, for removal of domain * and range markers (DG); + * 12-Nov-2007 : Fixed bug in equals() method for domain and range tick + * band paint attributes (DG); * */ @@ -3024,7 +3026,6 @@ */ public void drawDomainTickBands(Graphics2D g2, Rectangle2D dataArea, List ticks) { - // draw the domain tick bands, if any... Paint bandPaint = getDomainTickBandPaint(); if (bandPaint != null) { boolean fillBand = false; @@ -3060,8 +3061,6 @@ */ public void drawRangeTickBands(Graphics2D g2, Rectangle2D dataArea, List ticks) { - - // draw the range tick bands, if any... Paint bandPaint = getRangeTickBandPaint(); if (bandPaint != null) { boolean fillBand = false; @@ -4713,6 +4712,14 @@ if (!ObjectUtilities.equal(this.annotations, that.annotations)) { return false; } + if (!PaintUtilities.equal(this.domainTickBandPaint, + that.domainTickBandPaint)) { + return false; + } + if (!PaintUtilities.equal(this.rangeTickBandPaint, + that.rangeTickBandPaint)) { + return false; + } if (!this.quadrantOrigin.equals(that.quadrantOrigin)) { return false; } Modified: trunk/source/org/jfree/chart/renderer/xy/AbstractXYItemRenderer.java =================================================================== --- trunk/source/org/jfree/chart/renderer/xy/AbstractXYItemRenderer.java 2007-11-12 11:08:56 UTC (rev 493) +++ trunk/source/org/jfree/chart/renderer/xy/AbstractXYItemRenderer.java 2007-11-12 11:26:58 UTC (rev 494) @@ -102,7 +102,8 @@ * 20-Jun-2007 : Removed deprecated code and removed JCommon dependencies (DG); * 27-Jun-2007 : Removed drawDomainGridline() method - use drawDomainLine() * instead (DG); - * + * 12-Nov-2007 : Fixed domain and range band drawing methods (DG); + * */ package org.jfree.chart.renderer.xy; @@ -906,20 +907,22 @@ * @param start the start value. * @param end the end value. */ - public void fillDomainGridBand(Graphics2D g2, - XYPlot plot, - ValueAxis axis, - Rectangle2D dataArea, - double start, double end) { + public void fillDomainGridBand(Graphics2D g2, XYPlot plot, ValueAxis axis, + Rectangle2D dataArea, double start, double end) { double x1 = axis.valueToJava2D(start, dataArea, plot.getDomainAxisEdge()); double x2 = axis.valueToJava2D(end, dataArea, plot.getDomainAxisEdge()); - // TODO: need to change the next line to take account of plot - // orientation... - Rectangle2D band = new Rectangle2D.Double(x1, dataArea.getMinY(), - x2 - x1, dataArea.getMaxY() - dataArea.getMinY()); + Rectangle2D band; + if (plot.getOrientation() == PlotOrientation.VERTICAL) { + band = new Rectangle2D.Double(Math.min(x1, x2), dataArea.getMinY(), + Math.abs(x2 - x1), dataArea.getWidth()); + } + else { + band = new Rectangle2D.Double(dataArea.getMinX(), Math.min(x1, x2), + dataArea.getWidth(), Math.abs(x2 - x1)); + } Paint paint = plot.getDomainTickBandPaint(); if (paint != null) { @@ -940,19 +943,21 @@ * @param start the start value. * @param end the end value. */ - public void fillRangeGridBand(Graphics2D g2, - XYPlot plot, - ValueAxis axis, - Rectangle2D dataArea, - double start, double end) { + public void fillRangeGridBand(Graphics2D g2, XYPlot plot, ValueAxis axis, + Rectangle2D dataArea, double start, double end) { - double y1 = axis.valueToJava2D(start, dataArea, + double y1 = axis.valueToJava2D(start, dataArea, plot.getRangeAxisEdge()); double y2 = axis.valueToJava2D(end, dataArea, plot.getRangeAxisEdge()); - // TODO: need to change the next line to take account of the plot - // orientation - Rectangle2D band = new Rectangle2D.Double(dataArea.getMinX(), y2, - dataArea.getWidth(), y1 - y2); + Rectangle2D band; + if (plot.getOrientation() == PlotOrientation.VERTICAL) { + band = new Rectangle2D.Double(dataArea.getMinX(), Math.min(y1, y2), + dataArea.getWidth(), Math.abs(y2 - y1)); + } + else { + band = new Rectangle2D.Double(Math.min(y1, y2), dataArea.getMinY(), + Math.abs(y2 - y1), dataArea.getHeight()); + } Paint paint = plot.getRangeTickBandPaint(); if (paint != null) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |