From: <mu...@us...> - 2009-06-23 07:44:19
|
Revision: 2128 http://jfreechart.svn.sourceforge.net/jfreechart/?rev=2128&view=rev Author: mungady Date: 2009-06-23 07:43:13 +0000 (Tue, 23 Jun 2009) Log Message: ----------- Synchronised with 1.0.x branch. Modified Paths: -------------- trunk/source/org/jfree/chart/renderer/xy/SamplingXYLineRenderer.java Modified: trunk/source/org/jfree/chart/renderer/xy/SamplingXYLineRenderer.java =================================================================== --- trunk/source/org/jfree/chart/renderer/xy/SamplingXYLineRenderer.java 2009-06-23 07:40:56 UTC (rev 2127) +++ trunk/source/org/jfree/chart/renderer/xy/SamplingXYLineRenderer.java 2009-06-23 07:43:13 UTC (rev 2128) @@ -35,13 +35,16 @@ * Changes: * -------- * 02-Oct-2008 : Version 1 (DG); + * 28-Apr-2009 : Fixed bug in legend shape display, and deprecated + * getLegendLine() and setLegendLine() - these methods + * are unnecessary because a mechanism already exists in the + * superclass for specifying a custom legend shape (DG); * */ package org.jfree.chart.renderer.xy; import java.awt.Graphics2D; -import java.awt.Paint; import java.awt.Shape; import java.awt.geom.GeneralPath; import java.awt.geom.Line2D; @@ -51,9 +54,7 @@ import java.io.ObjectInputStream; import java.io.ObjectOutputStream; import java.io.Serializable; -import org.jfree.chart.LegendItem; import org.jfree.chart.axis.ValueAxis; -import org.jfree.chart.event.RendererChangeEvent; import org.jfree.chart.plot.CrosshairState; import org.jfree.chart.plot.PlotOrientation; import org.jfree.chart.plot.PlotRenderingInfo; @@ -65,8 +66,12 @@ import org.jfree.data.xy.XYDataset; /** - * A renderer that... This renderer is designed for use with the {@link XYPlot} - * class. + * A renderer that draws line charts. The renderer doesn't necessarily plot + * every data item - instead, it tries to plot only those data items that + * make a difference to the visual output (the other data items are skipped). + * This renderer is designed for use with the {@link XYPlot} class. + * + * @since 1.0.13 */ public class SamplingXYLineRenderer extends AbstractXYItemRenderer implements XYItemRenderer, Cloneable, PublicCloneable, Serializable { @@ -79,36 +84,12 @@ */ public SamplingXYLineRenderer() { this.legendLine = new Line2D.Double(-7.0, 0.0, 7.0, 0.0); + setBaseLegendShape(this.legendLine); + setTreatLegendShapeAsLine(true); } - /** - * Returns the shape used to represent a line in the legend. - * - * @return The legend line (never <code>null</code>). - * - * @see #setLegendLine(Shape) - */ - public Shape getLegendLine() { - return this.legendLine; - } /** - * Sets the shape used as a line in each legend item and sends a - * {@link RendererChangeEvent} to all registered listeners. - * - * @param line the line (<code>null</code> not permitted). - * - * @see #getLegendLine() - */ - public void setLegendLine(Shape line) { - if (line == null) { - throw new IllegalArgumentException("Null 'line' argument."); - } - this.legendLine = line; - fireChangeEvent(); - } - - /** * Returns the number of passes through the data that the renderer requires * in order to draw the chart. Most charts will require a single pass, but * some require two passes. @@ -185,6 +166,7 @@ public void startSeriesPass(XYDataset dataset, int series, int firstItem, int lastItem, int pass, int passCount) { this.seriesPath.reset(); + this.intervalPath.reset(); this.lastPointGood = false; super.startSeriesPass(dataset, series, firstItem, lastItem, pass, passCount); @@ -327,43 +309,6 @@ } /** - * Returns a legend item for the specified series. - * - * @param datasetIndex the dataset index (zero-based). - * @param series the series index (zero-based). - * - * @return A legend item for the series. - */ - public LegendItem getLegendItem(int datasetIndex, int series) { - - XYPlot plot = getPlot(); - if (plot == null) { - return null; - } - - LegendItem result = null; - XYDataset dataset = plot.getDataset(datasetIndex); - if (dataset != null) { - if (getItemVisible(series, 0)) { - String label = getLegendItemLabelGenerator().generateLabel( - dataset, series); - result = new LegendItem(label); - result.setLabelFont(lookupLegendTextFont(series)); - Paint labelPaint = lookupLegendTextPaint(series); - if (labelPaint != null) { - result.setLabelPaint(labelPaint); - } - result.setSeriesKey(dataset.getSeriesKey(series)); - result.setSeriesIndex(series); - result.setDataset(dataset); - result.setDatasetIndex(datasetIndex); - } - } - return result; - - } - - /** * Returns a clone of the renderer. * * @return A clone. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |