alvinalexander.com | career | drupal | java | mac | mysql | perl | scala | uml | unix  

jfreechart example source code file (ChangeLog)

This example jfreechart source code file (ChangeLog) is included in the DevDaily.com "Java Source Code Warehouse" project. The intent of this project is to help you "Learn Java by Example" TM.

Java - jfreechart tags/keywords

added, check, david, david, deprecated, gilbert, gilbert, likewise, likewise, new, new, removed, updated, use

The jfreechart ChangeLog source code

----------  JFREECHART 1.0.13 RELEASED ------------------------

2009-04-20  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/general/DatasetUtilities.java
    (iterateToFindRangeBounds): Handle BoxAndWhiskerCategoryDataset.

2009-04-16  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/title/PaintScaleLegend.java
    (draw): Adjusted fill rectangles.

2009-04-16  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/axis/CategoryAxis.java
    (CategoryAxis): Leave tick marks visible by default,
    (draw): Call drawTickMarks(),
    (drawTickMarks): New method,
    * source/org/jfree/chart/axis/CategoryAxis3D.java
    (draw): Call drawTickMarks(),
    * source/org/jfree/chart/axis/NumberAxis3D.java
    (NumberAxis3D): Leave axis line visible by default.

2009-04-16  David Gilbert  <david.gilbert@object-refinery.com>

    Patch 2686872 by Peter Kolb:
    * source/org/jfree/chart/title/PaintScaleLegend.java: Implemented
    AxisChangeListener,
    (PaintScaleLegend): Register as axis change listener,
    (setAxis): Deregister as change listener on old axis, register as listener
    on new axis,
    (axisChanged): New method,
    (draw): Check isStripOutlineVisible flag.

2009-04-16  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/StandardChartTheme.java
    (baselinePaint): New field,
    (createDarknessTheme): Modify baselinePaint,
    (StandardChartTheme): Initialise baselinePaint,
    (getBaselinePaint): New method,
    (setBaselinePaint): Likewise,
    (applyToCategoryPlot): Apply baselinePaint,
    (applyToXYPlot): Likewise,
    (writeObject): Updated for new field,
    (readObject): Likewise.

2009-04-10  David Gilbert  <david.gilbert@object-refinery.com>

    Bug 2740447:
    * source/org/jfree/chart/ChartPanel.java
    (paintComponent): Set chartBuffer background to match panel.

2009-04-09  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/StandardChartTheme.java
    (getSmallFont): New method,
    (setSmallFont): Likewise.

2009-04-09  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/ChartPanel.java: Implemented OverlayChangeListener,
    (overlays): New field,
    (ChartPanel): Initialise new field,
    (addOverlay): New method,
    (removeOverlay): New method,
    (overlayChanged): New method,
    (paintComponent): Draw overlays,
    * source/org/jfree/chart/event/OverlayChangeEvent.java: New file,
    * source/org/jfree/chart/event/OverlayChangeListener.java: New file,
    * source/org/jfree/chart/panel/AbstractOverlay.java: New file,
    * source/org/jfree/chart/panel/CrosshairOverlay.java: New file,
    * source/org/jfree/chart/panel/Overlay.java: New file,
    * source/org/jfree/chart/labels/CrosshairLabelGenerator.java: New file,
    * source/org/jfree/chart/labels/StandardCrosshairLabelGenerator.java:
    New file,
    * source/org/jfree/chart/jxlayer/CrosshairLayerUI.java: Refactored class
    locations.

2009-04-08  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/ChartTransferable.java : New file,
    * source/org/jfree/chart/ChartPanel.java
    (COPY_COMMAND): New field,
    ChartPanel(JFreeChart, int, int, int, int, int, int, boolean, boolean,
    boolean, boolean, boolean, boolean, boolean)): New constructor,
    (actionPerformed): Check for copy action,
    (doCopy): Tranfer chart to clipboard,
    (createPopupMenu): New method.

2009-04-01  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/annotation/XYTextAnnotation.java
    (draw): Set font before calculating hotspot area.

2009-04-01  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/general/DatasetUtilities.java
    (iterateToFindRangeBounds): Handle StatisticalCategoryDataset.

2009-04-01  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/AbstractCategoryItemRenderer.java
    (addItemEntity): Check getItemCreateEntity(),
    (addEntity): New method,
    * source/org/jfree/chart/renderer/AbstractRenderer.java
    (defaultEntityRadius): New field,
    (AbstractRenderer): Initialise new field,
    (getDefaultEntityRadius): New method,
    (setDefaultEntityRadius): New method,
    (equals): Check new field,
    * source/org/jfree/chart/renderer/xy/AbstractXYItemRenderer.java
    (defaultEntityRadius): Moved to superclass,
    (getDefaultEntityRadius): Likewise,
    (setDefaultEntityRadius): Likewise,
    (equals): Moved check for defaultEntityRadius to superclass,
    * source/org/jfree/chart/renderer/category/StatisticalLineAndShapeRenderer.java
    (findRangeBounds): New method override,
    (drawItem): Use new addEntity() method.

2009-04-01  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/ChartPanel.java
    (panMask): New field,
    (ChartPanel): Initialise panMask differently on MacOSX,
    (mousePressed): Use panMask field,
    (mouseDragged): Fixed signs on drag percents.

2009-03-30  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/axis/LogAxis.java
    (pan): New method,
    * source/org/jfree/chart/axis/ValueAxis.java
    (pan): Likewise,
    * source/org/jfree/chart/plot/XYPlot.java
    (panDomainAxes): Delegate to axes,
    (panRangeAxes): Delegate to axes.

2009-03-28  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/renderer/LookupPaintScale.java
    (PaintItem): Changed to static.

2009-03-28  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/renderer/xy/AbstractXYItemRenderer.java
    (findRangeBounds): Handle case where plot is null.

2009-03-27  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/renderer/xy/YIntervalRenderer.java
    (findRangeBounds): Use new inherited method.

2009-03-27  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/renderer/RendererUtilities.java
    (findLiveItemsLowerBound): Fixed results for unsorted dataset,
    (findLiveItemsUpperBound): Likewise,
    (findLiveItems): Check case where upper index is less than lower.

2009-03-27  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/XYPlot.java
    (domainPannable): Change default to false,
    (rangePannable): Likewise,
    (rendererChanged): If series visibility changes, configure the axes,
    (panDomainAxes): Reconfigure the range axes,
    * source/org/jfree/chart/renderer/AbstractRenderer.java
    (dataBoundsIncludesVisibleSeriesOnly): New field,
    (setSeriesVisible(Boolean, boolean): Modified generated RendererEvent,
    (setSeriesVisible(int, Boolean, boolean): Likewise,
    (setBaseSeriesVisible): Likewise,
    (getDataBoundsIncludesVisibleSeriesOnly): New method,
    (setDataBoundsIncludesVisibleSeriesOnly): Likewise,
    (equals): Updated for new field,
    * source/org/jfree/chart/renderer/category/AbstractCategoryItemRenderer.java
    (findRangeBounds(CategoryDataset)): Delegate to new method,
    (findRangeBounds(CategoryDataset, boolean)): Handle hidden series,
    * source/org/jfree/chart/renderer/xy/AbstractXYItemRenderer.java
    (findDomainBounds(XYDataset)): Delegate to new method,
    (findDomainBounds(XYDataset, boolean)): Handle hidden series,
    (findRangeBounds(XYDataset)): Delegate to new method,
    (findRangeBounds(XYDataset, boolean)): Handle hidden series,
    * source/org/jfree/chart/renderer/xy/CandlestickRenderer.java
    (findRangeBounds): Call new inherited method,
    * source/org/jfree/chart/renderer/xy/DeviationRenderer.java
    (findRangeBounds): Call new inherited method,
    * source/org/jfree/chart/renderer/xy/XYBoxAndWhiskerRenderer.java
    (findRangeBounds): New method override,
    * source/org/jfree/data/general/DatasetUtilities.java
    (findDomainBounds(XYDataset, List, boolean)): New method,
    (findRangeBounds(CategoryDataset, List, boolean)): Likewise,
    (findRangeBounds(XYDataset, List, Rangee, boolean)): Likewise,
    (iterateToFindRangeBounds(CategoryDataset, List, boolean)): Likewise,
    (iterateToFindDomainBounds(XYDataset, List, boolean)): Likewise,
    (iterateToFindRangeBounds(XYDataset, List, Range, boolean)): Likewise,
    * source/org/jfree/data/category/CategoryRangeInfo.java: New interface,
    * source/org/jfree/data/xy/XYDomainInfo.java: Likewise,
    * source/org/jfree/data/xy/XYRangeInfo.java: Likewise.

2009-03-26  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/ChartPanel.java
    (fillZoomRectangle): Change default to true,
    (mousePressed): Don't change cursor for panning unless panning is enabled.

2009-03-26  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/axis/ValueAxis.java
    (equals): Only check range if autoRange is false.

2009-03-26  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/event/RendererChangeEvent.java
    (seriesVisibilityChanged): New field,
    (RendererChangeEvent(Object)): Delegate to new constructor,
    (RendererChangeEvent(Object, boolean)): New constructor,
    (getSeriesVisibilityChanged): New method.

2009-03-26  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/MouseWheelHandler.java: Implemented Serializable.

2009-03-26  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/FastScatterPlot.java: Implemented Pannable,
    (domainPannable): New field,
    (rangePannable): Likewise,
    (zoomDomainAxes(double, PlotRenderingInfo, Point2D, boolean)): Use new
    resizeRange2() method,
    (zoomRangeAxes(double, PlotRenderingInfo, Point2D, boolean)): Likewise,
    plus use correct mouse coordinate,
    (isDomainPannable): New method,
    (setDomainPannable): Likewise,
    (isRangePannable): Likewise,
    (setRangePannable): Likewise,
    (panDomainAxes): Likewise,
    (panRangeAxes): Likewise,
    (equals): Updated for new fields.

2009-03-25  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/imagemap/ImageMapUtilities.java
    (javascriptEscape): Reimplemented,
    * tests/org/jfree/chart/imagemap/junit/ImageMapPackageTests.java
    (suite): Added new test classes,
    * tests/org/jfree/chart/imagemap/junit/DynamicDriveToolTipTagFragmentGeneratorTests.java:
    New file,
    * tests/org/jfree/chart/imagemap/junit/ImageMapUtilitiesTests.java:
    New file,
    * tests/org/jfree/chart/imagemap/junit/OverLIBToolTipTagFragmentGeneratorTests.java:
    New file.

2009-03-19  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/entity/AxisEntity.java: New class,
    * source/org/jfree/chart/entity/JFreeChartEntity.java: New class,
    * source/org/jfree/chart/entity/PlotEntity.java: New class,
    * source/org/jfree/chart/entity/TitleEntity.java: New class,
    * source/org/jfree/chart/axis/Axis.java:
    (createAndAddEntity): New method,
    * source/org/jfree/chart/axis/CategoryAxis.java:
    (draw): Add an entity for the axis,
    * source/org/jfree/chart/axis/DateAxis.java:
    (draw): Add an entity for the axis,
    * source/org/jfree/chart/axis/LogAxis.java:
    (draw): Add an entity for the axis,
    * source/org/jfree/chart/axis/NumberAxis.java:
    (draw): Add an entity for the axis,
    * source/org/jfree/chart/plot/CategoryPlot.java:
    (draw): Add an entity for the plot,
    * source/org/jfree/chart/plot/Plot.java:
    (createAndAddEntity): New method,
    * source/org/jfree/chart/plot/XYPlot.java:
    (draw): Add an entity for the plot,
    * source/org/jfree/chart/JFreeChart.java:
    (draw): Add an entity for the chart,
    * source/org/jfree/chart/title/LegendTitle.java:
    (draw): Add an entity for the title,
   * source/org/jfree/chart/title/TextTitle.java:
    (draw): Likewise.

2009-03-19  David Gilbert  <david.gilbert@object-refinery.com>

    Bug 2690293:
    * source/org/jfree/chart/imagemap/DynamicDriveToolTipTagFragmentGenerator.java
    (generateToolTipFragment): Use javascriptEscape(),
    * source/org/jfree/chart/imagemap/OverLIBToolTipTagFragmentGenerator.java
    (generateToolTipFragment): Likewise,
    * source/org/jfree/chart/imagemap/ImageMapUtilities.java
    (javascriptEscape): New method.

2009-03-19  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/ChartPanel.java
    (panW): New field,
    (panH): Likewise,
    (panLast): Likewise,
    (mousePressed): Check for start of panning,
    (mouseDragged): Handle panning if it was started in mousePressed(),
    (mouseReleased): Reset panning,
    * source/org/jfree/chart/plot/CategoryPlot.java: Implemented Pannable,
    (rangePannable): New field,
    (isDomainPannable): New method,
    (isRangePannable): Likewise,
    (setRangePannable): Likewise,
    (panDomainAxes): Likewise,
    (panRangeAxes): Likewise,
    * source/org/jfree/chart/plot/Pannable.java: New interface,
    * source/org/jfree/chart/plot/XYPlot.java: Implemented Pannable,
    (domainPannable): New field,
    (rangePannable): Likewise,
    (isDomainPannable): New method,
    (setDomainPannable): Likewise,
    (isRangePannable): Likewise,
    (setRangePannable): Likewise,
    (panDomainAxes): Likewise,
    (panRangeAxes): Likewise.

2009-03-19  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/BarRenderer3D.java
    (drawRangeLine): New method override.

2009-03-18  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/ChartPanel.java
    (mouseWheelHandler): New field,
    (isMouseWheelEnabled): New method,
    (setMouseWheelEnabled): Likewise,
    * source/org/jfree/chart/MouseWheelHandler.java: New class,
    * source/org/jfree/chart/axis/ValueAxis.java
    (resizeRange2): New method,
    * source/org/jfree/chart/demo/BarChartDemo1.java
    (BarChartDemo1): Enable mouse wheel,
    * source/org/jfree/chart/demo/TimeSeriesChartDemo1.java
    (createDemoPanel): Enable mouse wheel,
    * source/org/jfree/chart/plot/CategoryPlot.java
    (zoomRangeAxes): Modify anchored zoom behaviour,
    * source/org/jfree/chart/plot/XYPlot.java
    (zoomDomainAxes): Likewise,
    (zoomRangeAxes): Likewise.

2009-03-15  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/category/SlidingCategoryDataset.java
    (getColumnKeys): Fixed loop index.

2009-03-10  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/annotations/XYAnnotationBoundsInfo.java:
    New interface,
    * source/org/jfree/chart/renderer/xy/AbstractXYItemRenderer.java
    (getAnnotations): New method,
    * source/org/jfree/chart/annotations/XYDataImageAnnotation.java:
    Implemented XYAnnotationBoundsInfo interface,
    (includeInDataBounds): New field,
    (XYDataImageAnnotation(Image, double, double, double, double, boolean)):
    New constructor,
    (getIncludeInDataBounds): New method,
    (getXRange): Likewise,
    (getYRange): Likewise,
    (equals): Check new field,
    * source/org/jfree/chart/plot/XYPlot.java
    (getDataRange): Include annotation bounds.

2009-03-06  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/SamplingXYLineRenderer.java:
    New class.

2009-03-06  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/xy/IntervalXYDelegate.java
    (hashCode): Implemented,
    * source/org/jfree/data/xy/XYSeriesCollection.java
    (equals): Include interval delegate.

2009-03-06  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/xy/XYSeries.java
    (minX): New field,
    (maxX): Likewise,
    (minY): Likewise,
    (maxY): Likewise,
    (XYSeries): Initialise new fields,
    (getMinX): New method,
    (getMaxX): Likewise,
    (getMinY): Likewise,
    (getMaxY): Likewise,
    (updateBoundsForAddedItem): Likewise,
    (updateBoundsForRemovedItem): Likewise,
    (findBoundsByIteration): Likewise,
    (setMaximumItemcount): Refresh mins and maxes,
    (add): Likewise,
    (delete): Likewise,
    (remove): Likewise,
    (clear): Reset mins and maxes,
    (update): Update minY and maxY,
    (minIgnoreNaN): New method,
    (maxIgnoreNaN): Likewise,
    (update): Delegate to updateByIndex();
    (addOrUpdate): Update mins and maxes,
    * source/org/jfree/data/xy/XYSeriesCollection.java: Implemented RangeInfo,
    (getDomainLowerBound): Use cached value in underlying series,
    (getDomainUpperBound): Likewise,
    (getDomainBounds): Likewise,
    (getRangeBounds): Implemented,
    (getRangeLowerBound): Likewise,
    (getRangeUpperBound): Likewise.

2009-03-02  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/axis/PeriodAxis.java
    (draw): Check tickMarksVisible and tickLabelsVisible,
    (drawTickMarksHorizontal): Removed unnecessary calendar references,
    (drawTickLabels): Likewise,
    (valueToJava2D): Likewise,
    (java2DtoValue): Likewise,
    * source/org/jfree/chart/axis/PeriodAxisLabelInfo.java
    (createInstance): Deprecated and added new method with locale argument.

2009-03-02  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/axis/PeriodAxis.java
    (locale): New field,
    (PeriodAxis(String, RegularTimePeriod, RegularTimePeriod)): Delegate to
    new constructor,
    (PeriodAxis(String, RegularTimePeriod, RegularTimePeriod, TimeZone)):
    Deprecated,
    (PeriodAxis(String, RegularTimePeriod, RegularTimePeriod, TimeZone, Locale)):
    New constructor,
    (setFirst): Peg the time period,
    (setLast): Likewise,
    (setTimeZone): Peg first and last,
    (getLocale): New method,
    (setRange): Use locale,
    (drawTickMarksHorizontal): Likewise,
    (autoAdjustRange): Likewise,
    (equals): Check locale field,
    (createInstance): Added locale,
    * source/org/jfree/data/time/Day.java
    (Day(Date)): Delegate to new constructor,
    (Day(Date, TimeZone)): Deprecated,
    (Day(Date, TimeZone, Locale)): New constructor,
    * source/org/jfree/data/time/Hour.java
    (Hour(Date)): Delegate to new constructor,
    (Hour(Date, TimeZone)): Deprecated,
    (Hour(Date, TimeZone, Locale)): New constructor,
    * source/org/jfree/data/time/Millisecond.java
    (Millisecond(Date)): Delegate to new constructor,
    (Millisecond(Date, TimeZone)): Deprecated,
    (Millisecond(Date, TimeZone, Locale)): New constructor,
    * source/org/jfree/data/time/Minute.java
    (Minute(Date)): Delegate to new constructor,
    (Minute(Date, TimeZone)): Deprecated,
    (Minute(Date, TimeZone, Locale)): New constructor,
    * source/org/jfree/data/time/Second.java
    (Second(Date)): Delegate to new constructor,
    (Second(Date, TimeZone)): Deprecated,
    (Second(Date, TimeZone, Locale)): New constructor.

2009-02-27  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/xy/XYSeriesCollection.java
    (getDomainOrder): New method override.

2009-02-27  David Gilbert  <david.gilbert@object-refinery.com>

    Bug 2583891:
    * swt/org/jfree/experimental/swt/SWTGraphics2D.java
    (fillPolygon): Implemented.

2009-02-27  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/general/CombinationDataset.java: Deprecated.

2009-02-27  David Gilbert  <david.gilbert@object-refinery.com>

    Bug 2612649:
    * source/org/jfree/chart/editor/DefaultPlotEditor.java
    (DefaultPlotEditor): Added null Stroke to available options,
    (attemptOutlineStrokeSelection): Use current stroke.

2009-02-27  David Gilbert  <david.gilbert@object-refinery.com>

    Bug 2617557:
    * source/org/jfree/chart/plot/dial/StandardDialScale.java
    (draw): Use tickLabelPaint.

2009-02-27  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/RendererUtilities.java
    (findLiveItemsLowerBound): Added argument checks,
    (findLiveItemsUpperBound): Correct calculation of mid.

2009-02-22  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/GradientXYBarPainter.java
    (paintBar): Use correct outline paint.

2009-02-13  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/jxlayer/Crosshair.java: New file,
    * source/org/jfree/chart/jxlayer/CrosshairLabelGenerator.java: New file,
    * source/org/jfree/chart/jxlayer/CrosshairLayerUI.java: New file,
    * source/org/jfree/chart/jxlayer/DefaultCrosshairLabelGenerator.java:
    New file,
    * source/org/jfree/chart/jxlayer/package.html: New file,
    * tests/org/jfree/chart/jxlayer/junit/CrosshairTests.java: New tests,
    * tests/org/jfree/chart/jxlayer/junit/JXLayerPackageTests.java: Likewise.

2009-02-12  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/annotations/XYPointerAnnotation.java
    (draw): Added support for rotated text, plus background paint and
    outline paint/stroke.

2009-02-12  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/annotations/XYTextAnnotation.java
    (backgroundPaint): New field,
    (outlineVisible): Likewise,
    (outlinePaint): Likewise,
    (outlineStroke): Likewise,
    (XYTextAnnotation): Initialise new fields,
    (getBackgroundPaint): New method,
    (setBackgroundPaint): Likewise,
    (getOutlinePaint): Likewise,
    (setOutlinePaint): Likewise,
    (getOutlineStroke): Likewise,
    (setOutlineStroke): Likewise,
    (isOutlineVisible): Likewuse,
    (setOutlineVisible): Likewise,
    (draw): Draw background and outline,
    (equals): Check new fields,
    (writeObject): Handle new fields,
    (readObject): Likewise.

2009-02-12  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/general/DatasetUtilities.java
    (sampleFunction2D): Delegate to new method,
    (sampleFunction2DToSeries): New method,
    * source/org/jfree/data/function/NormalDistributionFunction2D.java
    (factor): New field,
    (denominator): Likewise,
    (NormalDistributionFunction2D): Initialise new fields,
    (getValue): Use precomputed constants.

2009-02-10  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/block/LabelBlock.java
    (contentAlignmentPoint): New field,
    (textAnchor): Likewise,
    (LabelBlock): Initialise new fields,
    (getContentAlignmentPoint): New method,
    (setContentAlignmentPoint): Likewise,
    (getTextAnchor): Likewise,
    (setTextAnchor): Likewise,
    (equals): Check new fields.

2009-02-05  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/XYBarRenderer.java
    (barAlignmentFactor): New field,
    (XYBarRenderer): Initialise new field,
    (getBarAlignmentFactor): New method,
    (setBarAlignmentFactor): Likewise,
    (drawItem): Shift bar if alignment factor is set,
    (equals): Check new field.

2009-02-05  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/StatisticalLineAndShapeRenderer.java
    (errorIndicatorStroke): New field,
    (StatisticalLineAndShapeREnderer): Initialise new field,
    (getErrorIndicatorStroke): New method,
    (setErrorIndicatorStroke): Likewise,
    (drawItem): Use errorIndicatorStroke,
    (equals): Check new field,
    (readObject): Handle new field,
    (writeObject): Likewise.

2009-02-04  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/general/DefaultHeatMapDataset.java: New file,
    * source/org/jfree/data/general/HeatMapDataset.java: Likewise,
    * source/org/jfree/data/general/HeatMapUtilities.java: Likewise,
    * tests/org/jfree/data/general/junit/DefaultHeatMapDatasetTests.java:
      Likewise.

2009-02-04  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/general/CombinedDataset.java: Deprecated,
    * source/org/jfree/data/general/SubSeriesDataset.java: Likewise.

2009-02-04  David Gilbert  <david.gilbert@object-refinery.com>

    Bug 2564636:
    * source/org/jfree/data/time/Month.java
    (Month(Date, TimeZone, Locale)): Use locale.

2009-02-04  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/StackedBarRenderer3D.java
    (createStackedValueList): Deprecated,
    (createStackedValueList(CategoryDataset, Comparable, int[], double,
    boolean)): New method,
    (drawItem): Check for hidden series.

2009-02-04  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/StackedBarRenderer.java
    (drawItem): Check for hidden series.

2009-02-04  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/CategoryItemRendererState.java
    (getVisibleSeriesArray()): New method,
    * source/org/jfree/chart/renderer/StackedAreaRenderer.java
    (drawItem): Fix handling of renderAsPercentages,
    (getStackValues): Likewise,
    * source/org/jfree/data/DataUtilities.java
    (calculateColumnTotal): New method,
    (calculateRowTotal): Likewise.

2009-02-04  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/StackedAreaRenderer.java
    (drawItem): Generate entities only in first pass, and add call for drawing
    item labels in second pass.

2009-02-04  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/WaterfallBarRenderer.java
    (findRangeBounds): Handle null dataset,
    * tests/org/jfree/chart/renderer/category/junit/WaterfallBarRendererTests.java
    (testFindRangeBounds): New tests.

2009-02-04  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/StackedAreaRenderer.java
    (findRangeBounds): Check for null dataset,
    (drawItem): Return early if series is not visible,
    (getPreviousHeight): Deprecated as it is never used,
    * tests/org/jfree/chart/renderer/category/junit/StackedAreaRendererTests.java
    (testFindRangeBounds): New tests.

2009-02-03  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/renderer/category/BarRenderer.java
    (defaultShadowsVisible): New field,
    (getDefaultShadowsVisible): New method,
    (setShadowsVisible): Likewise,
    * source/org/jfree/renderer/xy/XYBarRenderer.java
    (defaultShadowsVisible): New field,
    (getDefaultShadowsVisible): New method,
    (setShadowsVisible): Likewise.

2009-02-03  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/renderer/category/StackedBarRenderer3D.java
    (findRangeBounds): Check for null dataset,
    * tests/org/jfree/chart/renderer/category/junit/StackedBarRenderer3DTests.java
    (testFindRangeBounds): New test.

2009-02-02  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/GrayPaintScale.java
    (alpha): New field,
    (GrayPaintScale(double, double)): Delegate to new constructor,
    (GrayPaintScale(double, double, int)): New constructor,
    (getAlpha): New method,
    (getPaint): Use alpha setting for returned paint,
    (equals): Check new field,
    (hashCode): New method,
    * tests/org/jfree/chart/renderer/junit/GrayPaintScaleTests.java
    (testEquals): Check new field.

2009-01-28  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/XYErrorRenderer.java
    (errorStroke): New field,
    (XYErrorRenderer): Initialise new field,
    (getErrorStroke): New method,
    (setErrorStroke): Likewise,
    (drawItem): Updated to use new errorStroke or else item outline stroke,
    (equals): Check new field,
    (readObject): Handle new field,
    (writeObject): Likewise,
    * tests/org/jfree/chart/renderer/xy/junit/XYErrorRendererTests.java
    (testEquals): Added check for errorStroke field,
    (testCloning2): New test,
    (testSerialization2): Likewise.

2009-01-28  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/DataUtilities.java
    (clone(double[][]): New method,
    * tests/org/jfree/data/junit/DataUtilitiesTests.java
    (testClone): New method.

2009-01-28  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/AbstractRenderer.java
    (equals): Fix shape test,
    * tests/org/jfree/chart/renderer/junit/AbstractRendererTests.java
    (testEquals): Modified to cover Shape.equals() bug.

2009-01-28  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/DataUtilities.java
    (equal(double[][], double[][])): New method,
    * tests/org/jfree/data/junit/DataUtilitiesTests.java
    (testEqual): New method,
    (suite): Likewise,
    (main): Likewise.

2009-01-23  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/StatisticalLineAndShapeRenderer.java
    (drawItem): Put drawing code in separate passes.

2009-01-23  David Gilbert  <david.gilbert@object-refinery.com>

    Patch 2511330 by Peter Kolb, plus hashCode method by DG:
    * source/org/jfree/chart/renderer/category/StatisticalLineAndShapeRenderer.java
    (drawItem): Check useFillPaint and drawOutlines flags separately,
    (hashCode): New method.

2009-01-23  David Gilbert  <david.gilbert@object-refinery.com>

    Patch 2511330 by Peter Kolb:
    * source/org/jfree/chart/renderer/category/LevelRenderer.java
    (calculateItemWidth): Take into account seriesVisible flags,
    (calculateBarW0): Likewise,
    (drawItem): Likewise.

2009-01-23  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/LevelRenderer.java
    (LevelRenderer): Set default legend shape,
    (hashCode): New method.

2009-01-21  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/BoxAndWhiskerRenderer.java
    (medianVisible): New field,
    (meanVisible): Likewise,
    (BoxAndWhiskerRenderer): Initialise new fields,
    (isMeanVisible): New method,
    (setMeanVisible): Likewise,
    (isMedianVisible): New method,
    (setMedianVisible): Likewise,
    (drawHorizontalItem): Updated to check new flags,
    (drawVerticalItem): Likewise,
    (equals): Updated to check new fields,
    * tests/org/jfree/chart/renderer/category/junit/BoxAndWhiskerRendererTests.java
    (testEquals): Check new fields.

2009-01-21  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/AbstractCategoryItemRenderer.java
    (drawRangeLine): New method,
    * source/org/jfree/chart/plot/CategoryPlot.java
    (rangeZeroBaselineVisible): New field,
    (rangeZeroBaselineStroke): Likewise,
    (rangeZeroBaselinePaint): Likewise,
    (rangeMinorGridlinesVisible): Likewise,
    (rangeMinorGridlineStroke): Likewise,
    (rangeMinorGridlinePaint): Likewise,
    (CategoryPlot): Initialise new fields and removed baseline marker,
    (isRangeZeroBaselineVisible): New method,
    (setRangeZeroBaselineVisible): Likewise,
    (getRangeZeroBaselineStroke): Likewise,
    (setRangeZeroBaselineStroke): Likewise,
    (getRangeZeroBaselinePaint): Likewise,
    (setRangeZeroBaselinePaint): Likewise,
    (isRangeMinorGridlinesVisible): Likewise,
    (setRangeMinorGridlinesVisible): Likewise,
    (getRangeMinorGridlineStroke): Likewise,
    (setRangeMinorGridlineStroke): Likewise,
    (getRangeMinorGridlinePaint): Likewise,
    (setRangeMinorGridlinePaint): Likewise,
    (draw): Add code to draw new zero range baseline,
    (drawRangeGridlines): Account for minor gridlines,
    (drawZeroRangeBaseline): New method,
    (equals): Updated for new fields,
    (writeObject): Likewise,
    (readObject): Likewise,
    * source/org/jfree/chart/axis/DateAxis.java
    (refreshTicksHorizontal): Check tick unit for minor tick count,
    (refreshTicksVertical): Likewise,
    * source/org/jfree/chart/axis/LogAxis.java
    (LogAxis): Remove call to setMinorTickCount(),
    * source/org/jfree/chart/axis/NumberAxis.java
    (createStandardTickUnits): Initialise minor tick counts,
    (createIntegerTickUnits): Likewise,
    (refreshTicksHorizontal): Check tick unit for minor tick count,
    (refreshTicksVertical): Likewise,
    * source/org/jfree/chart/axis/ValueAxis.java
    (ValueAxis): Set default minor tick count to zero,
    (setMinorTickCount): Remove argument check,
    * tests/org/jfree/chart/plot/junit/CategoryPlotTests.java
    (testEquals): Check new fields.

2009-01-16  David Gilbert  <david.gilbert@object-refinery.com>

    Bug 2490803:
    * source/org/jfree/chart/axis/PeriodAxis.java
    (getRange): Removed, rely on superclass implementation,
    (setRange): Update range with end points of whole periods,
    (drawTickMarksHorizontal): Include first and last ticks,
    * tests/org/jfree/chart/axis/junit/PeriodAxisTests.java
    (test2490803): New test method.

2009-01-16  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/ChartPanel.java
    (DEFAULT_BUFFER_USED): Changed default to true,
    (zoomOutlinePaint): New field,
    (zoomFillPaint): Likewise,
    (ChartPanel): Initialise new fields,
    (getZoomFillPaint): New method,
    (setZoomFillPaint): Likewise,
    (getZoomOutlinePaint): Likewise,
    (setZoomOutlinePaint): Likewise,
    (paintComponent): Update drawing of zoom rectangle,
    (mouseDragged): If useBuffer is true, repaint chart rather than using XOR
    for zoom rectangle,
    (mouseReleased): Likewise,
    (drawZoomRectangle): Only use XOR if useBuffer is false,
    (writeObject): Handle new fields,
    (readObject): Likewise.

2009-01-14  David Gilbert  <david.gilbert@object-refinery.com>

    Patch 2497611 by Peter Kolb:
    * source/org/jfree/chart/axis/CategoryAxis.java
    (getCategorySeriesMiddle): New method,
    * source/org/jfree/chart/renderer/category/AbstractCategoryItemRenderer.java
    (initialise): Record visible series indices,
    * source/org/jfree/chart/renderer/category/BarRenderer.java
    (calculateBarWidth): Look for visible series count in state,
    (calculateBarW0): Likewise,
    (drawItem): Use the visible row index,
    * source/org/jfree/chart/renderer/category/CategoryItemRendererState.java
    (visibleSeries): New field,
    (getVisibleSeriesIndex): New method,
    (getVisibleSeriesCount): Likewise,
    (setVisibleSeriesArray): Likewise,
    * source/org/jfree/chart/renderer/category/IntervalBarRenderer.java
    (drawInterval): Use the visible row index,
    * source/org/jfree/chart/renderer/category/LineAndShapeRenderer.java
    (drawItem): Likewise,
    * source/org/jfree/chart/renderer/category/ScatterRenderer.java
    (drawItem): Likewise,
    * source/org/jfree/chart/renderer/category/StatisticalBarRenderer.java
    (drawItem): Likewise,
    (drawHorizontalItem): Changed signature,
    (drawVerticalItem): Likewise,
    * source/org/jfree/chart/renderer/category/StatisticalLineAndShapeRenderer.java
    (drawItem): Use the visible row index.

2009-01-14  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/axis/LogAxis.java
    (refreshTicksHorizontal): Read minorTickCount from the tick unit,
    (refreshTicksVertical): Likewise,
    (createLogTickUnits): Corrected the tick unit sizes and added
    minor tick counts,
    * source/org/jfree/chart/util/LogFormat.java
    (LogFormat): New constructor,
    (getExponentFormat): New method,
    (setExponentFormat): Likewise,
    (equals): Test formatter field,
    * tests/org/jfree/chart/util/junit/LogFormatTests.java
    (testEquals): Check formatter field.    

2009-01-13  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/ChartPanel.java
    (zoomInDomain): Change notify flag to ensure plot sends only one event,
    (zoomInRange): Likewise,
    (zoomOutDomain): Likewise,
    (zoomOutRange): Likewise,
    (restoreAutoDomainBounds): Likewise,
    (restoreAutoRangeBounds): Likewise,
    * test/org/jfree/chart/junit/ChartPanelTests.java
    (test2502355_zoomInDomain): New test,
    (test2502355_zoomInRange): Likewise,
    (test2502355_zoomOutDomain): Likewise,
    (test2502355_zoomOutRange): Likewise,
    (test2502355_restoreAutoDomainBounds): Likewise,
    (test2502355_restoreAutoRangeBounds): Likewise.

2009-01-13  David Gilbert  <david.gilbert@object-refinery.com>

    Bug 2502355:
    * source/org/jfree/chart/ChartPanel.java
    (zoomInBoth): Change notify flag to ensure plot sends only one event,
    (zoomOutBoth): Likewise,
    (zoom): Likewise,
    (restoreAutoBounds): Likewise,
    * source/org/jfree/chart/plot/Plot.java
    (notify): New field,
    (Plot): Initialise new field,
    (isNotify): New method,
    (setNotify): Likewise,
    (notifyListeners): Check notify flag,
    * tests/org/jfree/chart/junit/ChartPanelTests.java
    (chartChangeEvents): New field,
    (chartChanged): New method,
    (test2502355_zoom): New test,
    (test2502355_zoomInBoth): Likewise,
    (test2502355_zoomOutBoth): Likewise,
    (test2502355_restoreAutoBounds): Likewise.

2009-01-13  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/time/TimeSeries.java
    (TimeSeries(Comparable, Class)): Deprecated,
    (TimeSeries(Comparable, String, String, Class)): Likewise,
    (TimeSeries(Comparable)): Delegate to new constructor,
    (TimeSeries(Comparable, String, String)): New constructor,
    (add): Update timePeriodClass if necessary,
    (addAndOrUpdate): Use new constructor,
    (addOrUpdate): Reset timePeriodClass if necessary,
    (removeAgedItems): Check for empty series,
    (clear): Reset timePeriodClass,
    (delete): Reset timePeriodClass if series is empty,
    (delete(int, int)): Likewise,
    (equals): Reorganised,
    * tests/org/jfree/data/time/junit/TimeSeriesTests.java
    (testEquals3): New test,
    (testRemoveAgedItems3): Likewise.

2009-01-09  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/MultiplePiePlot.java
    (MultiplePiePlot): Set ignoreNullValues to true.

2009-01-09  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/axis/DateTickUnit.java
    (unit): Deprecated,
    (unitType): New field,
    (rollUnit): Deprecated,
    (rollUnitType): New field,
    (DateTickUnit): Deprecated existing constructors, replaced with new ones,
    (getUnitType): New method,
    (getRollUnitType): Likewise,
    (getCount): Renamed getMultiple(),
    (getRollCount): Renamed getRollMultiple(),
    (addToDate): Updated for new fields,
    (rollDate): Likewise,
    (getCalendarField): Likewise,
    (getMillisecondCount): Updated for new type,
    (intToUnitType): Utility method for deprecated constants,
    (unitTypeToInt): Likewise,
    (notNull): Utility method for deprecated constructor,
    (equals): Updated for new fields,
    (units): Removed,
    (YEAR, MONTH, DAY, HOUR, MINUTE, SECOND, MILLISECOND): Deprecated,
    (getUnit): Deprecated,
    (getRollUnit): Likewise,
    * source/org/jfree/chart/axis/DateTickUnitType.java: New file.

----------  JFREECHART 1.0.12 RELEASED ------------------------

2008-12-31  David Gilbert  <david.gilbert@object-refinery.com>

    Bug 2471906:
    * source/org/jfree/chart/renderer/xy/XYAreaRenderer.java
    (drawItem): Check for dashed stroke and clip area manually for that case.

2008-12-30  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/MultiplePiePlot.java
    (legendItemShape): New field,
    (MultiplePiePlot(CategoryDataset)): Initialise new field,
    (getLegendItemShape): New method,
    (setLegendItemShape): New method,
    (getLegendItems): Use new field,
    (equals): Check new field,
    (clone): Implemented,
    (readObject): Handle new field,
    (writeObject): Likewise.

2008-12-20  David Gilbert  <david.gilbert@object-refinery.com>

    Bug 2452078:
    * source/org/jfree/chart/ChartFactory.java
    (createStackedAreaChart): Set category margin to zero.

2008-12-18  David Gilbert  <david.gilbert@object-refinery.com>

    Patch 1607918 by Jess Thrysoee (with modifications):
    * source/org/jfree/chart/ChartPanel.java
    (localizationResources): Use ResourceBundleWrapper,
    * source/org/jfree/chart/JFreeChart.java
    (JFreeChartInfo()): Likewise,
    * source/org/jfree/chart/editor/DefaultAxisEditor.java,
    * source/org/jfree/chart/editor/DefaultChartEditor.java,
    * source/org/jfree/chart/editor/DefaultColorBarEditor.java,
    * source/org/jfree/chart/editor/DefaultNumberAxisEditor.java,
    * source/org/jfree/chart/editor/DefaultPlotEditor.java,
    * source/org/jfree/chart/editor/DefaultTitleEditor.java
    (localizationResources): Use ResourceBundleWrapper,
    * source/org/jfree/chart/plot/CategoryPlot.java,
    * source/org/jfree/chart/plot/ContourPlot.java,
    * source/org/jfree/chart/plot/FastScatterPlot.java,
    * source/org/jfree/chart/plot/MeterPlot.java,
    * source/org/jfree/chart/plot/PiePlot.java,
    * source/org/jfree/chart/plot/PolarPlot.java,
    * source/org/jfree/chart/plot/ThermometerPlot.java,
    * source/org/jfree/chart/plot/WaferMapPlot.java,
    * source/org/jfree/chart/plot/XYPlot.java
    (localizationResources): Use ResourceBundleWrapper,
    * source/org/jfree/chart/util/ResourceBundleWrapper.java: New class,
    * source/org/jfree/data/category/DefaultIntervalCategoryDataset.java
    (DefaultIntervalCategoryDataset): Use ResourceBundleWrapper,
    * swt/org/jfree/experimental/chart/swt/ChartComposite.java,
    * swt/org/jfree/experimental/chart/swt/editor/SWTAxisEditor.java,
    * swt/org/jfree/experimental/chart/swt/editor/SWTChartEditor.java,
    * swt/org/jfree/experimental/chart/swt/editor/SWTOtherEditor.java,
    * swt/org/jfree/experimental/chart/swt/editor/SWTPlotAppearanceEditor.java,
    * swt/org/jfree/experimental/chart/swt/editor/SWTPlotEditor.java,
    * swt/org/jfree/experimental/chart/swt/editor/SWTTitleEditor.java
    (localizationResources): Use ResourceBundleWrapper.

2008-12-03  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/block/GridArrangement.java
    (arrange): Fill in missing constraint combinations,
    (arrangeNN): Check for null block,
    (arrangeFF): Likewise,
    (arrangeRF): New method,
    (arrangeRN): Likewise,
    (arrangeNR): Likewise,
    (arrangeRR): Likewise,
    (arrangeFN): Check for null block,
    (arrangeNF): New method,
    * tests/org/jfree/chart/block/junit/GridArrangementTests.java:
    Added various new tests.

2008-11-25  David Gilbert  <david.gilbert@object-refinery.com>

    Bug fix 2201869 by Fawad Halim (with modifications):
    * source/org/jfree/chart/axis/DateAxis.java
    (previousStandardDate): Use new Month constructor,
    (correctTickDateForPosition): New private method,
    (refreshTicksHorizontal): Moved position correction to top of loop,
    (refreshTicksVertical): Likewise,
    * source/org/jfree/data/time/Month.java
    (Month(Date, TimeZone)): Deprecated,
    (Month(Date, TimeZone, Locale)): New constructor,
    * source/org/jfree/data/time/Quarter.java
    (Quarter(Date, TimeZone)): Deprecated,
    (Quarter(Date, TimeZone, Locale)): New constructor,
    * source/org/jfree/data/time/Year.java
    (Year(Date, TimeZone)): Deprecated,
    (Year(Date, TimeZone, Locale)): New constructor.

2008-11-25  David Gilbert  <david.gilbert@object-refinery.com>

    Based on patch 1868749 by Andrew Mickish:
    * source/org/jfree/chart/plot/CategoryPlot.java
    (datasetToDomainAxisMap): Changed from ObjectList to TreeMap,
    (datasetToRangeAxisMap): Likewise,
    (CategoryPlot): Updated initialization of modified fields,
    (mapDatasetToDomainAxis): Delegate to new method,
    (mapDatasetToDomainAxes): New method,
    (checkAxisIndices): New private method,
    (getDomainAxisForDataset): Updated for multiple axis support,
    (mapDatasetToRangeAxis): Delegate to new method,
    (mapDatasetToRangeAxes): New method,
    (getRangeAxisForDataset): Updated for multiple axis support,
    (datasetsMappedToDomainAxis): Likewise,
    (datasetsMappedToRangeAxis): Likewise,
    (equals): Updated for field changes,
    (clone): Likewise,
    * source/org/jfree/chart/plot/XYPlot.java
    (datasetToDomainAxisMap): Renamed,
    (datasetToRangeAxisMap): Renamed,
    (XYPlot): Updated for renamed fields,
    (mapDatasetToDomainAxis): Delegate to new method,
    (mapDatasetToDomainAxes): New method,
    (mapDatasetToRangeAxis): Delegate to new method,
    (mapDatasetToRangeAxes): New method,
    (checkAxisIndices): New private method,
    (getDomainAxisForDataset): Updated for multiple axis support,
    (getRangeAxisForDataset): Likewise,
    (getDatasetsMappedToDomainAxis): Likewise,
    (getDatasetsMappedToRangeAxis): Likewise,
    (equals): Updated for field changes,
    (clone): Likewise.

2008-11-25  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/AbstractCategoryItemRenderer.java
    (findRangeBounds): Check for null argument,
    * source/org/jfree/chart/renderer/category/BarRenderer.java
    (findRangeBounds): Likewise,
    * source/org/jfree/chart/renderer/category/GroupedStackedBarRenderer.java
    (findRangeBounds): Likewise,
    * source/org/jfree/chart/renderer/category/StackedBarRenderer.java
    (findRangeBounds): Likewise.

2008-11-24  David Gilbert  <david.gilbert@object-refinery.com>

    Bug 1955483:
    * source/org/jfree/data/xy/XYSeries.java
    (addOrUpdate): Check early for duplicates allowed,
    * tests/org/jfree/data/xy/junit/XYSeriesTests.java
    (testBug1955483): New test.

2008-11-18  David Gilbert  <david.gilbert@object-refinery.com>

    Bug 2216511:
    * swt/org/jfree/experimental/chart/demo/SWTBarChartDemo1.java
    (createChart): Reset the bar painter to avoid using gradients,
    * swt/org/jfree/experimental/swt/SWTGraphics2D.java
    (setPaint): Don't fail for GradientPaint.

2008-11-13  David Gilbert  <david.gilbert@object-refinery.com>

    Bug 2275695:
    * source/org/jfree/chart/axis/SubCategoryAxis.java
    (drawSubCategoryLabels): Check for null,
    * tests/org/jfree/chart/axis/junit/SubCategoryAxisTests.java
    (test2275695): New method.

2008-11-05  David Gilbert  <david.gilbert@object-refinery.com>

    Bug 2221495:
    * source/org/jfree/chart/annotations/XYLineAnnotation.java
    (draw): Clip line before drawing,
    * source/org/jfree/chart/util/LineUtilities.java: New file,
    * tests/org/jfree/chart/util/junit/LineUtilitiesTests.java: Likewise.

2008-10-27  David Gilbert  <david.gilbert@object-refinery.com> 

    * source/org/jfree/chart/axis/CategoryAxis.java
    (refreshTicks): Set correct for for category label.

2008-10-23  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/ChartFactory.java
    (setChartTheme): Check if theme is "Legacy" and reset default bar painters.

2008-10-15  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/LegendItem.java
    (LegendItem(String, Paint)): New constructor.

2008-10-08  David Gilbert  <david.gilbert@object-refinery.com>

    Incorporating patch 2131001:
    * source/org/jfree/data/general/DatasetUtilities.java
    (iterateDomainBounds(XYDataset, boolean)): Ignore Double.NaN values,
    (iterateRangeBounds(CategoryDataset, boolean)): Likewise,
    (findStackedRangeBounds(CategoryDataset, KeyToGroupMap)): Cleanup,
    (findMinimumStackedRangeValue(CategoryDataset)): Likewise,
    (findMaximumStackedRangeValue(CategoryDataset)): Likewise,
    (findCumulativeRangeBounds(CategoryDataset)): Likewise.

2008-10-08  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/labels/IntervalCategoryToolTipGenerator.java
    (equals): New method override,
    * source/org/jfree/chart/renderer/category/IntervalBarRenderer.java
    (equals): New method override.

2008-10-02  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/BoxAndWhiskerRenderer.java
    (drawItem): Check item visibility.

2008-09-26  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/axis/Axis.java
    (fireChangeEvent): New method,
    also updated various other methods to call fireChangeEvent().

2008-09-26  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/WaterfallRenderer.java
    (drawItem): Fixed bar misalignment when maxBarWidth is applied.

2008-09-26  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/VectorRenderer.java
    (drawItem): Add chart entity.

2008-09-25  David Gilbert  <david.gilbert@object-refinery.com>

    Patch 1934255 (incorporating 1870189):
    * source/org/jfree/chart/axis/Axis.java 
    (minorTickMarksVisible): New field,
    (minorTickMarkInsideLength): New field,
    (minorTickMarkOutsideLength): New field,
    (Axis(String)): Initialise new fields,
    (isMinorTickMarksVisible): New method,
    (setMinorTickMarksVisible): Likewise,
    (getMinorTickMarkInsideLength): Likewise,
    (setMinorTickMarkInsideLength): Likewise,
    (getMinorTickMarkOutsideLength): Likewise,
    (setMinorTickMarkOutsideLength): Likewise,
    * source/org/jfree/chart/axis/DateAxis.java
    (refreshTicksHorizontal): Add minor ticks,
    (refreshTicksVertical): Likewise,
    * source/org/jfree/chart/axis/DateTick.java
    (DateTick): New constructor,
    (equals): Clean up,
    * source/org/jfree/chart/axis/LogAxis.java
    (minorTickCount): Removed (now in superclass),
    (LogAxis(String)): Updated for removed field,
    (getMinorTickCount): Removed (now in superclass),
    (setMinorTickCount): Likewise,
    (refreshTicksHorizontal): Updated for removed field,
    (refreshTicksVertical): Likewise,
    (equals): Likewise,
    (hashCode): Likewise,
    * source/org/jfree/chart/axis/NumberAxis.java
    (refreshTicksHorizontal): Add minor ticks,
    (refreshTicksVertical): Likewise,
    * source/org/jfree/chart/axis/ValueAxis.java
    (minorTickCount): New field,
    (drawTickMarksAndLabels): Draw minor ticks,
    (getMinorTickCount): New method,
    (setMinorTickCount): Likewise,
    (equals): Updated for new field,
    * source/org/jfree/chart/plot/XYPlot.java
    (domainMinorGridlinesVisible): New field,
    (domainMinorGridlineStroke): Likewise,
    (domainMinorGridlinePaint): Likewise,
    (rangeMinorGridlinesVisible): Likewise,
    (rangeMinorGridlineStroke): Likewise,
    (rangeMinorGridlinePaint): Likewise,
    (XYPlot): Initialise new fields,
    (isDomainMinorGridlinesVisible): New method,
    (setDomainMinorGridlinesVisible): Likewise,
    (getDomainMinorGridlineStroke): Likewise,
    (setDomainMinorGridlineStroke): Likewise,
    (getDomainMinorGridlinePaint): Likewise,
    (setDomainMinorGridlinePaint): Likewise,
    (isRangeMinorGridlinesVisible): Likewise,
    (setRangeMinorGridlinesVisible): Likewise,
    (getRangeMinorGridlineStroke): Likewise,
    (setRangeMinorGridlineStroke): Likewise,
    (getRangeMinorGridlinePaint): Likewise,
    (setRangeMinorGridlinePaint): Likewise,
    (drawDomainGridlines): Draw minor gridlines too,
    (drawRangeGridlines): Likewise,
    (equals): Updated for new attributes,
    (writeObject): Likewise,
    (readObject): Likewise,
    * tests/org/jfree/chart/axis/junit/AxisTests.java
    (testEquals): Updated for new field,
    * tests/org/jfree/chart/axis/junit/DateTickTests.java
    (testEquals): Updated for new field,
    * tests/org/jfree/chart/plot/junit/XYPlotTests.java
    (testEquals): Updated for new fields.
    
2008-09-25  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/HighLowRenderer.java
    (drawItem): Check for non-null entity collection.

2008-09-24  David Gilbert  <david.gilbert@object-refinery.com>

	Bug 2113627 
	* source/org/jfree/chart/renderer/xy/XYStepRenderer.java
	(drawItem): Draw item labels in second pass only, add chart
	entity info in first pass only.

2008-09-23  David Gilbert  <david.gilbert@object-refinery.com>

    Bug 2121818 (fix by Christoph Beck):
    * source/org/jfree/chart/plot/PiePlot.java
    (getLabelLinkDepth): New method,
    (drawLeftLabels): Use getLabelLinkDepth(),
    (drawRightLabels): Likewise,
    * source/org/jfree/chart/plot/RingPlot.java
    (getLabelLinkDepth): New method.

2008-09-23  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/StackedXYBarRenderer.java
    (drawItem): Check shadow visibility before drawing shadow.

----------  JFREECHART 1.0.11 RELEASED ------------------------

2008-09-19  David Gilbert  <david.gilbert@object-refinery.com>

    Patch from Greg Darke, slightly modified:
    * source/org/jfree/chart/renderer/xy/XYItemRendererState.java
    (firstItemIndex): New field,
    (lastItemIndex): Likewise,
    (getFirstItemIndex): New method,
    (getLastItemIndex): New method,
    (startSeriesPass): Record first and last item indices,
    * source/org/jfree/chart/renderer/xy/XYLineAndShapeRenderer.java
    (State.startSeriesPass): Reset series state,
    (drawItem): Removed code that is handled in State now,
    (drawPrimaryLineAsPath): Fix check for last item.

2008-09-19  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/StandardChartTheme.java
    (smallFont): New field,
    (crosshairPaint): New field,
    (createDarknessTheme): Initialise crosshairPaint,
    (StandardChartTheme): Initialise new fields,
    (getCrosshairPaint): New method,
    (setCrosshairPaint): Likewise,
    (applyToXYPlot): Apply crosshair paint and process annotations,
    (applyToXYAnnotation): New method,
    (equals): Check new fields,
    (writeObject): Handle crosshairPaint,
    (readObject): Likewise.
    
2008-09-19  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/JFreeChart.java
    (draw): Check title visibility,
    * source/org/jfree/chart/title/Title.java
    (visible): New field,
    (isVisible): New method,
    (setVisible): Likewise,
    (equals): Check visible flag.
    
2008-08-18  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/axis/DateAxis.java
    (locale): New field,
    (DateAxis(String, TimeZone, Locale)): New constructor,
    (setTimeZone): Updated to use new locale field,
    (previousStandardDate): Likewise,
    (createStandardDateTickUnits(TimeZone)): Deprecated, 
    (createStandardDateTickUnits(TimeZone, Locale)): New method.
    
2008-09-18  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/ChartPanel.java
    (paintComponent): Modified chart buffer creation.

2008-09-18  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/XYShapeRenderer.java: New class,
    * tests/org/jfree/chart/renderer/xy/junit/XYShapeRendererTests.java:
    New tests,
    * tests/org/jfree/chart/renderer/xy/junit/RendererXYPackageTests.java
    (suite): Added XYShapeRendererTests.

2008-09-17  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/annotations/XYDataImageAnnotation.java:
    New class.

2008-09-17  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/title/PaintScaleLegend.java
    (PaintScaleLegend(PaintScale, ValueAxis)): Change axis range to reflect
    scale bounds.

2008-09-17  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/gantt/XYTaskDataset.java: New class,
    * tests/org/jfree/data/gantt/junit/DataGanttPackageTests.java
    (suite): Added XYTaskDatasetTests,
    * tests/org/jfree/data/gantt/junit/XYTaskDatasetTests.java: New file.

2008-09-16  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/time/Day.java
    (Day(Date)): Use TimeZone.getDefault(),
    * source/org/jfree/data/time/Hour.java
    (Hour(Date)): Likewise,
    * source/org/jfree/data/time/Millisecond.java
    (Millisecond(Date)): Likewise,
    * source/org/jfree/data/time/Minute.java
    (Minute(Date)): Likewise,
    * source/org/jfree/data/time/Month.java
    (Month(Date)): Likewise,
    (parseMonth): Updated for changes in Year range,
    * source/org/jfree/data/time/Quarter.java
    (Quarter(Date)): Use TimeZone.getDefault(),
    * source/org/jfree/data/time/RegularTimePeriod.java
    (DEFAULT_TIME_ZONE): Deprecated,
    * source/org/jfree/data/time/Second.java
    (Second(Date)): Use TimeZone.getDefault(),
    * source/org/jfree/data/time/Week.java
    (Week(Date)): Likewise,
    * source/org/jfree/data/time/Year.java
    (MINIMUM_YEAR): New field,
    (MAXIMUM_YEAR): Likewise,
    (Year(int)): Updated range check,
    (Year(Date)): Use TimeZone.getDefault(),
    (previous): Updated for new range bounds,
    (next): Likewise,
    (equals): Cleaned up,
    * tests/org/jfree/data/time/junit/YearTests.java
    (testEquals): Extended,
    (test1900Previous): Modified and enamed testMinus9999Previous,
    (testParseYear): Updated.

2008-09-10  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/StandardChartTheme.java
    (applyToCategoryAxis): Check for SubCategoryAxis and set sublabel font and
    paint.

2008-09-03  David Gilbert  <david.gilbert@object-refinery.com>

    * experimental/org/jfree/experimental/chart/annotations/XYTitleAnnotation.java:
    Moved to main,
    * experimental/org/jfree/experimental/chart/annotations/junit/XYTitleAnnotationTests.java
    Likewise,
    * experimental/org/jfree/experimental/chart/util/XYCoordinateType.java
    Likewise,
    * source/org/jfree/chart/annotation/XYTitleAnnotation.java:
    Transferred from experimental,
    * source/org/jfree/chart/util/XYCoordinateType.java: Likewise,
    * tests/org/jfree/chart/annotations/junit/AnnotationsPackageTests.java
    (suite): Added tests for XYTitleAnnotation,
    * tests/org/jfree/chart/annotations/junit/XYTitleAnnotationTests.java:
    New file.

2008-09-01  David Gilbert  <david.gilbert@object-refinery.com>

	Bug 2078057:
    * source/org/jfree/chart/axis/DateAxis.java
    (previousStandardDate): For month option, peg in case of 
    non-default time zone,
    * source/org/jfree/data/time/Month.java
    (previous): Added API doc comments,
    (next): Likewise.

2008-09-01  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/axis/DateAxis.java
    (valueToJava2D): Use DateRange methods that return millis,
    (java2DToValue): Likewise,
    * source/org/jfree/data/time/DateRange.java
    (getLowerMillis): New method,
    (getUpperMillis): Likewise.

2008-09-01  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/util/RelativeDateFormat.java
    (hourFormatter): New field,
    (minuteFormatter): New field,
    (RelativeDateFormat(long)): Initialise new fields,
    (setDayFormatter): New method,
    (setHourFormatter): Likewise,
    (setMinuteFormatter): Likewise,
    (format): Use new fields for formatting,
    (equals): Updated for new fields.

2008-09-01  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/XYDotRenderer.java
    (drawItem): Check for item visibility.

2008-08-15  David Gilbert  <david.gilbert@object-refinery.com>

    Bug 2031407:
    * source/org/jfree/chart/renderer/category/StackedBarRenderer3D.java
    (createStackedValueList): Encode series with negative values using -1 
    offset,
    (drawStackHorizontal): Account for -1 offset,
    (drawStackVertical): Likewise.

2008-08-15  David Gilbert  <david.gilbert@object-refinery.com>

    Bug 2033721:
    * source/org/jfree/chart/renderer/WaferMapRenderer.java
    (getLegendCollection): Use lookupSeriesPaint.

2008-08-15  David Gilbert  <david.gilbert@object-refinery.com>

    Bug 2051168:
    * source/org/jfree/chart/plot/PiePlot.java
    (getLegendItems): Populate with series key and index.

2008-08-15  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/ChartFactory.java:
    (currentTheme): New field,
    (getChartTheme): New method,
    (setChartTheme): Likewise,
    ...and applied current theme in all chart creation methods,
    * source/org/jfree/chart/ChartTheme.java: New file,
    * source/org/jfree/chart/ChartUtilities.java
    (applyCurrentTheme): New method,
    * source/org/jfree/chart/StandardChartTheme.java: New file.

2008-08-15  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/ChartPanel.java
    (DEFAULT_MAXIMUM_DRAW_WIDTH): Increased to 1024,
    (DEFAULT_MAXIMUM_DRAW_HEIGHT): Increased to 768.

2008-08-15  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/GradientBarPainter.java
    (paintBar): Use outline paint,
    (paintBarShadow): Use shadow paint,
    * source/org/jfree/chart/renderer/category/StandardBarPainter.java
    (paintBarShadow): Use shadow paint.

2008-08-15  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/AbstractRenderer.java
    (clearSeriesPaints): New method,
    (clearSeriesStrokes): Likewise.

2008-08-15  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/PiePlot.java
    (clearSectionPaints): New method,
    (clearSectionOutlinePaints): Likewise,
    (clearSectionOutlineStrokes): Likewise.

2008-08-15  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/axis/SymbolAxis.java
    (drawGridBandsHorizontal): Use gridBandAlternatePaint,
    (drawGridBandsVertical): Likewise.

2008-08-15  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/CategoryPlot.java
    (getRendererCount): New method,
    * source/org/jfree/chart/plot/XYPlot.java
    (getRendererCount): Likewise.

2008-08-15  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/title/LegendTitle.java
    (getWrapper): New method.

2008-08-15  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/Plot.java
    (setDrawingSupplier(DrawingSupplier, boolean)): New method.

2008-08-11  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/BarRenderer.java
    (shadowPaint): New field,
    (getShadowPaint): New method,
    (setShadowPaint): Likewise,
    (equals): Updated for new field,
    (writeObject): For serialization,
    (readObject): Likewise.

2008-08-11  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/CombinedDomainCategoryPlot.java
    (totalWeight): Removed,
    (CombinedDomainCategoryPlot(CategoryAxis)): Updated for removed field,
    (add(CategoryPlot, int)): No longer need to track totalWeight,
    (remove): Likewise,
    (calculateAxisSpace): Compute totalWeight on-the-fly,
    * source/org/jfree/chart/plot/CombinedDomainXYPlot.java
    (totalWeight): Removed,
    (add(XYPlot, int)): No longer need to track totalWeight,
    (remove): Likewise,
    (calculateAxisSpace): Compute totalWeight on-the-fly,
    * source/org/jfree/chart/plot/CombinedRangeCategoryPlot.java
    (totalWeight): Removed,
    (add(CategoryPlot, int)): No longer need to track totalWeight,
    (remove): Likewise,
    (calculateAxisSpace): Compute totalWeight on-the-fly,
    * source/org/jfree/chart/plot/CombinedRangeXYPlot.java
    (totalWeight): Removed,
    (add(XYPlot, int)): No longer need to track totalWeight,
    (remove): Likewise,
    (calculateAxisSpace): Compute totalWeight on-the-fly.

2008-07-25  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/XYPlot.java
    (drawQuadrants): Check for null axes,
    (render): Likewise.

2008-07-11  David Gilbert  <david.gilbert@object-refinery.com>

    Bug 1994355:
    * swt/org/jfree/experimental/swt/ChartComposite.java
    (addSWTListener): Changed argument type.

2008-07-11  David Gilbert  <david.gilbert@object-refinery.com>

    Synced from trunk change by Henry Proudhon:
    * swt/org/jfree/experimental/swt/SWTUtils.java
    (toSwtFontData): Simplified font style,
    (toAwtFont): Likewise.

2008-07-10  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/CategoryPlot.java
    (draw): Check outline visibility.

2008-07-10  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/time/ohlc/OHLCSeriesCollection.java
    (getXPosition): New method,
    (setXPosition): Likewise,
    (equals): Updated for xPosition attribute.

2008-07-09  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/XYPlot.java
    (render): Call new methods in XYItemRendererState,
    * source/org/jfree/chart/renderer/xy/XYItemRendererState.java
    (startSeriesPass): New method,
    (endSeriesPass): Likewise.

2008-07-09  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/title/CompositeTitle.java
    (backgroundPaint): New field,
    (CompositeTitle): Initialise new field,
    (getBackgroundPaint): New method,
    (setBackgroundPaint): Likewise,
    (draw): Fill background if necessary,
    (equals): Check backgroundPaint,
    (writeObject): Added serialization support for backgroundPaint,
    (readObject): Likewise.

2008-07-02  David Gilbert  <david.gilbert@object-refinery.com>

    Patch 2006826:
    * source/org/jfree/chart/title/CompositeTitle.java
    (draw(Graphics2D, Rectangle2D)): Delegate to other draw method,
    (draw(Graphics2D, Rectangle2D, Parameters)): Modified implementation to 
    return result from BlockContainer.

2008-07-02  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/PiePlot.java
    (autoPopulateSectionPaint): New field,
    (autoPopulateSectionOutlinePaint): Likewise,
    (autoPopulateSectionOutlineStroke): Likewise,
    (PiePlot(PieDataset)): Initialise new fields,
    (lookupSectionPaint(Comparable)): Use autoPopulateSectionPaint field,
    (getAutoPopulateSectionPaint): New method,
    (setAutoPopulateSectionPaint): Likewise,
    (lookupSectionOutlinePaint(Comparable)): Use autoPopulateSectionOutlinePaint
    field,
    (getAutoPopulateSectionOutlinePaint): New method,
    (setAutoPopulateSectionOutlinePaint): Likewise,
    (lookupSectionOutlineStroke(Comparable)): 
    Use autoPopulateSectionOutlineStroke field,
    (getAutoPopulateSectionOutlineStroke): New method,
    (setAutoPopulateSectionOutlineStroke): Likewise,
    (drawItem): Updated lookup methods,
    (getLegendItems): Likewise,
    (equals): Updated for new fields,
    * source/org/jfree/chart/plot/PiePlot3D.java
    (draw): Updated lookup methods,
    * source/org/jfree/chart/plot/RingPlot.java
    (draw): Likewise.

2008-06-26  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/axis/CategoryAxis.java
    (getCategoryMiddle(Comparable, List, Rectangle2D, RectangleEdge)): 
    New method,
    * source/org/jfree/chart/plot/CategoryCrosshairState.java: New file,
    * source/org/jfree/chart/plot/CategoryPlot.java
    (crosshairDatasetIndex): New field,
    (domainCrosshairVisible): Likewise,
    (domainCrosshairRowKey): Likewise,
    (domainCrosshairColumnKey): Likewise,
    (domainCrosshairStroke): Likewise,
    (domainCrosshairPaint): Likewise,
    (CategoryPlot): Initialise new fields,
    (indexOf): New method,
    (isDomainCrosshairVisible): Likewise,
    (setDomainCrosshairVisible): Likewise,
    (getDomainCrosshairRowKey): Likewise,
    (setDomainCrosshairRowKey): Likewise,
    (getDomainCrosshairColumnKey): Likewise,
    (setDomainCrosshairColumnKey): Likewise,
    (getCrosshairDatasetIndex): Likewise,
    (setCrosshairDatasetIndex): Likewise,
    (getDomainCrosshairPaint): Likewise,
    (setDomainCrosshairPaint): Likewise,
    (getDomainCrosshairStroke): Likewise,
    (setDomainCrosshairStroke): Likewise,
    (draw): Handle crosshairs,
    (render): Modified method signature to incorporate crosshair state,
    (drawDomainCrosshair): New method,
    (equals): Updated for new fields,
    (writeObject): Likewise,
    (readObject): Likewise,
    * source/org/jfree/chart/plot/CombinedDomainCategoryPlot.java
    (draw): Fixed crosshair support,
    * source/org/jfree/chart/plot/CombinedRangeCategoryPlot.java
    (draw): Likewise,
    * source/org/jfree/chart/plot/CrosshairState.java
    (datasetIndex): New field,
    (getDatasetIndex): New method,
    (setDatasetIndex): New method,
    (getDomainAxisIndex): Deprecated,
    (getRangeAxisIndex): Deprecated,
    * source/org/jfree/chart/plot/XYCrosshairState.java: New subclass,
    * source/org/jfree/chart/renderer/category/AbstractCategoryItemRenderer.java
    (getItemMiddle): New method,
    (updateCrosshairValues): Likewise,
    * source/org/jfree/chart/renderer/category/AreaRenderer.java
    (drawItem): Update crosshair state,
    * source/org/jfree/chart/renderer/category/BarRenderer.java
    (drawItem): Likewise,
    * source/org/jfree/chart/renderer/category/CategoryItemRenderer.java
    (getItemMiddle): New method,
    * source/org/jfree/chart/renderer/category/CategoryItemRendererState.java
    (crosshairState): New field,
    (getCrosshairState): New method,
    (setCrosshairState): Likewise,
    * source/org/jfree/chart/renderer/category/GanttRenderer.java
    (drawTasks): Update crosshair state,
    (drawTask): Likewise,
    (getItemMiddle): New method override,
    * source/org/jfree/chart/renderer/category/LevelRenderer.java
    (drawItem): Update crosshair state,
    (getItemMiddle): New method override,
    * source/org/jfree/chart/renderer/category/LineAndShapeRenderer.java
    (drawItem): Update crosshair state,
    * tests/org/jfree/chart/plot/junit/CategoryPlotTests.java
    (testEquals): Updated for new fields.
    
2008-06-24  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/BarPainter.java: New file,
    * source/org/jfree/chart/renderer/category/BarRenderer.java:
    (defaultBarPainter): New field,
    (getDefaultBarPainter): New method,
    (setDefaultBarPainter): Likewise,
    (barPainter): New field,
    (shadowsVisible): Likewise,
    (shadowXOffset): Likewise,
    (shadowYOffset): Likewise,
    (BarRenderer): Initialise new fields,
    (getBarPainter): New method,
    (setBarPainter): Likewise,
    (getShadowsVisible): Likewise,
    (setShadowsVisible): Likewise,
    (getShadowXOffset): Likewise,
    (setShadowXOffset): Likewise,
    (getShadowYOffset): Likewise,
    (setShadowYOffset): Likewise,
    (drawItem): Use new barPainter,
    (equals): Check new fields,
    * source/org/jfree/chart/renderer/category/GanttRenderer.java
    (drawTask): Use new barPainter,
    (drawTasks): Likewise,
    * source/org/jfree/chart/renderer/category/GradientBarPainter.java: 
    New file,
    * source/org/jfree/chart/renderer/category/GroupedStackedBarRenderer.java
    (drawItem): Use new barPainter,
    * source/org/jfree/chart/renderer/category/IntervalBarRenderer.java
    (drawItem): Use new barPainter,
    * source/org/jfree/chart/renderer/category/StackedBarRenderer.java
    (getPassCount): Now returns 3,
    (drawItem): Use new barPainter,
    * source/org/jfree/chart/renderer/category/StandardBarPainter.java: 
    New file,
    * source/org/jfree/chart/renderer/xy/ClusteredXYBarRenderer.java
    (getPassCount): Now returns 2,
    (drawItem): Use new barPainter,
    * source/org/jfree/chart/renderer/xy/GradientXYBarPainter.java: New file,
    * source/org/jfree/chart/renderer/xy/StackedXYBarRenderer.java
    (getPassCount): Now returns 3,
    (drawItem): Use new barPainter,
    * source/org/jfree/chart/renderer/xy/StandardXYBarPainter.java: New file,
    * source/org/jfree/chart/renderer/xy/XYBarPainter.java: New file,
    * source/org/jfree/chart/renderer/xy/XYBarRenderer.java
    (defaultBarPainter): New field,
    (getDefaultBarPainter): New method,
    (setDefaultBarPainter): Likewise,
    (barPainter): New field,
    (shadowsVisible): Likewise,
    (shadowXOffset): Likewise,
    (shadowYOffset): Likewise,
    (XYBarRenderer(double)): Initialise new fields,
    (getBarPainter): New method,
    (setBarPainter): Likewise,
    (getShadowsVisible): Likewise,
    (setShadowsVisible): Likewise,
    (getShadowXOffset): Likewise,
    (setShadowXOffset): Likewise,
    (getShadowYOffset): Likewise,
    (setShadowYOffset): Likewise,
    (drawItem): Use new barPainter,
    (equals): Check new fields,
    * tests/org/jfree/chart/renderer/category/junit/BarRendererTests.java
    (testEquals): Updated for new fields,
    * tests/org/jfree/chart/renderer/category/junit/GradientBarPainterTests.java:
    New file,
    * tests/org/jfree/chart/renderer/category/junit/RendererCategoryPackageTests.java
    (suite): Included new test classes,
    * tests/org/jfree/chart/renderer/category/junit/StandardBarPainterTests.java: 
    New file,
    * tests/org/jfree/chart/renderer/xy/junit/GradientXYBarPainterTests.java:
    New file,
    * tests/org/jfree/chart/renderer/xy/junit/RendererXYPackageTests.java
    (suite): Included new test classes,
    * tests/org/jfree/chart/renderer/xy/junit/StandardXYBarPainterTests.java:
    New file,
    * tests/org/jfree/chart/renderer/xy/junit/XYBarRendererTests.java
    (testEquals): Updated for new fields.
    
2008-06-19  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/XYBarRenderer.java
    (findRangeBounds): New method override,
    * tests/org/jfree/chart/renderer/xy/junit/XYBarRendererTests.java
    (testFindRangeBounds): New test method.

2008-06-18  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/title/PaintScaleLegend.java
    (subdivisions): New field,
    (PaintScaleLegend): Initialise new field,
    (getSubdivisionCount): New method,
    (setSubdivisionCount): Likewise,
    (SUBDIVISIONS): Removed private field,
    (draw): Modified segment calculations,
    (equals): Updated for new field.

2008-06-18  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/annotations/XYDrawableAnnotation.java
    (drawScaleFactor): New field,
    (width): Renamed displayWidth,
    (height): Renamed displayHeight,
    (XYDrawableAnnotation(double, double, double, double, double, Drawable)): 
    New constructor,
    (draw): Apply scaling transform,
    (equals): Check drawScaleFactor field,
    (hashCode): Updated for renamed fields.

2008-06-17  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/LegendItem.java
    (labelFont): New field,
    (labelPaint): Likewise,
    (getLabelFont): New method,
    (setLabelFont): Likewise,
    (getLabelPaint): Likewise,
    (setLabelPaint): Likewise,
    (setFillPaint): Likewise,
    (setLinePaint): Likewise,
    (setOutlinePaint): Likewise,
    (equals): Test new fields,
    (writeObject): Handle new field,
    (readObject): Likewise,
    * source/org/jfree/chart/renderer/AbstractRenderer.java
    (legendShape): New field,
    (baseLegendShape): Likewise,
    (legendTextFont): Likewise,
    (baseLegendTextFont): Likewise,
    (legendTextPaint): Likewise,
    (baseLegendTextPaint): Likewise,
    (AbstractRenderer): Initialise new fields,
    (lookupLegendShape): New method,
    (getLegendShape): Likewise,
    (setLegendShape): Likewise,
    (getBaseLegendShape): Likewise,
    (setBaseLegendShape): Likewise,
    (lookupLegendTextFont): Likewise,
    (getLegendTextFont): Likewise,
    (setLegendTextFont): Likewise,
    (getBaseLegendTextFont): Likewise,
    (setBaseLegendTextFont): Likewise,
    (lookupLegendTextPaint): Likewise,
    (getLegendTextPaint): Likewise,
    (setLegendTextPaint): Likewise,
    (getBaseLegendTextPaint): Likewise,
    (setBaseLegendTextPaint): Likewise,
    (equals): Handle new fields,
    (clone): Likewise,
    (writeObject): Likewise,
    (readObject): Likewise,
    * source/org/jfree/chart/renderer/category/AbstractCategoryItemRenderer.java,
    * source/org/jfree/chart/renderer/category/AreaRenderer.java,
    * source/org/jfree/chart/renderer/category/BarRenderer.java,
    * source/org/jfree/chart/renderer/category/BoxAndWhiskerRenderer.java,
    * source/org/jfree/chart/renderer/category/CategoryStepRenderer.java,
    * source/org/jfree/chart/renderer/category/LineAndShapeRenderer.java,
    * source/org/jfree/chart/renderer/category/ScatterRenderer.java,
    * source/org/jfree/chart/renderer/xy/AbstractXYItemRenderer.java,
    * source/org/jfree/chart/renderer/xy/StandardXYItemRenderer.java,
    * source/org/jfree/chart/renderer/xy/XYAreaRenderer.java,
    * source/org/jfree/chart/renderer/xy/XYAreaRenderer2.java,
    * source/org/jfree/chart/renderer/xy/XYBarRenderer.java,
    * source/org/jfree/chart/renderer/xy/XYBubbleRenderer.java,
    * source/org/jfree/chart/renderer/xy/XYDifferenceRenderer.java,
    * source/org/jfree/chart/renderer/xy/XYDotRenderer.java,
    * source/org/jfree/chart/renderer/xy/XYLineAndShapeRenderer.java,
    (getLegendItem): Use new legend attributes,
    * source/org/jfree/chart/title/LegendTitle.java
    (createLegendItemBlock): Pass new attributes to text block.

2008-06-16  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/HighLowRenderer.java
    (drawItem): Call addEntity() method,
    * source/org/jfree/chart/renderer/xy/YIntervalRenderer.java
    (drawItem): Likewise.

----------  JFREECHART 1.0.10 RELEASED ------------------------

2008-06-09  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/axis/DateTickUnit.java
    (addToDate(Date)): Deprecated.

2008-06-06  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/time/Millisecond.java
    (compareTo): Added handling for general RegularTimePeriod.

2008-06-06  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/axis/Axis.java
    (setTickLabelInsets(RectangleInsets)): Delegate to new method,
    (setTickLabelInsets(RectangleInsets, boolean)): New method.

2008-06-02  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/time/SimpleTimePeriod.java
    (start): Changed from Date to long,
    (end): Likewise,
    (getStartMillis): New method,
    (getEndMillis): Likewise,
    (getStart): Returns new date instance,
    (getEnd): Likewise.

2008-06-02  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/StackedXYAreaRenderer2.java
    (drawItem): Handle PlotOrientation.HORIZONTAL.

2008-06-02  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/SpiderWebPlot.java
    (getLegendItems): Return early if dataset is null.

2008-06-02  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/SpiderWebPlot.java
    (drawRadarPoly): Check dataExtractOrder when generating chart entities.

2008-06-02  David Gilbert  <david.gilbert@object-refinery.com>

    Patches by Henry Proudhon:
    * swt/org/jfree/experimental/chart/swt/ChartComposite.java
    (ChartComposite): Removed duplicate listener registration,
    (paintControl): Switched horizontalAxisTrace and verticalAxisTrace,
    (dispose): New method,
    * swt/org/jfree/experimental/swt/SWTGraphics2D.java
    (transformsPool): New field,
    (setBackground): Use color pool,
    (setTransform): Use transform pool,
    (transform): Likewise,
    (disposeResourcePool): Clear the fontsPool and transformsPool,
    (getSwtTransformFromPool): New method,
    (toSwtTransform): Removed.

2008-06-02  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/AbstractXYItemRenderer.java
    (isPointInRect): New utility method,
    * source/org/jfree/chart/renderer/xy/StandardXYItemRenderer.java
    (drawItem): Modified bounds check for inclusion of chart entity,
    * source/org/jfree/chart/renderer/xy/XYLineAndShapeRenderer.java
    (drawSecondaryPass): Modified bounds check for inclusion of chart entity.

2008-05-28  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/time/DateRange.java
    (lowerDate): Changed from Date to long,
    (upperDate): Likewise,
    (DateRange(Date, Date)): Updated for field type change,
    (DateRange(long, long)): Likewise,
    (getLowerDate): Likewise,
    (getUpperDate): Likewise,
    (toString): Likewise,
    * source/org/jfree/data/time/FixedMillisecond.java
    (time): Changed from Date to long.

2008-05-26  David Gilbert  <david.gilbert@object-refinery.com> 

    * source/org/jfree/chart/labels/AbstractXYItemLabelGenerator.java
    (getNullYString): New method,
    (equals): Check nullYString,
    * source/org/jfree/chart/labels/IntervalXYItemLabelGenerator.java:
    New file,
    * source/org/jfree/chart/renderer/xy/YIntervalRenderer.java
    (additionalItemLabelGenerator): New field,
    (YIntervalRenderer): Initialise new field,
    (getAdditionalItemLabelGenerator): New method,
    (setAdditionalItemLabelGenerator): Likewise,
    (drawItem): Added item label support,
    (drawAdditionalItemLabel): New method,
    (equals): New method override.

2008-05-22  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/statistics/HistogramDataset.java
    (clone): Reimplemented.

2008-05-22  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/XYPlot.java
    (calculateAxisSpace): Calculate space for range axes first, adjust the
    plotArea then calculate the space for the domain axes.

2008-05-14  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/XYStepAreaRenderer.java
    (drawItem): Use addEntity().

2008-05-14  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/AbstractXYItemRenderer.java
    (addEntity): If area is null, take into account the plot orientation for 
    the generated hotspot,
    * source/org/jfree/chart/renderer/xy/XYStepRenderer.java
    (drawItem): Use addEntity().

2008-05-13  David Gilbert  <david.gilbert@object-refinery.com>
    
    Bugs 1962467 and 1962472:
    * source/org/jfree/chart/renderer/xy/CandlestickRenderer.java
    (drawItem): Use hotspot that includes high and low values, and use
    addEntity() to add the chart entity.

2008-05-12  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/category/SlidingCategoryDataset.java: New class,
    * source/org/jfree/data/gantt/SlidingGanttCategoryDatsaet.java: Likewise,
    * tests/org/jfree/data/category/SlidingCategoryDatasetTests.java: 
    New tests,
    * tests/org/jfree/data/gantt/SlidingGanttCategoryDatasetTests.java: 
    Likewise.

2008-05-12  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/gantt/TaskSeries.java
    (clone): New method override,
    * source/org/jfree/data/gantt/TaskSeriesCollection.java
    (clone): Likewise.

2008-05-11  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/block/EmptyBlock.java
    (arrange): Use constraint.

2008-05-09  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/category/DefaultCategoryDataset.java:
    Implemented PublicCloneable.

2008-05-08  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/ChartPanel.java
    (chartMouseListeners): Marked this field transient,
    (chartBuffer): Likewise,
    (writeObject): New method, 
    (readObject): Likewise.    

2008-05-08  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/ChartPanel.java
    (zoomPoint): Changed from Point to Point2D,
    (getPointInRectangle): Changed return type to Point2D, and no longer round
    the coordinates in the returned point,
    (mouseReleased): Tidied up for readability,
    (restoreAutoDomainBounds): Updated for modified zoomPoint type,
    (restoreAutoRangeBounds): Likewise.

2008-05-07  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/BarRenderer.java
    (drawItem): Ensure that minimumBarLength, if used, extends the non-base
    end of the bar.

2008-05-05  David Gilbert  <david.gilbert@object-refinery.com>

    Patch 1924543 by Richard West:
    * experimental/org/jfree/experimental/chart/demo/CombinedCategoryPlotDemo1.java:
    New file,
    * experimental/org/jfree/experimental/chart/demo/CombinedXYPlotDemo1.java:
    Likewise,
    * experimental/org/jfree/experimental/chart/plot/CombinedCategoryPlot.java:
    Likewise,
    * experimental/org/jfree/experimental/chart/plot/CombinedXYPlot.java:
    Likewise.    

2008-05-05  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/title/ShortTextTitle.java: New file,
    * tests/org/jfree/chart/title/junit/ShortTextTitleTests.java: Likewise.

2008-05-01  David Gilbert  <david.gilbert@object-refinery.com>

    Bug 1955483:
    * source/org/jfree/data/xy/XYSeries.java
    (addOrUpdate(Number, Number)): Add a new item if duplicates are allows,
    (addOrUpdate(double, double)): New method.

2008-04-29  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/HighLowRenderer.java
    (tickLength): New field,
    (HighLowRenderer): Initialise new field,
    (getTickLength): New method,
    (setTickLength): Likewise,
    (equals): Added check for new field.

2008-04-28  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/title/TextTitle.java
    (maximumLinesToDisplay): New field,
    (getMaximumLinesToDisplay): New method,
    (setMaximumLinesToDisplay): Likewise,
    (arrangeFN): Pass maximumLinesToDisplay,
    (arrangeRR): Likewise,
    (equals): Added tests for additional fields.

2008-04-28  David Gilbert  <david.gilbert@object-refinery.com>

    Bug 1950037:
    * source/org/jfree/chart/plot/CombinedDomainCategoryPlot.java
    (zoomRangeAxes(double, PlotRenderingInfo, Point2D, boolean)): 
    New method override,
    * source/org/jfree/chart/plot/CombinedDomainXYPlot.java
    (zoomRangeAxes(double, PlotRenderingInfo, Point2D, boolean)): 
    New method override,
    * source/org/jfree/chart/plot/CombinedRangeXYPlot.java
    (zoomDomainAxes(double, PlotRenderingInfo, Point2D, boolean)): 
    New method override.

2008-04-23  David Gilbert  <david.gilbert@object-refinery.com>

    Bug 1942059:
    * source/org/jfree/chart/axis/CategoryAxis.java
    (calculateTextBlockWidth): Use correct insets.

2008-04-23  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/labels/BubbleXYItemLabelGenerator.java,
    * source/org/jfree/chart/labels/StandardPieSectionLabelGenerator.java:
    Implemented PublicCloneable.

2008-04-23  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/LegendItemCollection.java
    (clone): Reimplemented,
    * source/org/jfree/chart/plot/CategoryPlot.java
    (equals): Check additional fields,
    (clone): Clone some internal structures.

2008-04-23  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/LegendItem.java
    (LegendItem(String)): New constructor,
    (clone): Implemented.

2008-04-23  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/annotations/CategoryLineAnnotation.java,
    * source/org/jfree/chart/annotations/CategoryTextAnnotation.java:
    Implemented PublicCloneable.

2008-04-23  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/JFreeChart.java:
    Added new contributor Diego Pierangeli,
    * source/org/jfree/chart/urls/CustomCategoryURLGenerator.java:
    New class,
    * source/org/jfree/chart/urls/CustomXYURLGenerator.java
    (addURLSeries): Copy the incoming list.

2008-04-22  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/VectorRenderer.java,
    * source/org/jfree/chart/renderer/xy/XYBlockRenderer.java:
    Implemented PublicCloneable.

2008-04-22  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/xy/DefaultHighLowDataset.java,
    * source/org/jfree/data/xy/DefaultIntervalXYDataset.java,
    * source/org/jfree/data/xy/DefaultWindDataset.java,
    * source/org/jfree/data/xy/DefaultXYZDataset.java,
    * source/org/jfree/data/xy/MatrixSeriesCollection.java,
    * source/org/jfree/data/xy/VectorSeriesCollection.java,
    * source/org/jfree/data/xy/XIntervalSeriesCollection.java,
    * source/org/jfree/data/xy/XYBarDataset.java,
    * source/org/jfree/data/xy/XYIntervalSeriesCollection.java,
    * source/org/jfree/data/xy/XYSeriesCollection.java,
    * source/org/jfree/data/xy/YIntervalSeriesCollection.java:
    Implemented PublicCloneable.

2008-04-22  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/xy/DefaultTableXYDataset.java:
    Implemented PublicCloneable, plus
    (clone): New method override.

2008-04-22  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/xy/DefaultOHLCDataset.java:
    Implemented PublicCloneable, plus
    (clone): New method override.

2008-04-22  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/xy/CategoryTableXYDataset.java: 
    Implemented PublicCloneable, plus
    (clone): New method override.

2008-04-21  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/title/ImageTitle.java
    (equals): New method override.

2008-04-18  David Gilbert  <david.gilbert@object-refinery.com>

    Patch 1943021 (Brian Cabana):
    * source/org/jfree/chart/plot/MultiplePiePlot.java
    (MultiplePiePlot(CategoryDataset)): Call setDataset() to ensure that
    plot registers as a dataset listener,
    * tests/org/jfree/chart/plot/junit/MultiplePiePlotTests.java
    (testConstructors): New test method.

2008-04-11  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/title/ImageTitle.java
    (arrange): New method override to handle margin, border and padding,
    * test/org/jfree/chart/title/junit/ImageTitleTests.java
    (testArrangeNN): New test method.

2008-04-11  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/urls/CustomXYURLGenerator.java
    (clone): Implemented,
    * tests/org/jfree/chart/urls/junit/CustomPieURLGeneratorTests.java: 
    New file,
    * tests/org/jfree/chart/urls/junit/CustomXYURLGeneratorTests.java
    (testEquals): New test method,
    (testCloning): Likewise,
    * tests/org/jfree/chart/urls/junit/UrlsPackageTests.java
    (suite): Added CustomPieURLGeneratorTests.

2008-04-11  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/DeviationRenderer.java
    (findRangeBounds): New method override,
    * source/org/jfree/chart/renderer/xy/YIntervalRenderer.java
    (findRangeBounds): Likewise.

2008-04-10  David Gilbert  <david.gilbert@object-refinery.com> 

    * source/org/jfree/data/xy/XIntervalSeriesCollection.java
    (getStartXValue): New method override,
    (getEndXValue): Likewise.

2008-04-10  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/xy/XIntervalSeries.java
    (getXLowValue): New method,
    (getXHighValue): Likewise.

2008-04-08  David Gilbert  <david.gilbert@object-refinery.com>

    Bug 1932146:
    * source/org/jfree/chart/axis/PeriodAxis.java
    (setRange): Notify listeners,
    * tests/org/jfree/chart/axis/junit/PeriodAxisTests.java
    (lastEvent): New field,
    (axisChanged): New method,
    (test1932146): New test method.

2008-04-08  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/HighLowRenderer.java
    (findRangeBounds): New method override.

2008-04-08  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/CandlestickRenderer.java
    (findRangeBounds): New method override,
    * source/org/jfree/data/general/DatasetUtilities.java
    (iterateRangeBounds(XYDataset)): Fixed typo for OHLCDataset.

2008-04-08  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/block/BorderArrangement.java
    (arrangeFF): Check for negative width remaining.

2008-04-08  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/block/ColorBlock.java
    (arrange): New method override,
    (draw): Add code for margin, border and padding,
    * source/org/jfree/chart/block/EmptyBlock.java
    (arrange): New method override,
    (draw(Graphics2D, Rectangle2D)): Delegate,
    (draw(Graphics2D, Rectangle2D, Object)): New method override.

2008-04-07  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/time/TimePeriodValue.java
    (toString): New method override,
    * source/org/jfree/data/time/TimePeriodValues.java
    (updateBounds): Update maxMiddleIndex correctly,
    * tests/org/jfree/data/time/junit/TimePeriodValues.java
    (testGetMinStartIndex): New test method,
    (testGetMaxStartIndex): Likewise,
    (testGetMinMiddleIndex): Likewise,
    (testGetMaxMiddleIndex): Likewise,
    (testGetMinEndIndex): Likewise,
    (testGetMaxEndIndex): Likewise.

2008-04-07  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/CategoryPlot.java
    (removeDomainMarker): Check for null collection,
    (removeRangeMarker): Likewise,
    * source/org/jfree/chart/plot/XYPlot.java
    (removeDomainMarker): Check for null collection,
    (removeRangeMarker): Likewise.

2008-04-07  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/DefaultKeyedValue.java
    (equals): Simplified to reflect that this.key is never null.

2008-04-07  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/XYBlockRenderer.java
    (drawItem): Inserted code to add entities.

2008-03-31  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/PiePlot.java
    (equals): Updated for labelLinkStyle field.

2008-03-31  David Gilbert  <david.gilbert@object-refinery.com>

    Patch 1891849 by Martin Hilpert:
    * source/org/jfree/chart/plot/PieLabelLinkStyle.java: New file,
    * source/org/jfree/chart/plot/PiePlot.java
    (labelLinkStyle): New field,
    (getLabelLinkStyle): New method,
    (setLabelLinkStyle): Likewise,
    (drawLeftLabel): Added support for labelLinkStyle field,
    (drawRightLabel): Likewise.

2008-03-31  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/PieLabelDistributor.java
    (distributeLabels): Comment out adjustInwards() until it is working,
    (adjustDownwards): Fix check for lower bound,
    (adjustUpwards): Fix check for upper bound,
    (distributeEvenly): Allow overlapping rather than exceeding bounds.

2008-03-31  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/PiePlot.java
    (drawLeftLabels): Adjust label area for interiorGap,
    (drawRightLabels): Likewise.

2008-03-31  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/labels/HighLowItemLabelGenerator.java:
    (hashCode): Implemented,
    * source/org/jfree/chart/labels/MultipleXYSeriesLabelGenerator.java: 
    Likewise,
    * source/org/jfree/chart/labels/StandardCategorySeriesLabelGenerator.java:
    Likewise,
    * source/org/jfree/chart/labels/StandardXYSeriesLabelGenerator.java:
    Likewise,
    * source/org/jfree/chart/labels/SymbolicXYItemLabelGenerator.java:
    Likewise.

2008-03-31  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/CombinedDomainCategoryPlot.java
    (getSubplots): Return null if this.subplots is null,
    * source/org/jfree/chart/plot/CombinedDomainXYPlot.java: Likewise,
    * source/org/jfree/chart/plot/CombinedRangeCategoryPlot.java: Likewise,
    * source/org/jfree/chart/plot/CombinedRangeXYPlot.java: Likewise.

2008-03-28  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/general/DatasetUtilities.java
    (iterateRangeBounds(CategoryDataset, boolean)): Modified implementation,
    (iterateRangeBounds(XYDataset, boolean)): Likewise,
    * tests/org/jfree/data/general/junit/DatasetUtilitiesTests.java
    (testFindRangeBounds3): New test,
    (testIterateCategoryRangeBounds): Renamed 
    testIterateRangeBounds_CategoryDataset(),
    (testIterateRangeBounds2_CategoryDataset): New method,
    (testIterateRangeBounds3_CategoryDataset): Likewise,
    (testIterateXYRangeBounds): Renamed testIterateRangeBounds(),
    (testIterateXYRangeBounds2): Renamed testIterateRangeBounds2(),
    (testIterateRangeBounds3): New method,
    (testIterateRangeBounds4): Likewise,
    (testCumulativeRange3): Likewise,
    (testSampleFunction2D): Likewise.

2008-03-28  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/general/DatasetUtilities.java
    (iterateCategoryRangeBounds): Deprecated,
    (iterateRangeBounds(CategoryDataset)): New method,
    (iterateRangeBounds(CategoryDataset, boolean)): Likewise.

2008-03-28  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/general/DatasetUtilities.java
    (findRangeBounds(XYDataset, boolean)): Use boolean argument for call to
    iterateRangeBounds(),
    (iterateXYRangeBounds): Deprecated,
    (iterateRangeBounds(XYDataset)): New method,
    (iterateRangeBounds(XYDataset, boolean)): Likewise. 

2008-03-28  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/general/DatasetUtilities.java
    (sampleFunction2D): Fixed sample count bug.

2008-03-27  David Gilbert  <david.gilbert@object-refinery.com>

    Bug 1927239:
    * source/org/jfree/chart/renderer/category/WaterfallBarRenderer.java
    (findRangeBounds): Reimplemented to account for the special treatment of
    the value in the final category,
    * source/org/jfree/data/general/DatasetUtilities.java
    (findCumulativeRangeBounds): Include final category.

2008-03-27  David Gilbert  <david.gilbert@object-refinery.com>

    Bug 1926517:
    * source/org/jfree/chart/plot/CombinedDomainCategoryPlot.java:
    (getDataRange): Override just to document,
    * source/org/jfree/chart/plot/CombinedDomainXYPlot.java
    (getDataRange): Added javadoc comment,
    * source/org/jfree/chart/plot/CombinedRangeCategoryPlot.java
    (getDataRange): Likewise,
    * source/org/jfree/chart/plot/CombinedRangeXYPlot.java
    (getDataRange): Likewise.

2008-03-27  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/BoxAndWhiskerRenderer.java
    (drawHorizontalItem): Draw box outline using itemOutlinePaint/Stroke,
    (drawVerticalItem): Likewise,
    * source/org/jfree/chart/renderer/xy/XYBoxAndWhiskerRenderer.java
    (lookupBoxPaint): New method,
    (drawHorizontalItem): Do lookup for box fill paint,
    (drawVerticalItem): Likewise.

2008-03-26  David Gilbert  <david.gilbert@object-refinery.com>

    Patch 1918209:
    * source/org/jfree/chart/axis/LogAxis.java
    (createTickLabel): Changed from private to protected.

2008-03-25  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/CombinedDomainCategoryPlot.java
    * source/org/jfree/chart/plot/CombinedDomainXYPlot.java
    * source/org/jfree/chart/plot/CombinedRangeCategoryPlot.java
    * source/org/jfree/chart/plot/CombinedRangeXYPlot.java
    * source/org/jfree/chart/plot/CompassPlot.java
    * source/org/jfree/chart/plot/ContourPlot.java
    * source/org/jfree/chart/plot/MeterPlot.java
    * source/org/jfree/chart/plot/MultiplePiePlot.java
    * source/org/jfree/chart/plot/PiePlot.java
    * source/org/jfree/chart/plot/PiePlot3D.java
    * source/org/jfree/chart/plot/PolarPlot.java
    * source/org/jfree/chart/plot/RingPlot.java
    * source/org/jfree/chart/plot/SpiderWebPlot.java
    * source/org/jfree/chart/plot/ThermometerPlot.java
    * source/org/jfree/chart/plot/WaferMapPlot.java
    Use fireChangeEvent() method all over.

2008-03-25  David Gilbert  <david.gilbert@object-refinery.com>

    Patch 1914411:
    * source/org/jfree/chart/plot/Plot.java
    (fireChangeEvent): New method,
    * source/org/jfree/chart/plot/CategoryPlot.java
    * source/org/jfree/chart/plot/FastScatterPlot.java
    * source/org/jfree/chart/plot/XYPlot.java:
    Use fireChangeEvent() method all over.

2008-03-25  David Gilbert  <david.gilbert@object-refinery.com>

    Patch 1913751:
    * source/org/jfree/chart/plot/CategoryPlot.java
    (addDomainMarker(int, CategoryMarker, Layer, boolean)): New method,
    (removeDomainMarker(int, Marker, Layer, boolean)): Likewise,    
    (addRangeMarker(int, CategoryMarker, Layer, boolean)): Likewise,
    (removeRangeMarker(int, Marker, Layer, boolean)): Likewise,
    (addAnnotation(CategoryAnnotation, boolean)): Likewise,
    (removeAnnotation(CategoryAnnotation, boolean)): Likewise.

2008-03-25  David Gilbert  <david.gilbert@object-refinery.com>

    Patch 1913751:
    * source/org/jfree/chart/plot/XYPlot.java
    (addDomainMarker(int, Marker, Layer, boolean)): New method,
    (removeDomainMarker(int, Marker, Layer, boolean)): Likewise,
    (addRangeMarker(int, Marker, Layer, boolean)): Likewise,
    (removeRangeMarker(int, Marker, Layer, boolean)): Likewise,
    (addAnnotation(XYAnnotation, boolean)): Likewise,
    (removeAnnotation(XYAnnotation, boolean)): Likewise.

2008-03-20  David Gilbert  <david.gilbert@object-refinery.com>

    Bug 1920854:
    * source/org/jfree/chart/plot/PiePlot3D.java
    (draw): Move label drawing outside section loop.

2008-03-19  David Gilbert  <david.gilbert@object-refinery.com>

    Patch 1902418:
    * source/org/jfree/chart/axis/LogAxis.java
    (refreshTicksVertical): Change tick type for major tick labels.

2008-03-19  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/PiePlot3D.java
    (getMaximumExplodePercent): Check for null dataset,
    (initialise): Likewise,
    * tests/org/jfree/chart/plot/junit/PiePlot3DTests.java
    (testDrawWithNullDataset): New test method.

2008-02-26  David Gilbert  <david.gilbert@object-refinery.com>

    Patch 1901599:
    * experimental/org/jfree/chart/annotations/XYTitleAnnotation.java
    (draw): Check for null 'info' argument before adding entities,
    (hashCode): Reimplemented,
    * experimental/org/jfree/chart/annotations/junit/XYTitleAnnotationTests.java
    (testDrawWithNullInfo): New test.

2008-02-26  David Gilbert  <david.gilbert@object-refinery.com>

    Bug 1897580:
    * source/org/jfree/data/DefaultIntervalCategoryDataset.java
    (DefaultIntervalCategoryDataset(Comparable[], Comparable[], Number[][], 
    Number[][]): Initialise seriesKeys and categoryKeys to empty arrays instead
    of null for empty dataset,
    (setCategoryKeys): Fixed argument check to handle empty dataset.

2008-02-19  David Gilbert  <david.gilbert@object-refinery.com>

    * org/jfree/chart/util/LogFormat.java
    (powerLabel): New field,
    (LogFormat(double, String, boolean)): Delegate to new constructor,
    (LogFormat(double, String, String, boolean)): New constructor,
    (format): Use new powerLabel,
    (equals): New method override,
    (clone): Likewise.

2008-02-18  David Gilbert  <david.gilbert@object-refinery.com>

    Bug 1880114:
    * org/jfree/chart/renderer/xy/VectorRenderer.java
    (drawItem): Modify arrow-head for plot orientation.

2008-02-18  David Gilbert  <david.gilbert@object-refinery.com>

    Patch 1871902 by Martin Hoeller:
    * org/jfree/chart/plot/PolarPlot.java
    (DEFAULT_ANGLE_TICK_UNIT_SIZE): New field,
    (angleTickUnit): Likewise,
    (PolarPlot(XYDataset, ValueAxis, PolarItemRenderer)): Initialise 
    angleTickUnit,
    (getAngleTickUnit): New method,
    (setAngleTickUnit): Likewise,
    (refreshAngleTicks): Likewise,
    (draw): Refresh angle tick list before drawing.

2008-02-15  David Gilbert  <david.gilbert@object-refinery.com>

    * org/jfree/data/DefaultKeyedValue.java
    (DefaultKeyedValue(Comparable, Number)): Check for null key.

2008-02-15  David Gilbert  <david.gilbert@object-refinery.com>

    Patch 1868745:
    * source/org/jfree/chart/axis/LogAxis.java
    (refreshTicksHorizontal): Adjust label anchor according to axis position,
    (refreshTicksVertical): Likewise.

2008-02-15  David Gilbert  <david.gilbert@object-refinery.com>

    Patch 1873328:
    * source/org/jfree/chart/util/RelativeDateFormat.java
    (showZeroHours): New field,
    (positivePrefix): Likewise,
    (RelativeDateFormat(long)): Initialise new fields,
    (getShowZeroHours): New method,
    (setShowZeroHours): Likewise,
    (getPositivePrefix): Likewise,
    (setPositivePrefix): Likewise,
    (format): Apply positive prefix, and fix formatting for negative values,
    (equals): Handle new fields,
    (hashCode): Use positivePrefix.
    
2008-02-15  David Gilbert  <david.gilbert@object-refinery.com>

    Bug 1873160:
    * source/org/jfree/chart/plot/DialPlot.java
    (draw): Fix clipping issues.

2008-02-14  David Gilbert  <david.gilbert@object-refinery.com>

    Bug 1892419:
    * source/org/jfree/chart/axis/LogAxis.java
    (LogAxis(String)): Change default number of minor ticks.

2008-02-14  David Gilbert  <david.gilbert@object-refinery.com>

    Patch 1874890 (Ulrich Voigt with contributions from Martin Hoeller):
    * source/org/jfree/chart/renderer/xy/XYStepRenderer.java
    (stepPoint): New field,
    (getStepPoint): New method,
    (setStepPoint): Likewise,
    (drawItem): Calculate step point using new field,
    (drawLine): New private method,
    (equals): New method override,
    (hashCode): Likewise.

2008-02-14  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/BoxAndWhiskerRenderer.java
    (drawHorizontalItem): Call addEntity() to handle entity generation,
    (drawVerticalItem): Likewise.

2008-02-14  David Gilbert  <david.gilbert@object-refinery.com>

    Patch 1888422 (Rob Van der Sanden):
    * source/org/jfree/chart/renderer/category/BoxAndWhiskerRenderer.java
    (drawHorizontalItem): Use correct data area dimension for series gap 
    calculation.

2008-01-28  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/CombinedDomainXYPlot.java
    (draw): Reset fixed range axis space for subplots.

2008-01-18  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/xy/XIntervalSeriesCollection.java
    (removeSeries(int)): New method,
    (removeSeries(XIntervalSeries)): Likewise,
    (removeAllSeries): Likewise,
    * source/org/jfree/data/xy/XYIntervalSeriesCollection.java
    (removeSeries(int)): New method,
    (removeSeries(XYIntervalSeries)): Likewise,
    (removeAllSeries): Likewise,
    * source/org/jfree/data/xy/YIntervalSeriesCollection.java
    (removeSeries(int)): New method,
    (removeSeries(YIntervalSeries)): Likewise,
    (removeAllSeries): Likewise.

2008-01-18  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/time/TimeSeriesCollection.java
    (getSeries): Changed argument from String to Comparable.

2008-01-15  David Gilbert  <david.gilbert@object-refinery.com>

    Patch 1866446 (Rob Van der Sanden):
    * source/org/jfree/chart/renderer/category/BoxAndWhiskerRenderer.java
    (maximumBarWidth): New field,
    (BoxAndWhiskerRenderer): Initialise new field,
    (getMaximumBarWidth): New method,
    (setMaximumBarWidth): Likewise,
    (equals): Updated for new field,
    * tests/org/jfree/chart/renderer/category/junit/BoxAndWhiskerRendererTests.java
    (testEquals): Updated to check new field.

2008-01-10  David Gilbert  <david.gilbert@object-refinery.com>

    Bug 1864222:
    * source/org/jfree/data/time/TimeSeries.java
    (createCopy(RegularTimePeriod, RegularTimePeriod)): Handle empty range,
    * tests/org/jfree/data/time/junit/TimeSeriesTests.java
    (testBug1864222): New test method.

2008-01-10  David Gilbert  <david.gilbert@object-refinery.com>

    Bug 1868521:
    * source/org/jfree/chart/ChartUtilities.java
    (writeChartAsJPEG): Create RGB image rather than ARGB.

----------  JFREECHART 1.0.9 RELEASED ------------------------

2008-01-04  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/XYPlot.java
    (drawQuadrants): Fix painting error when quadrant origin is outside plot
    area.

2008-01-03  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/BoxAndWhiskerRenderer.java
    (drawHorizontalItem): Check visibility of average marker,
    (drawVerticalItem): Likewise,
    * source/org/jfree/chart/renderer/xy/XYBoxAndWhiskerRenderer.java
    (drawHorizontalItem): Check visibility of average marker,
    (drawVerticalItem): Likewise.

2007-12-20  David Gilbert  <david.gilbert@object-refinery.com>

    Fixes bug 1848961:
    * source/org/jfree/chart/renderer/category/GroupedStackedBarRenderer.java
    (calculateBarW0): Use correct dataset index.

2007-12-19  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/time/Week.java
    (Week(Date, TimeZone)): Hand on the zone,
    * tests/org/jfree/data/time/junit/WeekTests.java
    (testBug1448828): Control the default locale,
    (testBug1498805): Likewise,
    (testGetFirstMillisecondWithTimeZone): Control the default locale, and
    modify expected result accordingly,
    (testGetLastMillisecondWithTimeZone): Likewise.
    
2007-12-19  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/title/TextTitle.java
    (arrange): Implement additional options,
    (arrangeNN): New method,
    (arrangeFN): Likewise,
    (arrangeRN): Likewise.

2007-12-18  David Gilbert  <david.gilbert@object-refinery.com>

    Committing for Sergei Ivanov:
    * source/org/jfree/data/Range.java
    (intersects(Range)): New method,
    (expand): Handle special case for negative margins,
    (shift): Added argument check,
    (scale): New method,
    * tests/org/jfree/data/junit/RangeTests.java
    (testConstructor): New test,
    (testHashCode): Likewise,
    (testExpand): Additional checks,
    (testShift): New test,
    (testScale): Likewise.    

2007-12-18  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/IntervalMarker.java
    (IntervalMarker(double, double, Paint)): New constructor.

2007-12-05  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/HashUtilities.java
    (hashCode(int, BooleanList)): New method,
    (hashCode(int, PaintList)): Likewise,
    (hashCode(int, StrokeList)): Likewise.

2007-12-05  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/entity/ChartEntity.java
    (getImageMapAreaTag): Don't escape tooltips and urls, delegate that to 
    the tag generators,
    * source/org/jfree/chart/imagemap/StandardURLTagFragmentGenerator.java
    (generateURLFragment): Encode the url text,
    * tests/org/jfree/chart/imagemap/junit/ImageMapPackageTests.java: New file,
    * tests/org/jfree/chart/imagemap/junit/StandardToolTipTagFragmentGeneratorTests.java: 
    Likewise,
    * tests/org/jfree/chart/imagemap/junit/StandardURLTagFragmentGeneratorTests.java: 
    Likewise.

2007-12-05  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/JFreeChart.java
    (setTitle): Handle listener registration,
    * tests/org/jfree/chart/junit/JFreeChartTests.java
    (testTitleChangeEvents): New test method.

2007-12-04  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/imagemap/DynamicDriveToolTipFragmentGenerator.java
    (generateToolTipFragment): Escape text,
    * source/org/jfree/chart/imagemap/OverLIBToolTipFragmentGenerator.java
    (generateToolTipFragment): Likewise,
    * source/org/jfree/chart/imagemap/StandardToolTipFragmentGenerator.java
    (generateToolTipFragment): Likewise,
    * source/org/jfree/chart/imagemap/StandardURLTagFragmentGenerator.java
    (generateURLFragment): Likewise.

2007-12-04  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/AbstractRenderer.java
    (hashCode): Compute using more fields.

2007-12-04  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/JFreeChart.java
    (createBufferedImage(int, int, ChartRenderingInfo)): Change image type,
    (createBufferedImage(int, int, double, double, ChartRenderingInfo)): 
    Likewise. 

2007-12-04  David Gilbert  <david.gilbert@object-refinery.com>

    Bugs 1363043 and 1840139:
    * source/org/jfree/chart/entity/ChartEntity.java
    (getImageMapAreaTag): Escape toolTipText and urlText,
    * source/org/jfree/chart/imagemap/ImageMapUtilities.java
    (getImageMap): Escape name,
    (htmlEscape): New method.

2007-12-04  David Gilbert  <david.gilbert@object-refinery.com>

    Bug 1460195:
    * source/org/jfree/chart/entity/ChartEntity.java
    (getImageMapAreaTag): Add 'nohref' attribute when there is no URL.

2007-12-03  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/xy/XYSeriesCollection.java
    (getSeries(Comparable)): New method,
    * tests/org/jfree/data/xy/junit/XYSeriesCollectionTests.java
    (testGetSeriesByKey): New test method.

2007-11-30  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/xy/XYDataItem.java
    (getXValue): New method,
    (getYValue): Likewise,
    (toString): Likewise.

2007-11-30  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/LocalizationBundle_it.properties:
    Fixed errors.

2007-11-29  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/MeterPlot.java
    (writeObject): Handle dialOutlinePaint,
    (readObject): Likewise,
    * tests/org/jfree/chart/plot/junit/MeterPlotTests.java
    (testEquals): Updated to test dialOutlinePaint,
    (testSerialization1): Likewise.

2007-11-27  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/ComparableObjectSeries.java
    (clear): Changed from protected to public,
    * source/org/jfree/data/xy/VectorSeries.java
    (clear): Removed,
    * tests/org/jfree/data/time/ohlc/junit/OHLCSeriesTests.java
    (testClear): New test method,
    * tests/org/jfree/data/xy/junit/VectorSeriesTests.java
    (testClear): Likewise,
    * tests/org/jfree/data/xy/junit/XIntervalSeriesTests.java
    (testClear): Likewise,
    * tests/org/jfree/data/xy/junit/XYIntervalSeriesTests.java
    (testClear): Likewise,
    * tests/org/jfree/data/xy/junit/YIntervalSeriesTests.java
    (testClear): Likewise.
 
2007-11-27  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/CombinedDomainXYPlot.java
    (setFixedRangeAxisSpaceForSubplots): Call new method in XYPlot,
    * source/org/jfree/chart/plot/CombinedRangeXYPlot.java
    (setFixedDomainAxisSpaceForSubplots): Likewise,
    * source/org/jfree/chart/plot/XYPlot.java
    (setFixedDomainAxisSpace(AxisSpace)): Delegate to new method,
    (setFixedDomainAxisSpace(AxisSpace, boolean)): New method,
    (setFixedRangeAxisSpace(AxisSpace)): Delegate to new method,
    (setFixedRangeAxisSpace(AxisSpace, boolean)): New method.

2007-11-27  David Gilbert  <david.gilbert@object-refinery.com>

    * swt/org/jfree/experimental/swt/SWTGraphics2D.java:
    (drawImage(BufferedImage, BufferedImageOp, int, int)): Updated for method 
    moved to SWTUtils,
    (drawImage(Image, int, int, ImageObserver)): Implemented,
    (drawImage(Image, int, int, int, int, ImageObserver)): Likewise,
    (drawImage(Image, int, int, Color, ImageObserver)): Likewise,
    (drawImage(Image, int, int, int, int, Color, ImageObserver)): Likewise,
    (convertToSWT(BufferedImage)): Moved to SWTUtils.java,
    * swt/org/jfree/experimental/swt/SWTUtils.java:
    (convertAWTImageToSWT): New method,
    (convertToSWT(BufferedImage)): Moved from SWTGraphics2D.java.
    
----------  JFREECHART 1.0.8 RELEASED ------------------------

2007-11-23  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/dial/DialPointer.java
    (Pointer.fillPaint): New attribute,
    (Pointer.outlinePaint): Likewise,
    (Pointer(int)): Initialize new fields,
    (getFillPaint): New method,
    (setFillPaint): Likewise,
    (getOutlinePaint): Likewise,
    (setOutlinePaint): Likewise,
    (draw): Use new attributes,
    (equals): Check new fields,
    (hashCode): Likewise,
    (writeObject): Handle serialization for new fields,
    (readObject): Likewise,
    * tests/org/jfree/chart/plot/dial/junit/DialPointerTests.java
    (testEqualsPointer): New test method,
    (testSerialization2): Likewise.

2007-11-22  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/HashUtilities.java
    (hashCode(int, int)): New method,
    * source/org/jfree/chart/needle/ArrowNeedle.java
    * source/org/jfree/chart/needle/LineNeedle.java
    * source/org/jfree/chart/needle/LongNeedle.java
    * source/org/jfree/chart/needle/MeterNeedle.java
    * source/org/jfree/chart/needle/MiddlePinNeedle.java
    * source/org/jfree/chart/needle/PinNeedle.java
    * source/org/jfree/chart/needle/PlumNeedle.java
    * source/org/jfree/chart/needle/PointerNeedle.java
    * source/org/jfree/chart/needle/ShipNeedle.java
    * source/org/jfree/chart/needle/WindNeedle.java:
    Implemented hashCode() method.  

2007-11-22  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/AbstractXYItemRenderer.java
    * source/org/jfree/chart/renderer/xy/CandlestickRenderer.java
    * source/org/jfree/chart/renderer/xy/DeviationRenderer.java
    * source/org/jfree/chart/renderer/xy/HighLowRenderer.java
    * source/org/jfree/chart/renderer/xy/StackedXYAreaRenderer2.java
    * source/org/jfree/chart/renderer/xy/StackedXYBarRenderer.java
    * source/org/jfree/chart/renderer/xy/XYAreaRenderer.java
    * source/org/jfree/chart/renderer/xy/XYAreaRenderer2.java
    * source/org/jfree/chart/renderer/xy/XYBarRenderer.java
    * source/org/jfree/chart/renderer/xy/XYBlockRenderer.java
    * source/org/jfree/chart/renderer/xy/XYBoxAndWhiskerRenderer.java
    * source/org/jfree/chart/renderer/xy/XYDifferenceRenderer.java
    * source/org/jfree/chart/renderer/xy/XYDotRenderer.java
    * source/org/jfree/chart/renderer/xy/XYErrormRenderer.java
    * source/org/jfree/chart/renderer/xy/XYLine3DRenderer.java
    * source/org/jfree/chart/renderer/xy/XYLineAndShapeRenderer.java
    * source/org/jfree/chart/renderer/xy/XYSplineRenderer.java
    * source/org/jfree/chart/renderer/xy/XYStepAreaRenderer.java:
    Replaced calls to notifyListeners() with fireChangeEvent().

2007-11-22  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/AbstractCategoryItemRenderer.java
    * source/org/jfree/chart/renderer/category/AreaRenderer.java
    * source/org/jfree/chart/renderer/category/BarRenderer.java
    * source/org/jfree/chart/renderer/category/BarRenderer3D.java
    * source/org/jfree/chart/renderer/category/BoxAndWhiskerRenderer.java
    * source/org/jfree/chart/renderer/category/CategoryStepRenderer.java
    * source/org/jfree/chart/renderer/category/GanttRenderer.java
    * source/org/jfree/chart/renderer/category/GroupedStackedBarRenderer.java
    * source/org/jfree/chart/renderer/category/LevelRenderer.java
    * source/org/jfree/chart/renderer/category/LineAndShapeRenderer.java
    * source/org/jfree/chart/renderer/category/LineRenderer3D.java
    * source/org/jfree/chart/renderer/category/MinMaxCategoryRenderer.java
    * source/org/jfree/chart/renderer/category/ScatterRenderer.java
    * source/org/jfree/chart/renderer/category/StackedAreaRenderer.java
    * source/org/jfree/chart/renderer/category/StackedBarRenderer.java
    * source/org/jfree/chart/renderer/category/StackedBarRenderer3D.java
    * source/org/jfree/chart/renderer/category/StatisticalBarRenderer.java
    * source/org/jfree/chart/renderer/category/StatisticalLineAndShapeRenderer.java:
    Replaced calls to notifyListeners() with fireChangeEvent().
    
2007-11-22  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/xy/XYSeries.java
    (clone): Reimplemented,
    * tests/org/jfree/data/xy/junit/XYSeriesTests.java
    (testCloning2): New method,
    (testCloning3): Likewise.

2007-11-21  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/DefaultKeyedValues.java
    (removeValue): Always rebuild index,
    * source/org/jfree/data/DefaultKeyedValues2D.java
    (removeColumn(Comparable)): Added argument checks, and protect against
    rows not containing the specified key,
    * tests/org/jfree/data/category/junit/DefaultCategoryDatasetTests.java
    (testBug1835955): New method,
    * tests/org/jfree/data/junit/DefaultKeyedValues2DTests.java
    (testRemoveColumnByKey): New method,
    * tests/org/jfree/data/junit/DefaultKeyedValuesTests.java
    (testGetIndex2): New method.

2007-11-21  David Gilbert  <david.gilbert@object-refinery.com>

    Fix for bug 1832432:
    * source/org/jfree/data/time/TimeSeries.java
    (clone): Reimplemented.

2007-11-21  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/DatasetRenderingOrder.java
    (hashCode): Implemented,
    * source/org/jfree/chart/plot/DialShape.java
    (hashCode): Likewise,
    * source/org/jfree/chart/plot/PlotOrientation.java
    (hashCode): Likewise,
    * source/org/jfree/chart/plot/SeriesRenderingOrder.java
    (hashCode): Likewise.

2007-11-21  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/axis/DateAxis.java
    (previousStandardDate): Return dates already fetched.

2007-11-21  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/CategoryAxis.java
    (equalPaintMaps): Use entrySet rather than keySet.

2007-11-21  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/PieLabelRecord.java
    (equals): Implemented.

2007-11-21  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/Outlier.java
    (equals): Implemented.

2007-11-21  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/StandardXYItemRenderer.java
    (shapesFilled): Deprecated,
    (getShapesFilled): Likewise,
    (setShapesFilled): Likewise,
    (setBaseShapesVisible): Call fireChangeEvent() instead of notifyListeners(),
    (setPlotLines): Likewise,
    (setGapThresholdType): Likewise,
    (setGapThreshold): Likewise,
    (setPlotImages): Likewise,
    (setLegendLine): Likewise.
    
2007-11-21  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/PiePlot.java
    (DEFAULT_INTERIOR_GAP): Modified default value,
    (maximumLabelWidth): Likewise,
    (labelGap): Likewise,
    (labelLinkMargin): Likewise,
    (DEBUG_DRAW_INTERIOR): New debug flag,
    (DEBUG_DRAW_LINK_AREA): Likewise,
    (DEBUG_DRAW_PIE_AREA): Likewise,
    (PiePlot(PieDataset)): Removed background paint setting,
    (drawPie): Modified label position calculations and added debug code,
    (drawLabels): Modified label width calculation,
    * source/org/jfree/chart/plot/PiePlot3D.java
    (depthFactor): Changed default value,
    (draw): Modified chart dimension calculations and added debug code, in line
    with changes made to the PiePlot class.

2007-11-19  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/dial/StandardDialScale.java
    (getLowerBound): New method,
    (setLowerBound): Likewise,
    (getUpperBound): Likewise,
    (setUpperBound): Likewise,
    (getMinorTickStroke): Likewise,
    (setMinorTickStroke): Likewise.

2007-11-14  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/StatisticalBarRenderer.java
    (errorIndicatorStroke): New field,
    (StatisticalBarRenderer): Initialise new field,
    (getErrorIndicatorStroke): New method,
    (setErrorIndicatorStroke): Likewise,
    (drawHorizontalItem): Fix drawBarOutline and gradientPaintTransformer
    omissions, and use new errorIndicatorStroke field,
    (drawVerticalItem): Likewise,
    (equals): Updated for new field,
    (writeObject): Likewise,
    (readObject): Likewise.

----------  JFREECHART 1.0.7 RELEASED ------------------------

2007-11-14  David Gilbert  <david.gilbert@object-refinery.com>

    * swt/org/jfree/experimental/chart/swt/ChartComposite.java
    (ChartComposite): Create canvas with SWT.DOUBLE_BUFFERED,
    (getChartRenderingInfo): New method,
    (isDomainZoomable): Likewise,
    (setDomainZoomable): Likewise,
    (isRangeZoomable): Likewise,
    (setRangeZoomable): Likewise.

2007-11-14  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/CategoryPlot.java
    (setWeight): Fire change event,
    (setFixedDomainAxisSpace(AxisSpace)): Delegate to new method,
    (setFixedDomainAxisSpace(AxisSpace, boolean)): New method,
    (setFixedRangeAxisSpace(AxisSpace)): Delegate to new method,
    (setFixedRangeAxisSpace(AxisSpace, boolean)): New method,
    * source/org/jfree/chart/plot/CombinedDomainCategoryPlot.java
    (setFixedRangeAxisSpaceForSubplots): Updated,
    * source/org/jfree/chart/plot/CombinedRangeCategoryPlot.java
    (setFixedDomainAxisSpaceForSubplots): Updated.

2007-11-13  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfere/chart/HashUtilities.java
    (hashCode(int, Comparable)): New method,
    * source/org/jfree/chart/entity/CategoryLabelEntity.java
    (equals): New method,
    (hashCode): Likewise.

2007-11-13  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/axis/ModuloAxis.java
    (equals): Implemented.

2007-11-13  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/entity/ChartEntity.java
    (hashCode): Implemented,
    * source/org/jfree/chart/entity/PieSectionEntity.java
    (equals): Implemented,
    (hashCode): Likewise.

2007-11-13  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/HashUtilities.java
    (hashCode(int, boolean)): New method,
    (hashCode(int, double)): Likewise,
    (hashCode(int, Paint)): Likewise,
    (hashCode(int, Stroke)): Likewise,
    (hashCode(int, String)): Likewise.

2007-11-13  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/dial/AbstractDialLayer.java
    (hashCode): Implemented.

2007-11-12  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/statistics/DefaultBoxAndWhiskerXYDataset.java
    (add): Fire dataset change event,
    (getY): Removed redundant constructor call,
    (equals): New method override,
    (clone): Likewise.

2007-11-12  David Gilbert  <david.gilbert@object-refinery.com>

    * 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  <david.gilbert@object-refinery.com>

    Patch 1827829 from Richard West:
    * source/org/jfree/chart/renderer/xy/XYBarRenderer.java
    (drawItemLabel): Fixed NPE.

2007-11-12  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/XYAreaRenderer.java
    (drawItem): Simplified entity generation,
    * source/org/jfree/chart/renderer/xy/XYBarRenderer.java
    (drawItem): Likewise.

2007-11-09  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/XYDotRenderer.java
    (legendShape): New field,
    (XYDotRenderer): Initialise new field,
    (getLegendShape): New method,
    (setLegendShape): Likewise,
    (getLegendItem): New method override,
    (equals): Updated for new field,
    (readObject): New method,
    (writeObject): New method.

2007-11-07  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/ChartPanel.java
    (paintComponent): Clear refreshBuffer flag before drawing chart.

2007-11-06  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/statistics/DefaultMultiValueCategoryDataset.java
    (getValues): Return EMPTY_LIST rather than null.

2007-11-05  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/time/TimeSeries.java
    (TimeSeries(String)): Changed first argument to Comparable,
    (TimeSeries(String, Class)): Likewise,
    (TimeSeries(String, String, String, Class)): Likewise.

2007-11-05  David Gilbert  <david.gilbert@object-refinery.com>
    
    * source/org/jfree/chart/plot/XYPlot.java
    (setFixedDomainAxisSpace): Fire change event,
    (setFixedRangeAxisSpace): Likewise.

2007-11-05  David Gilbert  <david.gilbert@object-refinery.com>

    Patch 1823724 by Richard West:
    * source/org/jfree/chart/renderer/xy/XYDifferenceRenderer.java
    (drawItemPass1): Add code to draw item labels.

2007-11-05  David Gilbert  <david.gilbert@object-refinery.com>

    Patch 1823697 by Richard West:
    * source/org/jfree/chart/plot/XYPlot.java
    (removeDomainMarker(Marker)): New method,
    (removeDomainMarker(Marker, Layer)): Likewise,
    (removeDomainMarker(int, Marker, Layer)): Likewise,
    (removeRangeMarker(Marker)): New method,
    (removeRangeMarker(Marker, Layer)): Likewise,
    (removeRangeMarker(int, Marker, Layer)): Likewise.
    
2007-11-05  David Gilbert  <david.gilbert@object-refinery.com>

    Patch 1823697 by Richard West:
    * source/org/jfree/chart/plot/CategoryPlot.java
    (removeDomainMarker(Marker)): New method,
    (removeDomainMarker(Marker, Layer)): Likewise,
    (removeDomainMarker(int, Marker, Layer)): Likewise,
    (removeRangeMarker(Marker)): New method,
    (removeRangeMarker(Marker, Layer)): Likewise,
    (removeRangeMarker(int, Marker, Layer)): Likewise.

2007-10-31  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/DefaultKeyedValues.java
    (data): Removed,
    (keys): New field,
    (values): Likewise,
    (indexMap): New field,
    (DefaultKeyedValues): Initialise new fields,
    (getItemCount): Use new data fields,
    (getValue(int)): Likewise,
    (getKey(int)): Likewise,
    (getIndex(Comparable)): Likewise,
    (getKeys): Likewise,
    (setValue(Comparable, Number)): Likewise,
    (insertValue): Likewise,
    (rebuildIndex): Likewise,
    (removeValue): Likewise,
    (clear): Likewise,
    (sortByKeys): Likewise,
    (sortByValue): Likewise,
    (hashCode): Likewise,
    (clone): Likewise.
    
2007-10-31  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/ComparableObjectSeries.java
    (hashCode): Faster implementation,
    * source/org/jfree/data/time/TimeSeries.java
    (hashCode): Likewise,
    * source/org/jfree/data/xy/XYSeriesTests.java
    (hashCode): Likewise.

2007-10-29  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/dial/SimpleDialFrame.java: 
    Renamed StandardDialFrame.java.

2007-10-26  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/XYLineAndShapeRenderer.java
    (linesVisible): Deprecated,
    (shapesVisible): Likewise,
    (shapesFilled): Likewise,
    (getLinesVisible): Likewise,
    (setLinesVisible): Likewise,
    (getShapesVisible): Likewise,
    (setShapesVisible): Likewise,
    (setShapesFilled): Likewise.

2007-10-25  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/XYSplineAndShapeRenderer.java:
    Renamed XYSplineRenderer.

2007-10-25  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/XYSplineAndShapeRenderer.java
    (drawPrimaryLineAsPath): Check for duplicated control points,
    (ControlPoint.equals): New method override.

2007-10-25  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/CategoryPlot.java
    (getDomainAxisIndex): Added argument check,
    (getRangeAxisIndex): Likewise.
    
2007-10-25  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/axis/StandardTickUnitSource.java:
    Implemented Serializable,
    (StandardTickUnitSource): Added explicit constructor,
    (equals): New method override,
    (hashCode): Likewise.

2007-10-25  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/ChartPanel.java
    (defaultDirectoryForSaveAs): New field,
    (ChartPanel(JFreeChart, int, int, int, int, int, int, boolean, boolean,
    boolean, boolean, boolean, boolean)): Initialise new field,
    (getDefaultDirectoryForSaveAs): New method,
    (setDefaultDirectoryForSaveAs): Likewise,
    (doSaveAs): Apply default directory.

2007-10-24  David Gilbert  <david.gilbert@object-refinery.com>

    * experimenta/org/jfree/experimental/chart/plot/dial/*.java:
    Moved this package to org.jfree.chart.plot.dial.*,
    * experimenta/org/jfree/experimental/chart/plot/dial/junit/*.java:
    Moved this package to org.jfree.chart.plot.dial.junit.*.

2007-10-24  David Gilbert  <david.gilbert@object-refinery.com>

    * experimental/org/jfree/experimental/chart/plot/dial/StandardDialFrame.java:
    Removed and renamed ArcDialFrame.java,
    * experimental/org/jfree/experimental/chart/plot/dial/ArcDialFrame.java:
    New file.

2007-10-24  David Gilbert  <david.gilbert@object-refinery.com>

    * experimental/org/jfree/experimental/chart/plot/dial/DialPlot.java
    (pointers): New field,
    (DialPlot): Delegate to new constructor,
    (DialPlot(ValueDataset)): New constructor,
    (addPointer): New method,
    (getPointerIndex): Likewise,
    (removePointer(int)): Likewise,
    (removePointer(DialPointer)): Likewise,
    (getPointerForDataset): Likewise,
    (draw): Draw pointers in their own layer,
    (equals): Check new pointers field,
    * experimental/org/jfree/experimental/chart/plot/dial/DialPointer.java:
    Implemented PublicCloneable,
    (DialPointer): Changed to protected,
    (DialPointer(int)): Likewise, and changed default radius,
    (Pin.setPaint): Added argument check,
    (Pin.setStroke): Likewise,
    (Pointer(int)): Removed radius setting,
    * experimental/org/jfree/experimental/chart/plot/dial/DialTextAnnotation.java
    (getAnchor): New method,
    (setAnchor): Likewise,
    * experimental/org/jfree/experimental/chart/plot/dial/DialValueIndicator.java
    (DialValueIndicator): New constructor,
    (DialValueIndicator(int, String)): Removed string argument,
    (setDatasetIndex): Fire change event,
    (setTemplateValue): Check for null argument,
    * experimental/org/jfree/experimental/chart/plot/dial/StandardDialFrame.java
    (setInnerRadius): Added argument check,
    (setOuterRadius): Likewise,
    * experimental/org/jfree/experimental/chart/plot/dial/StandardDialRange.java
    (scaleIndex): New field,
    (StandardDialRange(double, double)): Added field initialisations,
    (getScaleIndex): New method,
    (setScaleIndex): Likewise,
    (draw): Get the correct scale,
    (equals): Updated for new field,
    * experimental/org/jfree/experimental/chart/plot/dial/StandardDialScale.java
    (minorTickPaint): New field,
    (minorTickStroke): Likewise,
    (tickLabelFormatter): Likewise,
    (StandardDialScale): Updated for modified constructor signature,
    (StandardDialScale(double, double, double, double)): Added two new 
    arguments to signature,
    (setMajorTickLength): Added argument check,
    (setMinorTickCount): Likewise,
    (setMinorTickLength): Likewise,
    (getMinorTickPaint): New method,
    (setMinorTickPaint): Likewise,
    (getTickLabelFormatter): Likewise,
    (setTickLabelFormatter): Likewise,
    (draw): Fix major tick length, format labels with new formatter,
    (equals): Updated for new fields,
    (hashCode): Implemented,
    (writeObject): Handle new fields,
    (readObject): Likewise.
    
2007-10-23  David Gilbert  <david.gilbert@object-refinery.com>

    * swt/org/jfree/experimental/swt/SWTGraphics2D.java
    (drawRoundRect): Implemented,
    (fillRoundRect): Likewise,
    (clearRect): Implemented.

2007-10-23  David Gilbert  <david.gilbert@object-refinery.com>

    * swt/org/jfree/experimental/swt/SWTGraphics2D.java
    (drawArc): Implemented,
    (fillArc): Likewise.

2007-10-23  David Gilbert  <david.gilbert@object-refinery.com>

    * swt/org/jfree/experimental/swt/SWTGraphics2D.java
    (drawOval): Implemented,
    (fillOval): Likewise.

2007-10-23  David Gilbert  <david.gilbert@object-refinery.com>

    * swt/org/jfree/experimental/swt/SWTGraphics2D.java
    (drawPolyline): Implemented.

2007-10-23  David Gilbert  <david.gilbert@object-refinery.com>

    * swt/org/jfree/experimental/swt/SWTGraphics2D.java
    (drawPolygon): Implemented.

2007-10-23  David Gilbert  <david.gilbert@object-refinery.com>

    * swt/org/jfree/experimental/swt/SWTGraphics2D.java
    (hints): New field,
    (SWTGraphics2D): Initialise new field,
    (getRenderingHint): Implemented,
    (setRenderingHint): Likewise,
    (getRenderingHints): Likewise,
    (addRenderingHints): Likewise,
    (setRenderingHints): Likewise.

2007-10-23  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/AbstractRenderer.java
    (lookupSeriesPaint): Call accessor methods for per-series paint,
    (lookupSeriesFillPaint): Likewise,
    (lookupSeriesOutlinePaint): Likewise,
    (lookupSeriesStroke): Likewise,
    (lookupSeriesOutlineStroke): Likewise,
    (lookupSeriesStroke): Likewise.

2007-10-22  Henry Proudhon  <henry.proudhon@insa-lyon.fr>

    * source/swt/org/jfree/experimental/chart/swt/ChartComposite.java: 
    (chart): Made the chart field be private again,
    (ChartComposite): Refactored class, now implements PaintListener, 
    MouseListener and MouseMovedListener,
    (zoom): Fixed bug with multiple plots,
    (addChartMouseListener): Implemented,
    (removeChartMouseListener): Likewise,
    (restoreAutoDomainBounds): Fixed NPE,
    (restoreAutoRangeBounds): Likewise,
    (widgetDefaultSelected): Implemented,
    (addSWTListener): New method,
    (mouseDoubleClick): Likewise,
    (mouseDown): Likewise,
    (mouseUp): Likewise,
    (mouseMove): Likewise,
    (paintControl): Likewise,
    * source/swt/org/jfree/experimental/swt/SWTUtils.java
    (toAwtMouseEvent): changed method signature.

2007-10-22  Henry Proudhon  <henry.proudhon@insa-lyon.fr>

    * source/swt/org/jfree/experimental/swt/SWTUtils.java
    (toAwtMouseEvent): Improved mouse event conversion.

2007-10-22  Henry Proudhon  <henry.proudhon@ensmp.fr>

    * swt/org/jfree/experimental/swt/SWTGraphics2D.java
    (composite): New field,
    (setComposite): Implemented,
    (getComposite): Return from field.

2007-10-22  Henry Proudhon  <henry.proudhon@insa-lyon.fr>

    * swt/org/jfree/experimental/swt/SWTGraphics2D.java
    (getClip): Implemented.

2007-10-17  David Gilbert  <david.gilbert@object-refinery.com>

    * experimental/org/jfree/experimental/chart/plot/dial/AbstractDialLayer.java
    (equals): New method override,
    (clone): Likewise,
    * experimental/org/jfree/experimental/chart/plot/dial/DialBackground.java
    (equals): Added call to super.equals();
    * experimental/org/jfree/experimental/chart/plot/dial/DialCap.java
    (equals): Added call to super.equals();
    * experimental/org/jfree/experimental/chart/plot/dial/DialPlot.java
    (setBackground): Fix listener registration,
    (setCap): Likewise,
    (setDialFrame): Likewise,
    (addLayer): Likewise,
    (getLayerIndex(DialLayer)): New method,
    (removeLayer(int)): Likewise,
    (removeLayer(DialLayer)): Likewise,
    (addScale): Fix listener registration,
    * experimental/org/jfree/experimental/chart/plot/dial/DialPointer.java
    (equals): New method override,
    (Pin.equals): Likewise,
    (Pin.readObject): New method,
    (Pin.writeObject): Likewise,
    (Pointer.equals): New method override,
    * experimental/org/jfree/experimental/chart/plot/dial/DialScale.java:
    Now extends DialLayer,
    * experimental/org/jfree/experimental/chart/plot/dial/DialTextAnnotation.java
    (equals): Added call to super.equals();
    * experimental/org/jfree/experimental/chart/plot/dial/DialValueIndicator.java
    (equals): Added call to super.equals();
    * experimental/org/jfree/experimental/chart/plot/dial/SimpleDialFrame.java
    (equals): Added call to super.equals();
    * experimental/org/jfree/experimental/chart/plot/dial/StandardDialFrame.java
    (equals): Added call to super.equals();
    * experimental/org/jfree/experimental/chart/plot/dial/StandardDialRange.java
    (increment): Removed field,
    (setLowerBound): Added argument check,
    (setUpperBound): Likewise,
    (setBounds): New method,
    (equals): Updated,
    (hashCode): Likewise,
    * experimental/org/jfree/experimental/chart/plot/dial/StandardDialScale.java
    (setTickRadius): Added argument check,
    (setMajorTickIncrement): Likewise,
    (setTickLabelPaint): Likewise,
    (equals): Updated.
    
2007-10-16  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/labels/AbstractXYItemLabelGenerator.java:
    (nullXString): Removed,
    (createItemArray): Removed check for null x-value.

2007-10-16  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/BarRenderer3D.java
    (drawRangeMarker): Use adjusted data area;
    * source/org/jfree/chart/renderer/category/LineRenderer3D.java
    (drawRangeMarker): Use adjusted data area, and call super to handle
    IntervalMarker (DG);

2007-10-11  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/MultiValueRenderer.java:
    Renamed ScatterRenderer.java;
    * tests/org/jfree/chart/renderer/category/junit/MultiValueRendererTests.java:
    Renamed ScatterRendererTests.java.

2007-10-11  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/ThermometerPlot.java
    (DEFAULT_GAP_RADIUS): Renamed DEFAULT_GAP,
    (gapRadius): Renamed gap,
    (getGapRadius): Renamed getGap(),
    (setGapRadius): Renamed setGap(),
    (getGapDiameter): Removed,
    (draw): Updated for method name changes,
    (equals): Likewise.

2007-10-08  David Gilbert  <david.gilbert@object-refinery.com>

    Based on Patch 1769088:
    * source/org/jfree/chart/plot/ThermometerPlot.java
    (BULB_RADIUS): Deprecated,
    (BULB_DIAMETER): Likewise,
    (COLUMN_RADIUS): Likewise,
    (COLUMN_DIAMETER): Likewise,
    (GAP_RADIUS): Likewise,
    (GAP_DIAMETER): Likewise,
    (bulbRadius): New field,
    (columnRadius): Likewise,
    (gapRadius): Likewise,
    (getBulbRadius): New method,
    (setBulbRadius): Likewise,
    (getBulbDiameter): Likewise,
    (getColumnRadius): Likewise,
    (setColumnRadius): Likewise,
    (getColumnDiameter): Likewise,
    (getGapRadius): Likewise,
    (setGapRadius): Likewise,
    (getGapDiameter): Likewise,
    (draw): Use attributes rather than constants,
    (equals): Updated for new fields,
    * tests/org/jfree/chart/plot/junit/ThermometerPlotTests.java
    (testEquals): Updated for new fields.

2007-10-08  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/MultiShapeRenderer.java: 
    New file,
    * source/org/jfree/data/statistics/DefaultMultiValueCategoryDataset.java:
    Likewise,
    * source/org/jfree/data/statistics/MultiValueCategoryDataset.java: 
    Likewise,
    * tests/org/jfree/chart/renderer/category/junit/MultiShapeRendererTests.java:
    Likewise,
    * tests/org/jfree/chart/renderer/category/junit/RendererCategoryPackageTests.java
    (suite): Added MultiShapeRendererTests,
    * tests/org/jfree/data/statistics/junit/DataStatisticsPackageTests.java
    (suite): Added DefaultMultiValueCategoryDatasetTests,
    * tests/org/jfree/data/statistics/junit/DefaultMultiValueCategoryDatasetTests.java:
    New file.
    
2007-10-08  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/ValueMarker.java
    (ValueMarker(double, Paint, Stroke, Paint, Stroke, float)): Fixed call
    to super,
    * tests/org/jfree/chart/plot/junit/ValueMarkerTests.java
    (test1808376): New test method.

2007-10-08  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/CandlestickRenderer.java
    (volumePaint): New field,
    (CandlestickRenderer(double, boolean, XYToolTipGenerator)): Initialise new 
    field,
    (getVolumePaint): New method,
    (setVolumePaint): Likewise,
    (drawItem): Use new paint attribute,
    (equals): Add check for new field,
    (writeObject): Handle serialization for new field,
    (readObject): Likewise,
    * tests/org/jfree/chart/renderer/xy/junit/CandlestickRendererTests.java
    (EPSILON): New field,
    (testConstructor): New method,
    (testEquals): Added check for new field.

2007-10-05  David Gilbert  <david.gilbert@object-refinery.com>

    Based on patch 1805262 by Alex Moots:
    * source/org/jfree/chart/plot/PiePlot3D.java
    (darkerSides): New field,
    (getDarkerSides): New method,
    (setDarkerSides): Likewise,
    (drawSide): Make side colour darker if necessary,
    (equals): Updated for new field,
    * tests/org/jfree/chart/plot/junit/PiePlot3DTests.java
    (testEquals): Updated for new field.

2007-10-03  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/KeyedObjects2D.java
    (getRowIndex): Check for null argument,
    (getColumnIndex): Likewise,
    (removeObject): Check for unknown keys,
    (clear): New method,
    * source/org/jfree/data/statistics/DefaultBoxAndWhiskerCategoryDataset.java
    (rangeBounds): Removed,
    (DefaultBoxAndWhiskerCategoryDataset()): Updated for removed field,
    (add(BoxAndWhiskerItem, Comparable, Comparable)): Likewise,
    (remove(Comparable, Comparable)): New method,
    (removeRow(int)): Likewise,
    (removeRow(Comparable)): Likewise,
    (removeColumn(int)): Likewise,
    (removeColumn(Comparable)): Likewise,
    (clear): Likewise,
    (getRangeBounds): Return new instance every time,
    * source/org/jfree/data/statistics/DefaultStatisticalCategoryDataset.java
    (remove(Comparable, Comparable)): New method,
    (removeRow(int)): Likewise,
    (removeRow(Comparable)): Likewise,
    (removeColumn(int)): Likewise,
    (removeColumn(Comparable)): Likewise,
    (clear): Likewise,
    (getRangeBounds): Return new instance every time,
    * tests/org/jfree/data/statistics/junit/DefaultBoxAndWhiskerCategoryDatasetTests.java
    (testRemove): New method,
    * tests/org/jfree/data/statistics/junit/DefaultStatisticalCategoryDatasetTests.java
    (testRemove): New method.

2007-10-03  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/statistics/DefaultBoxAndWhiskerCategoryDataset.java
    (add(BoxAndWhiskerItem, Comparable, Comparable)): Update cached bounds by
    iteration if necessary,
    (updateBounds): New private method,
    * tests/org/jfree/data/statistics/junit/DefaultBoxAndWhiskerCategoryDatasetTests.java
    (testGetRangeBounds): New test method.

2007-10-03  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/KeyedObjects2D.java
    (getObject(Comparable, Comparable)): Check arguments for null or 
    unrecognised keys,
    (setObject(Object, Comparable, Comparable): Check for null arguments,
    (removeObject): Check if row or column needs removing, 
    (removeRow(Comparable)): Check for unrecognised key,
    (removeColumn(Comparable)): Likewise,
    * tests/org/jfree/data/junit/KeyedObjects2DTests.java
    (testGetValueByIndex): New test method,
    (testGetValueByKey): Likewise,
    (testSetObject): Likewise,
    (testRemoveRowByIndex): Likewise,
    (testRemoveColumnByIndex): Likewise,
    (testRemoveRowByKey): Likewise,
    (testRemoveColumnByKey): Likewise,
    (testRemoveValue): Likewise.

2007-10-03  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/DefaultKeyedValues.java
    (removeValue(Comparable)): Throw UnknownKeyException for unrecognised key,
    * source/org/jfree/data/KeyedObjects.java
    (getObject(int)): Allow IndexOutOfBoundsException to be thrown,
    (getKey(int)): Likewise,
    (getIndex): Check for null argument,
    (getObject): Throw UnknownKeyException for unrecognised key,
    (insertValue): New method,
    (removeValue): Throw UnknownKeyException for unrecognised key,
    (clear): New method,
    (hashCode): Likewise,
    * source/org/jfree/data/KeyedObjects2D.java
    (getObject): Check for missing key in underlying data structure,
    * tests/org/jfree/data/junit/DefaultKeyedValuesTests.java
    (testRemoveValue): Updated checks for consistency with KeyedObjects,
    * tests/org/jfree/data/junit/KeyedObjectsTests.java
    (testInsertAndRetrieve): Updated checks,
    (testGetObject): New test method,
    (testGetKey): Likewise,
    (testGetIndex): Likewise,
    (testSetObject): Likewise,
    (testRemoveValue): Likewise,
    (testRemoveValueInt): Likewise.

2007-10-02  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/statistics/DefaultStatisticalCategoryDataset.java
    (minimumRangeValueRow): New field,
    (minimumRangeValueColumn): Likewise,
    (minimumRangeValueIncStdDevRow): Likewise,
    (minimumRangeValueIncStdDevColumn): Likewise,
    (maximumRangeValueRow): Likewise,
    (maximumRangeValueColumn): Likewise,
    (maximumRangeValueIncStdDevRow): Likewise,
    (maximumRangeValueIncStdDevColumn): Likewise,
    (DefaultStatisticalCategoryDataset()): Initialise new fields,
    (add(Number, Number, Comparable, Comparable)): Fixed calculation of bounds,
    (updateBounds): New method,
    (getRangeLowerBound): Observe includeInterval flag,
    (getRangeUpperBound): Likewise,
    * source/org/jfree/data/statistics/MeanAndStandardDeviation.java
    (getMeanValue): New method,
    (getStandardDeviationValue): Likewise,
    (toString): Likewise,
    * tests/org/jfree/data/statistics/junit/DefaultStatisticalCategoryDatasetTests.java
    (testGetRangeBounds): Fixed broken test,
    (EPSILON): New field,
    (testAdd): New test method,
    (testGetRangeLowerBound): Likewise,
    (testGetRangeUpperBound): Likewise,
    (testGetRangeBounds2): Likewise.    

2007-10-02  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/statistics/BoxAndWhiskerItem.java
    (BoxAndWhiskerItem(double, double, double, double, double, double, 
    double, double, List)): New constructor,
    * source/org/jfree/data/statistics/DefaultBoxAndWhiskerCategoryDataset.java
    (minimumRangeValue): Changed from Number to double,
    (minimumRangeValueRow): New field,
    (minimumRangeValueColumn): Likewise,
    (maximumRangeValue): Changed from Number to double,
    (maximumRangeValueRow): New field,
    (maximumRangeValueColumn): Likewise,
    (DefaultBoxAndWhiskerCategoryDataset): Updated for changed field types,
    (add): Fix updating of cached range values,
    (getRangeLowerBound): Update for changed field type,
    (getRangeUpperBound): Likewise,
    * tests/org/jfree/data/statistics/junit/DefaultBoxAndWhiskerCategoryDataset.java
    (testAdd): New test method,
    (testAddUpdatesCachedRange): Likewise,
    (testConstructor): Likewise.

2007-09-28  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/KeyedObjects.java
    (equals): Cleaned up,
    * source/org/jfree/data/KeyedObjects2D.java
    (equals): Likewise,
    (clone): Clone data storage,
    * source/org/jfree/data/statistics/DefaultBoxAndWhiskerCategoryDataset.java
    (clone): New method override,
    * source/org/jfree/data/statistics/DefaultStatisticalCategoryDataset.java
    (clone): Likewise,
    * tests/org/jfree/data/junit/KeyedObjects2DTests.java
    (testEquals): New test,
    (testCloning): Check independence,
    * tests/org/jfree/data/junit/KeyedObjectsTests.java
    (testCloning2): New test,
    * tests/org/jfree/data/junit/KeyedObjectTests.java
    (testCloning2): New test,
    * tests/org/jfree/data/statistics/junit/DefaultBoxAndWhiskerCategoryDatasetTests.java
    (testCloning): Check independence,
    * tests/org/jfree/data/statistics/junit/DefaultStatisticalCategoryDatasetTests.java
    (testCloning): Check independence.
    
2007-09-28  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/MinMaxCategoryRenderer.java
    (drawItem): Simplified entity generation code.

2007-09-28  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/MinMaxCategoryRenderer.java
    (setGroupStroke): Check for null argument, add event notification,
    (equals): New method override,
    * tests/org/jfree/chart/renderer/category/junit/MinMaxCategoryRendererTests.java
    (testEquals): Extended to cover additional fields.

2007-09-27  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/StatisticalLineAndShapeRenderer.java
    (drawItem): Apply new offset option to x-coordinates.

2007-09-27  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/axis/CategoryAxis.java
    (getCategorySeriesMiddle): New method,
    * source/org/jfree/chart/renderer/category/LineAndShapeRenderer.java
    (useSeriesOffset): New field,
    (itemMargin): Likewise,
    (LineAndShapeRenderer(boolean, boolean)): Initialise new fields,
    (getUseSeriesOffset): New method,
    (setUseSeriesOffset): Likewise,
    (getItemMargin): Likewise,
    (setItemMargin): Likewise,
    (drawItem): Apply new offset option to x-coordinates,
    (equals): Check new fields,
    * tests/org/jfree/chart/renderer/category/junit/LineAndShapeRendererTests.java
    (testEquals): Updated for new fields.

2007-09-26  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/StatisticalLineAndShapeRenderer.java
    (drawItem): Simplified entity generation code.

2007-09-26  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/GrayPaintScale.java
    (getPaint): Use constrained value to calculate gray scale value,
    * tests/org/jfree/chart/renderer/junit/GrayPaintScaleTests.java
    (testConstructor): New test method,
    (testGetPaint): Likewise.

2007-09-26  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/XYBarRenderer.java
    (drawItem): Apply margin in a way that works for inverted axes.

2007-09-26  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/PlotUtilities.java: New class,
    * source/org/jfree/data/general/DatasetUtilities.java
    (isEmptyOrNull(XYDataset)): Return early if not empty,
    * tests/org/jfree/data/general/junit/DatasetUtilitiesTests.java
    (testIsEmptyOrNullXYDataset): New test method.

2007-09-26  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/general/Series.java
    (getItemCount): New abstract method,
    (isEmpty): New method.

2007-09-26  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/XYPlot.java
    (getQuadrantPaint): Improve exception text,
    (setQuadrantPaint): Likewise,
    (getDomainAxisForDataset): Likewise,
    (getRangeAxisForDataset): Likewise.

2007-09-26  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/Marker.java
    (readObject): Initialise listener list,
    * tests/org/jfree/chart/plot/junit/ValueMarkerTests.java
    (test1802195): New test method.

2007-09-24  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/LineAndShapeRenderer.java
    (linesVisible): Deprecated,
    (shapesVisible): Likewise,
    (shapesFilled): Likewise,
    (getLinesVisible): Likewise,
    (setLinesVisible(Boolean)): Likewise,
    (setLinesVisible(boolean)): Likewise,
    (getShapesVisible): Likewise,
    (setShapesVisible(Boolean)): Likewise,
    (setShapesVisible(boolean)): Likewise,
    (setUseOutlinePaint): Fire change event,
    (getShapesFilled): Deprecated,
    (setShapesFilled(Boolean)): Likewise,
    (setShapesFilled(boolean)): Likewise,
    (setSeriesShapesFilled): Fire change event,
    (setBaseShapesFilled): Likewise,
    (equals): Minor tidy up.

2007-09-24  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/ChartPanel.java
    (paintComponent): Clear chart buffer before refreshing.

2007-09-24  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/ChartPanel.java
    (zoomAroundAnchor): New field,
    (getZoomAroundAnchor): New method,
    (setZoomAroundAnchor): Likewise,
    (zoomInDomain): Use zoomAroundAnchor flag,
    (zoomInRange): Likewise,
    (zoomOutDomain): Likewise,
    (zoomOutRange): Likewise,
    * source/org/jfree/chart/plot/CategoryPlot.java
    (zoomDomainAxes(double, PlotRenderingInfo, Point2D, boolean)): New method,
    (zoomRangeAxes(double, PlotRenderingInfo, Point2D)): Delegate to new method,
    (zoomRangeAxes(double, PlotRenderingInfo, Point2D, boolean)): New method,
    * source/org/jfree/chart/plot/FastScatterPlot.java
    (zoomDomainAxes(double, PlotRenderingInfo, Point2D, boolean)): New method,
    (zoomRangeAxes(double, PlotRenderingInfo, Point2D, boolean)): Likewise,
    * source/org/jfree/chart/PolarPlot.java
    (zoomDomainAxes(double, PlotRenderingInfo, Point2D, boolean)): New method,
    (zoomRangeAxes(double, PlotRenderingInfo, Point2D, boolean)): Likewise,
    * source/org/jfree/chart/ThermometerPlot.java
    (zoomDomainAxes(double, PlotRenderingInfo, Point2D, boolean)): New method,
    (zoomRangeAxes(double, PlotRenderingInfo, Point2D, boolean)): Likewise,
    * source/org/jfree/chart/XYPlot.java
    (zoomDomainAxes(double, PlotRenderingInfo, Point2D, boolean)): New method,
    (zoomDomainAxes(double, PlotRenderingInfo, Point2D)): Delegate to new 
    method,
    (zoomRangeAxes(double, PlotRenderingInfo, Point2D, boolean)): New method,
    (zoomRangeAxes(double, PlotRenderingInfo, Point2D)): Delegate to new method,
    * source/org/jfree/chart/plot/Zoomable.java
    (zoomDomainAxes(double, PlotRenderingInfo, Point2D, boolean)): New method,
    (zoomRangeAxes(double, PlotRenderingInfo, Point2D, boolean)): Likewise. 

2007-09-21  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/statistics/SimpleHistogramDataset.java: 
    API doc updates.

2007-08-28  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/time/Week.java
    (Week(Date, TimeZone)): Deprecated,
    (Week(Date, TimeZone, Locale)): New constructor,
    * tests/org/jfree/data/time/junit/WeekTests.java
    (testConstructor): New test.

2007-08-28  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/StatisticalBarRenderer.java
    (drawHorizontalItem): Check for null data items,
    (drawVerticalItem): Likewise,
    * tests/org/jfree/chart/renderer/category/junit/StatisticalBarRendererTests.java
    (testDrawWithNullMeanVertical): New test method,
    (testDrawWithNullMeanHorizontal): Likewise,
    (testDrawWithNullDeviationVertical): Likewise,
    (testDrawWithNullDeviationHorizontal): Likewise.

2007-08-03  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/XYSplineAndShapeRenderer.java
    (precision): Initialise in constructor,
    (XYSplineAndShapeRenderer()): Change default precision to 5,
    (XYSplineAndShapeRenderer(int)): New constructor.

2007-08-03  David Gilbert  <david.gilbert@object-refinery.com>

    Fix for bug 1766646:
    * source/org/jfree/chart/renderer/xy/XYBlockRenderer.java
    (findDomainBounds): Check for null,
    (findRangeBounds): Likewise.

2007-08-03  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/LegendItem.java
    (LegendItem): Initialise GradientPaintTransformer.

2007-08-02  David Gilbert  <david.gilbert@object-refinery.com>

    * experimental/org/jfree/experimental/chart/axis/LogAxis.java
    (LogAxis(String)): Leave tick marks visible,
    (autoAdjustRange): Apply margins to log scale, and don't allow auto-range 
    to go below minimum value,
    (refreshTicksHorizontal): Improved handling of ticks and labels,
    (refreshTicksVertical): Likewise,
    (selectAutoTickUnit): New method,
    (selectHorizontalAutoTickUnit): Likewise,
    (selectVerticalAutoTickUnit): Likewise,
    (exponentLengthToJava2D): Likewise,
    (estimateMaximumTickLabelHeight): Likewise,
    (estimateMaximumTickLabelWidth): Likewise,
    (equals): New method override,
    (hashCode): Likewise,
    (createLogTickUnits): New method,
    and moved to source/org/jfree/chart/axis/,
    * source/org/jfree/chart/axis/NumberTick.java
    (NumberTick(TickType, double, String, TextAnchor, TextAnchor, double)): 
    New constructor,
    * source/org/jfree/chart/axis/NumberTickUnit.java
    (NumberTickUnit(double, NumberFormat, int)): New constructor,
    (toString): New method override,
    * source/org/jfree/chart/axis/TickType.java: New file,
    * source/org/jfree/chart/axis/TickUnit.java
    (minorTickCount): New field,
    (TickUnit(double, int)): New constructor,
    (getMinorTickCount): New method,
    (equals): Updated for new field,
    * source/org/jfree/chart/axis/TickUnits.java: Reformatting only,
    * source/org/jfree/chart/axis/ValueAxis.java
    (drawTickMarksAndLabels): Check for major tick before writing label,
    * source/org/jfree/chart/axis/ValueTick.java:
    (tickType): New field,
    (ValueTick(TickType, double, String, TextAnchor, TextAnchor, double)):
    New constructor,
    (getTickType): New method,
    (equals): Updated for new field,
    * source/org/jfree/chart/util/LogFormat.java: New file,
    * tests/org/jfree/chart/axis/junit/AxisPackageTests.java
    (suite): Added LogAxisTests and TickUnitsTests,
    * tests/org/jfree/chart/axis/junit/LogAxisTests.java:
    New file,
    * tests/org/jfree/chart/axis/junit/TickUnitsTests.java: Likewise.

2007-07-31  David Gilbert  <david.gilbert@object-refinery.com>

    Bug 1763413:
    * source/org/jfree/chart/axis/PeriodAxis.java
    (drawTickLabels): Calculate tick label width correctly for inverted axis.

2007-07-25  David Gilbert  <david.gilbert@object-refinery.com>

    Patch 1752205:
    * source/org/jfree/data/time/TimeTableXYDataset.java
    (clear): New method,
    * tests/org/jfree/data/time/junit/TimeTableXYDatasetTests.java
    (testClear): New method.

2007-07-25  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/XYSplineAndShapeRenderer.java: 
    New file, contributed by Klaus Rheinwald.

2007-07-25  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/axis/SymbolAxis.java
    (DEFAULT_GRID_BAND_ALTERNATE_PAINT): New field,
    (gridBandAlternatePaint): New field,
    (SymbolAxis): Initialise new field,
    (getGridBandAlternatePaint): New method,
    (setGridBandAlternatePaint): Likewise,
    (equals): Test new field,
    (writeObject): Handle new field,
    (readObject): Likewise,
    * tests/org/jfree/chart/axis/junit/SymbolAxisTests.java
    (testEquals): Added check for new field.
    
2007-07-18  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/demo/PieChartDemo1.java
    (createChart): Modified settings,
    * source/org/jfree/chart/plot/PiePlot.java
    (DEFAULT_INTERIOR_GAP): Modified default,
    (DEFAULT_LABEL_SHADOW_PAINT): Likewise,
    (simpleLabels): New field,
    (labelPadding): Likewise,
    (simpleLabelOffset): Likewise,
    (PiePlot(PieDataset)): Initialise new fields,
    (getLabelPadding): New method,
    (setLabelPadding): Likewise,
    (getSimpleLabels): Likewise,
    (setSimpleLabels): Likewise,
    (getSimpleLabelOffset): Likewise,
    (setSimpleLabelOffset): Likewise,
    (drawPie): Added simple label handling,
    (drawSimpleLabels): New method,
    (drawLabels): Reformatting,
    (drawLeftLabels): Set label padding,
    (drawRightLabels): Likewise,
    (equals): Updated for new fields,
    * source/org/jfree/chart/plot/PiePlot3D.java
    (draw): Updated for simple labels.
    
2007-07-18  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/CombinedRangeXYPlot.java
    (remove): Actually remove the subplot.

2007-07-11  David Gilbert  <david.gilbert@object-refinery.com>

    * experimental/org/jfree/experimental/chart/axis/LogAxis.java
    (setSmallestValue): Added event notification,
    (zoomRange): New method override.

2007-07-11  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/axis/SegmentedTimeline.java
    (FIRST_MONDAY_AFTER_1900): Deprecated,
    (NO_DST_TIME_ZONE): Likewise,
    (DEFAULT_TIME_ZONE): Likewise,
    (workingCalendarNoDST): Initialise in constructor,
    (SegmentedTimeline): Initialise workingCalendarNoDST,
    (firstMondayAfter1900): New method,
    (newMondayThroughFridayTimeline): Use new method for first monday,
    (newFifteenMinuteTimeline): Likewise,
    * tests/org/jfree/chart/axis/junit/SegmentedTimelineTests2.java: 
    Save and restore time zone in all tests.

2007-07-11  David Gilbert  <david.gilbert@object-refinery.com>

    * tests/org/jfree/data/time/junit/DayTests.java
    (testGetFirstMillisecond): Set/restore time zone,
    (testGetFirstMillisecondWithCalendar): Set time zone,
    (testGetLastMillisecond): Set/restore time zone,
    (testGetLastMillisecondWithCalendar): Set time zone,
    * tests/org/jfree/data/time/junit/HourTests.java: Likewise,
    * tests/org/jfree/data/time/junit/MillisecondTests.java: Likewise,
    * tests/org/jfree/data/time/junit/MinuteTests.java:
    (testGetFirstMillisecond): Set/restore time zone,
    (testGetFirstMillisecondWithCalendar): Set time zone,
    (testGetLastMillisecond): Set/restore time zone,
    (testGetLastMillisecondWithCalendar): Set time zone,
    (testGetStart): Set/restore time zone,
    (testGetEnd): Likewise,
    * tests/org/jfree/data/time/junit/MonthTests.java
    (testGetFirstMillisecond): Set/restore time zone,
    (testGetFirstMillisecondWithCalendar): Set time zone,
    (testGetLastMillisecond): Set/restore time zone,
    (testGetLastMillisecondWithCalendar): Set time zone,
    * tests/org/jfree/data/time/junit/QuarterTests.java: Likewise,
    * tests/org/jfree/data/time/junit/SecondTests.java: Likewise,
    * tests/org/jfree/data/time/junit/WeekTests.java: Likewise,
    * tests/org/jfree/data/time/junit/YearTests.java: Likewise.

2007-07-10  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/ChartFactory.java
    (createPieChart(String, PieDataset, boolean, boolean, Locale)): New method,
    (createPieChart(String, PieDataset, PieDataset, int, boolean, boolean, 
        boolean, Locale, boolean, boolean)) : Likewise,
    (createRingChart(String, PieDataset, boolean, boolean, Locale)): Likewise,
    (createPieChart3D(String, PieDataset, boolean, boolean, Locale)): Likewise,
    * source/org/jfree/chart/labels/StandardPieSectionLabelGenerator.java
    (StandardPieSectionLabelGenerator(Locale)): New constructor,
    (StandardPieSectionLabelGenerator(String labelFormat, Locale)): Likewise,
    * source/org/jfree/chart/labels/StandardPieToolTipGenerator.java
    (StandardPieToolTipGenerator): Delegate,
    (StandardPieToolTipGenerator(Locale)): New constructor,
    (StandardPieToolTipGenerator(String)): Delegate,
    (StandardPieToolTipGenerator(String labelFormat, Locale)): New constructor.

2007-07-10  David Gilbert  <david.gilbert@object-refinery.com>

    * tests/org/jfree/chart/renderer/xy/junit/ClusteredXYBarRendererTests.java
    (EPSILON): New field,
    (testFindDomainBounds): Fixed compile errors,
    * tests/org/jfree/data/time/junit/TimePeriodValuesCollectionTests.java
    (EPSILON): New field,
    (testGetDomainBoundsWithoutInterval): Fixed compile errors,
    (testGetDomainBoundsWithInterval): Likewise.

2007-07-10  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/statistics/SimpleHistogramDataset.java
    (SimpleHistogramDataset): Check for null argument.

2007-07-10  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/CategoryPlot.java
    (getRangeAxisIndex): New method.

----------  JFREECHART 1.0.6 RELEASED ------------------------

2007-06-15  David Gilbert  <david.gilbert@object-refinery.com>

    * swt/org/jfree/experimental/swt/SWTGraphics2D.java
    (getSwtColorFromPool): Removed JDK 1.5 specific code.

2007-06-15  David Gilbert  <david.gilbert@object-refinery.com>

    * ant/build.xml: Updated version number to 1.0.6,
    * source/org/jfree/chart/renderer/xy/XYBarRenderer.java
    (XYBarRenderer): Changed default value for drawBarOutline.

2007-06-14  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/AbstractPieLabelDistributor.java: 
    New file,
    * source/org/jfree/chart/plot/PieLabelDistributor.java: Now extends 
    AbstractPieLabelDistributor,
    * source/org/jfree/chart/plot/PieLabelRecord: Implemented Serializable,
    * source/org/jfree/chart/plot/PiePlot.java
    (labelDistributor): New field,
    (PiePlot(PieDataset)): Initialise new field,
    (getLabelDistributor): New method,
    (setLabelDistributor): New method.

2007-06-14  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/LookupPaintScale.java
    (PaintItem.value): Changed from Number to double,
    (PaintItem(Number, Paint)): Changed first parameter to double,
    (compareTo): Updated for change in value type,
    (equals): Likewise,
    (add(Number, Paint)): Deprecated,
    (add(double, Paint)): New method,
    (getPaint): Updated.

2007-06-14  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/XYBoxAndWhiskerRenderer.java
    (XYBoxAndWhiskerRenderer(double)): Replaced deprecated method call,
    (drawHorizontalItem): Call addEntity(),
    (drawVerticalDataItem): Likewise.

2007-06-14  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/StatisticalLineAndShapeRenderer.java
    (drawItem): If dataset is not a StatisticalCategoryDataset, revert to 
    the super class drawing behaviour.

2007-06-14  David Gilbert  <david.gilbert@object-refinery.com>

    * experimental/org/jfree/chart/renderer/xy/XYSmoothLineAndShapeRenderer.java:
    New class.

2007-06-14  David Gilbert  <david.gilbert@object-refinery.com>

        * source/org/jfree/chart/block/LineBorder.java
    (draw): Don't draw if area doesn't have positive dimensions,
    * source/org/jfree/chart/util/HexNumberFormat.java: New class.

2007-06-13  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/statistics/DefaultBoxAndWhiskerCategoryDataset.java
    (add): Assign max outlier value to maxValue.

2007-06-13  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/DefaultDrawingSupplier.java
    (DEFAULT_FILL_PAINT_SEQUENCE): New field,
    (fillPaintSequence): Likewise,
    (fillPaintIndex): Likewise,
    (DefaultDrawingSupplier): Constructors updated for new field,
    (getNextFillPaint): New method,
    * source/org/jfree/chart/plot/DrawingSupplier.kava
    (getNextFillPaint): New method,
    * source/org/jfree/chart/renderer/AbstractRenderer.java
    (autoPopulateSeriesPaint): New field,
    (autoPopulateSeriesFillPaint): Likewise,
    (autoPopulateSeriesOutlinePaint): Likewise,
    (autoPopulateSeriesStroke): Likewise,
    (autoPopulateSeriesOutlineStroke): Likewise,
    (autoPopulateSeriesShape): Likewise,
    (AbstractRenderer): Initialise new fields,
    (lookupSeriesPaint): Check autoPopulateField,
    (getAutoPopulateSeriesPaint): New method,
    (setAutoPopulateSeriesPaint): New method,
    (lookupSeriesFillPaint): New method,
    (getAutoPopulateSeriesFillPaint): New method,
    (setAutoPopulateSeriesFillPaint): New method,
    (lookupSeriesOutlinePaint): New method,
    (getAutoPopulateSeriesOutlinePaint): New method,
    (setAutoPopulateSeriesOutlinePaint): New method,
    (lookupSeriesStroke): New method,
    (getAutoPopulateSeriesStroke): New method,
    (setAutoPopulateSeriesStroke): New method,
    (lookupSeriesOutlineStroke): New method,
    (getAutoPopulateSeriesOutlineStroke): New method,
    (setAutoPopulateSeriesOutlineStroke): New method,
    (lookupSeriesShape): New method,
    (getAutoPopulateSeriesShape): New method,
    (setAutoPopulateSeriesShape): New method.
    
2007-06-13  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/XYBubbleRenderer.java
    (drawItem): Check item visibility flag, and check that entity hotspot
    is contained in dataArea before adding an entity,
    (getLegendItem): Reduced indentation.

2007-06-12  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/ClusteredXYBarRenderer.java
    (findDomainBounds): New method override,
    (findDomainBoundsWithOffset): New utility method,
    (drawItem): Fixed to handle inverted axes,
    * tests/org/jfree/chart/renderer/xy/junit/ClusteredXYBarRendererTests.java
    (testFindDomainBounds): New test,
    (createSampleDataset1): New helper method.

2007-06-12  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/ClusteredXYBarRenderer.java
    (drawItem): Simplified chart entity generation,
    (equals): Reorganised.

2007-06-11  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/ChartFactory.java
    (createBarChart): Replaced deprecated method calls,
    (createWaterfallChart): Likewise,
    (createBoxAndWhiskerChart): Likewise.

2007-06-11  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/CandlestickRenderer.java
    (CandlestickRenderer(double, boolean, XYToolTipGenerator)): Replaced
    call to deprecated setToolTipGenerator() method.

2007-06-11  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/time/TimePeriodValuesCollection.java
    (TimePeriodValuesCollection(TimePeriodValues)): Changed default value
    for this.domainIsPointsInTime,
    (getDomainBounds): Use includeInterval parameter correctly,
    * tests/org/jfree/data/time/junit/TimePeriodValuesCollectionTests.java
    (testGetDomainBoundsWithoutInterval): New method,
    (testGetDomainBoundsWithInterval): Likewise.

2007-06-08  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/axis/QuarterDateFormat.java
    (GREEK_QUARTERS): New field,
    (quarterFirst): Likewise,
    (QuarterFormat(TimeZone, String[], boolean)): New constructor,
    (equals): Updated for new field,
    * tests/org/jfree/chart/axis/junit/QuarterDateFormatTests.java
    (testEquals): Added check for new field.

2007-06-08  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/StandardXYItemRenderer.java
    (drawItem): Take orientation into account when passing coordinates to
    addEntity(),
    * source/org/jfree/chart/renderer/xy/XYLineAndShapeRenderer.java
    (drawSecondaryPass): Likewise,
    * tests/org/jfree/chart/junit/TestUtilities.java: New file,
    * tests/org/jfree/chart/renderer/xy/junit/StandardXYItemRendererTests.java
    (testNoDisplayedItem): New method.

2007-06-08  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/XYLineAndShapeRenderer.java
    (drawSecondaryPass): Only add entity if data point is within the 
    visible data area.

2007-06-07  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/Plot.java
    (fillBackground(Graphics2D, Rectangle2D)): Delegate to new method,
    (fillBackground(Graphics2D, Rectangle2D, PlotOrientation)): New method,
    * source/org/jfree/chart/plot/CategoryPlot.java
    (drawBackground): New method override,
    * source/org/jfree/chart/plot/XYPlot.java
    (drawBackground): Call new fillBackground() method.

2007-06-06  Henry Proudhon  <henry.proudhon@insa-lyon.fr>

    * swt/org/jfree/experimental/chart/swt/ChartComposite.java
    (getToolTipText): Fixed minor issues with tooltips. bug reported and fix proposed 
    by Christoph Beck, bug 1726404 (HP);

2007-06-06  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/ChartPanel.java
    (paintComponent): Fixed coordinates for drawing buffer image (DG);

2007-06-05  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/JFreeChart.java
    (JFreeChart(String, Font, Plot, boolean)): Add change listener to
    legend, if created,
    * tests/org/jfree/chart/junit/JFreeChartTests.java
    (testLegendEvents): New test,
    (chartChanged): New method,
    (lastChartChangeEvent): New field.

2007-06-01  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/AbstractCategoryItemRenderer.java
    (addItemEntity): Fixed deprecation warning,
    * source/org/jfree/chart/renderer/category/BoxAndWhiskerRenderer.java
    (drawHorizontalItem): Likewise,
    (drawVerticalItem): Likewise,
    * source/org/jfree/chart/renderer/category/GanttRenderer.java
    (drawTasks): Likewise,
    (drawTask): Likewise,
    * source/org/jfree/chart/renderer/category/GroupedStackedBarRenderer.java
    (drawItem): Likewise,
    * source/org/jfree/chart/renderer/category/IntervalBarRenderer.java
    (drawInterval): Likewise,
    * source/org/jfree/chart/renderer/category/LayeredBarRenderer.java
    (drawHorizontalItem): Likewise,
    (drawVerticalItem): Likewise,
    * source/org/jfree/chart/renderer/category/LevelRenderer.java
    (drawItem): Likewise,
    * source/org/jfree/chart/renderer/category/MinMaxCategoryRenderer.java
    (drawItem): Likewise.

2007-06-01  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/StatisticalLineAndShapeRenderer.java
    (drawItem): Return early for non-visible items,
    (equals): Call super.equals() last.

2007-05-30  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/axis/SubCategoryAxis.java
    (addSubCategory): Added argument check and event notification.

2007-05-25  David Gilbert  <david.gilbert@object-refinery.com>

    * experimental/org/jfree/experimental/chart/renderer/xy/VectorRenderer.java:
    Moved to source/org/jfree/chart/renderer/xy/VectorRenderer.java
    * experimental/org/jfree/experimental/data/xy/Vector.java:
    Moved to source/org/jfree/data/xy/Vector.java,
    * experimental/org/jfree/experimental/data/xy/VectorDataItem.java:
    Moved to source/org/jfree/data/xy/VectorDataItem.java,
    * experimental/org/jfree/experimental/data/xy/VectorSeries.java:
    Moved to source/org/jfree/data/xy/VectorSeries.java,
    * experimental/org/jfree/experimental/data/xy/VectorSeriesCollection.java:
    Moved to source/org/jfree/data/xy/VectorSeriesCollection.java,
    * experimental/org/jfree/experimental/data/xy/VectorXYDataset.java:
    Moved to source/org/jfree/data/xy/VectorXYDataset.java,
    * experimental/org/jfree/experimental/data/xy/XYCoordinate.java:
    Moved to source/org/jfree/data/xy/XYCoordinate.java.

2007-05-25  David Gilbert  <david.gilbert@object-refinery.com>

    * ant/build.xml: Added '-cvs' to version number, removed gjdoc,
    * experimental/org/jfree/experimental/data/xy/VectorSeries.java
    (remove): New method,
    (clear): Likewise.

2007-05-25  David Gilbert  <david.gilbert@object-refinery.com>

    Translations provided by Leonardo Alves Machado:
    * source/org/jfree/chart/LocalizationBundle_pt_BR.properties: New file,
    * source/org/jfree/chart/editor/LocalizationBundle_pt_BR.properties: 
    Likewise.

2007-05-24  David Gilbert  <david.gilbert@object-refinery.com>

    * experimental/org/jfree/experimental/chart/renderer/xy/VectorRenderer.java
    (findDomainBounds): Updated for method name changes,
    (findRangeBounds): Likewise,
    (drawItem): Likewise,
    * experimental/org/jfree/experimental/data/xy/Vector.java
    (getLength): New method,
    (getAngle): Likewise,
    * experimental/org/jfree/experimental/data/xy/VectorDataItem.java
    (getVector): New method,
    (getDeltaX): Renamed getVectorX(),
    (getDeltaY): Renamed getVectorY(),
    * experimental/org/jfree/experimental/data/xy/VectorSeries.java
    (getDeltaXValue): Renamed getVectorXValue(),
    (getDeltaYValue): Renamed getVectorYValue(),
    * experimental/org/jfree/experimental/data/xy/VectorSeriesCollection.java
    (removeSeries): New method,
    (removeAllSeries): Likewise,
    (indexOf): Likewise,
    (getVector): Likewise,
    (getDeltaXValue): Renamed getVectorXValue(),
    (getDeltaYValue): Renamed getVectorYValue(),
    * experimental/org/jfree/experimental/data/xy/VectorXYDataset.java
    (getDeltaXValue): Renamed getVectorXValue(),
    (getDeltaYValue): Renamed getVectorYValue(),
        (getDeltaX): Removed,
    (getDeltaY): Removed,
    (getVector): New method.

2007-05-24  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/XYPlot.java
    (render): Fixed bug for a series with zero items,
    * source/org/jfree/chart/renderer/xy/StackedXYAreaRenderer.java
    (initialise): Disable visible items optimisation,
    * tests/org/jfree/chart/plot/junit/XYPlotTests.java
    (testDrawSeriesWithZeroItems): New test.    

2007-05-24  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/ChartPanel.java
    (updateUI): Update UI for popup menu if there is one.

2007-05-24  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/ChartMouseEvent.java: API doc updates,
    * source/org/jfree/chart/ChartMouseListener.java: Likewise.

2007-05-19  Henry Proudhon <henry.proudhon@insa-lyon.fr>

    * swt/org/jfree/experimental/chart/swt/ChartComposite.java
    Integrated a patch by Cédric Chabanois to remove resources leaks.
    * swt/org/jfree/experimental/swt/SWTGraphics2D.java
    Removed resource leaks by adding a resource pool thanks to a patch 
    sent by Cédric Chabanois.
    
2007-05-21  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/statistics/SimpleHistogramDataset.java
    (clearObservations): New method,
    (removeAllBins): Likewise,
    * tests/org/jfree/data/statistics/junit/SimpleHistogramDatasetTests.java
    (testClearObservations): New method,
    (testRemoveAllBins): Likewise.

2007-05-19  Henry Proudhon <henry.proudhon@insa-lyon.fr>

    * swt/org/jfree/experimental/chart/swt/ChartComposite.java
    (paintControl): corrected bug with scaling when the drawing region 
    is larger than maximum draw width/height.

2007-05-19  Henry Proudhon <henry.proudhon@insa-lyon.fr>

    * swt/org/jfree/experimental/chart/swt/ChartComposite.java
    (paintControl): check for null chart

2007-05-18  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/LegendItem.java
    (dataset): New field,
    (seriesKey): Likewise,
    (getDataset): New method,
    (setDataset): Likewise,
    (getSeriesKey): Likewise,
    (setSeriesKey): Likewise,
    * source/org/jfree/chart/entity/CategoryItemEntity.java
    (dataset): No longer transient,
    (series): Deprecated,
    (category): Deprecated,
    (categoryIndex): Deprecated,
    (rowKey): New field,
    (columnKey): Likewise,
    (CategoryItemEntity(Shape, String, String, CategoryDataset, int, Object, int)): 
    Deprecated,
    (CategoryItemEntity(Shape, String, String, CategoryDataset, Comparable, Comparable)):
    New constructor,
    (setDataset): Added argument check,
    (getRowKey): New method,
    (setRowKey): New method,
    (getColumnKey): New method,
    (setColumnKey): New method,
    (getSeries): Deprecated,
    (setSeries): Deprecated,
    (getCategory): Deprecated,
    (setCategory): Deprecated,
    (getCategoryIndex): Likewise,
    (setCategoryIndex): Likewise,
    (toString): Include new fields,
    (equals): Updated for new fields,
    * source/org/jfree/chart/entity/LegendItemEntity.java
    (dataset): New field,
    (seriesKey): New field,
    (getDataset): New method,
    (setDataset): New method,
    (getSeriesKey): New method,
    (setSeriesKey): New method,
    (getSeriesIndex): Deprecated,
    (setSeriesIndex): Deprecated,
    (equals): Updated for new fields,
    (toString): Likewise,
    * source/org/jfree/chart/plot/MeterPlot.java
    (getLegendItems): Set dataset for legend item,
    * source/org/jfree/chart/plot/MultiplePiePlot.java
    (getLegendItems): Likewise,
    * source/org/jfree/chart/plot/PiePlot.java
    (getLegendItems): Likewise,
    * source/org/jfree/chart/plot/SpiderWebPlot.java
    (getLegendItems): Likewise,
    * source/org/jfree/chart/renderer/DefaultPolarItemRenderer.java
    (getLegendItem): Likewise,
    * source/org/jfree/chart/renderer/category/AbstractCategoryItemRenderer.java
    (getLegendItem): Set dataset and series key,
    * source/org/jfree/chart/renderer/category/AreaRenderer.java
    (getLegendItem): Likewise,
    * source/org/jfree/chart/renderer/category/BarRenderer.java
    (getLegendItem): Likewise,
    * source/org/jfree/chart/renderer/category/BoxAndWhiskerRenderer.java
    (getLegendItem): Likewise,
    * source/org/jfree/chart/renderer/category/CategoryStepRenderer.java
    (getLegendItem): Likewise,
    * source/org/jfree/chart/renderer/category/LineAndShapeRenderer.java
    (getLegendItem): Likewise,
    * source/org/jfree/chart/renderer/xy/AbstractXYItemRenderer.java
    (getLegendItem): Likewise,
    * source/org/jfree/chart/renderer/xy/StandardXYItemRenderer.java
    (getLegendItem): Likewise,
    * source/org/jfree/chart/renderer/xy/XYAreaRenderer.java
    (getLegendItem): Likewise,
    * source/org/jfree/chart/renderer/xy/XYAreaRenderer2.java
    (getLegendItem): Likewise,
    * source/org/jfree/chart/renderer/xy/XYBarRenderer.java
    (getLegendItem): Likewise,
    * source/org/jfree/chart/renderer/xy/XYBubbleRenderer.java
    (getLegendItem): Likewise,
    * source/org/jfree/chart/renderer/xy/XYDifferenceRenderer.java
    (getLegendItem): Likewise,
    * source/org/jfree/chart/renderer/xy/XYLineAndShapeRenderer.java
    (getLegendItem): Likewise,
    * source/org/jfree/chart/title/LegendItemBlockContainer.java
    (dataset): New field,
    (seriesKey): Likewise,
    (LegendItemBlockContainer(Arrangement, int, int)): Deprecated,
    (LegendItemBlockContainer(Arrangement, Dataset, Comparable)): New constructor,
    (getDataset): New method,
    (getSeriesKey): Likewise,
    (draw): Updated for new fields,
    * source/org/jfree/chart/title/LegendTitle.java
    (createLegendItemBlock): Replaced deprecated constructor,
    * tests/org/jfree/chart/entity/junit/CategoryItemEntityTests.java
    (testEquals): Updated,
    (testCloning): Reformatted,
    (testSerialization): Likewise,
    * tests/org/jfree/chart/entity/junit/LegendItemEntityTests.java
    (testEquals): Added checks for new fields,
    (testCloning): Reformatted,
    (testSerialization): Likewise.

2007-05-17  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/MultiplePiePlot.java
    (setPieChart(JFreeChart)): Added argument checks.

2007-05-17  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/StandardXYItemRenderer.java
    (getLegendItem): Set datasetIndex and seriesIndex,
    * source/org/jfree/chart/renderer/xy/XYAreaRenderer.java
    (getLegendItem): Likewise,
    * source/org/jfree/chart/renderer/xy/XYAreaRenderer2.java
    (getLegendItem): Likewise,
    * source/org/jfree/chart/renderer/xy/XYBarRenderer.java
    (getLegendItem): Likewise,
    * source/org/jfree/chart/renderer/xy/XYBubbleRenderer.java
    (getLegendItem): Likewise,
    * source/org/jfree/chart/renderer/xy/XYDifferenceRenderer.java
    (getLegendItem): Likewise,
    * tests/org/jfree/chart/renderer/xy/junit/StandardXYItemRendererTests.java
    (testGetLegendItemSeriesIndex): New test,
    * tests/org/jfree/chart/renderer/xy/junit/XYAreaRendererTests.java
    (testGetLegendItemSeriesIndex): Likewise,
    * tests/org/jfree/chart/renderer/xy/junit/XYAreaRenderer2Tests.java
    (testGetLegendItemSeriesIndex): Likewise,
    * tests/org/jfree/chart/renderer/xy/junit/XYBarRendererTests.java
    (testGetLegendItemSeriesIndex): Likewise,
    * tests/org/jfree/chart/renderer/xy/junit/XYBubbleRendererTests.java
    (testGetLegendItemSeriesIndex): Likewise,
    * tests/org/jfree/chart/renderer/xy/junit/XYDifferenceRendererTests.java
    (testGetLegendItemSeriesIndex): Likewise,
    * tests/org/jfree/chart/renderer/xy/junit/XYDotRendererTests.java
    (testGetLegendItemSeriesIndex): Likewise,
    * tests/org/jfree/chart/renderer/xy/junit/XYLineAndShapeRendererTests.java
    (testGetLegendItemSeriesIndex): Likewise,
    * tests/org/jfree/chart/renderer/xy/junit/YIntervalRendererTests.java
    (testGetLegendItemSeriesIndex): Likewise.
    
2007-05-17  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/AreaRenderer.java
    (getLegendItem): Set datasetIndex and seriesIndex,
    * source/org/jfree/chart/renderer/category/BoxAndWhiskerRenderer.java
    (getLegendItem): Likewise,
    * tests/org/jfree/chart/renderer/category/junit/AreaRendererTests.java
    (testGetLegendItemSeriesIndex): New test,
    * tests/org/jfree/chart/renderer/category/junit/BoxAndWhiskerRendererTests.java
    (testGetLegendItemSeriesIndex): Likewise,
    * tests/org/jfree/chart/renderer/category/junit/LevelRendererTests.java
    (testGetLegendItemSeriesIndex): Likewise.

2007-05-17  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/BarRenderer.java
    (getLegendItem): Set datasetIndex and seriesIndex,
    * source/org/jfree/chart/renderer/category/LineAndShapeRenderer.java
    (getLegendItem): Likewise,
    * tests/org/jfree/chart/renderer/category/junit/BarRendererTests.java
    (testGetLegendItemSeriesIndex): New test,
    * tests/org/jfree/chart/renderer/category/junit/LineAndShapeRendererTests.java
    (testGetLegendItemSeriesIndex): Likewise.

2007-05-16  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/JFreeChart.java
    (getSubtitles): Copy list,
    (setSubtitles): Likewise,
    (addSubtitle(int, Title)): New method,
    * tests/org/jfree/chart/junit/JFreeChartTests.java
    (testAddSubtitle): New test method,
    (testGetSubtitles): Likewise.

2007-05-16  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/JFreeChart.java
    (getSubtitle): Fixed argument check,
    * tests/org/jfree/chart/junit/JFreeChartTests.java
    (testGetSubtitle): New test method.

2007-05-15  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/Plot.java
    (outlineVisible): New field,
    (Plot): Initialise new field,
    (isOutlineVisible): New method,
    (setOutlineVisible): Likewise,
    (drawOutline): Check outlineVisible flag,
    (equals): Likewise.

2007-05-11  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/BarRenderer.java
    (getLegendItem): Check for visibility,
    * tests/org/jfree/chart/renderer/category/junit/BarRendererTests.java
    (testGetLegendItem): New test method.

2007-05-11  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/BoxAndWhiskerRenderer.java
    (getLegendItem): Check for visibility,
    * tests/org/jfree/chart/renderer/category/junit/BoxAndWhiskerRendererTests.java
    (testGetLegendItem): New test method.

2007-05-08  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/StackedBarRenderer3D.java
    (drawStackHorizontal): Check drawBarOutlines flag, and add shading
    to bar sides,
    (drawStackVertical): Likewise.

2007-05-08  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/time/TimeSeriesCollection.java
    (indexOf): New method,
    * source/org/jfree/data/xy/XYSeriesCollection.java
    (indexOf): Likewise,
    * tests/org/jfree/data/junit/time/TimeSeriesCollectionTests.java
    (testIndexOf): New method,
    * tests/org/jfree/data/junit/xy/XYSeriesCollectionTests.java
    (testIndexOf): Likewise.

2007-05-04  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/XYPlot.java
    (render): Only process visible data items, if possible,
    * source/org/jfree/chart/renderer/RendererUtilities.java: New file,
    * source/org/jfree/chart/renderer/xy/DeviationRenderer.java:
    (initialise): Disable visible items optimisation,
    * source/org/jfree/chart/renderer/xy/XYAreaRenderer.java
    (initialise): Likewise,
    * source/org/jfree/chart/renderer/xy/XYDifferenceRenderer.java:
    (initialise): Likewise,
    * source/org/jfree/chart/renderer/xy/XYItemRendererState.java
    (processVisibleItemsOnly): New field,
    (XYItemRendererState): Initialise new field,
    (getProcessVisibleItemsOnly): New method,
    (setProcessVisibleItemsOnly): Likewise,
    * source/org/jfree/chart/renderer/xy/XYStepAreaRenderer.java
    (initialise): Disable visible items optimisation,
    * tests/org/jfree/chart/renderer/junit/RendererUtilitiesTests.java:
    New file.

2007-05-04  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/DefaultPolarItemRenderer.java
    (drawSeries): Fixed lookup for series paint and stroke,
    (getLegendItem): Likewise.

2007-05-04  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/time/TimeSeriesCollection.java
    (getDomainOrder): New method override.

2007-05-03  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/axis/DateAxis.java
    (previousStandardDate): Fixed boundary cases for 
    MILLISECOND, SECOND and MONTH units,
    * tests/org/jfree/chart/axis/junit/DateAxisTests.java
    (testPreviousStandardDateYear): Removed,
    (testPreviousStandardDateMonth): Removed,
    (testPreviousStandardDateDay): Removed,
    (testPreviousStandardDateHour): Removed,
    (testPreviousStandardDateMinute): Removed,
    (testPreviousStandardDateSecond): Removed,
    (testPreviousStandardDateMillisecond): Removed,
    (testPreviousStandardDateYearA): New method,
    (testPreviousStandardDateYearB): Likewise,
    (testPreviousStandardDateMonthA): Likewise,
    (testPreviousStandardDateMonthB): Likewise,
    (testPreviousStandardDateDayA): Likewise,
    (testPreviousStandardDateDayB): Likewise,
    (testPreviousStandardDateHourA): Likewise,
    (testPreviousStandardDateHourB): Likewise,
    (testPreviousStandardDateMinuteA): Likewise,
    (testPreviousStandardDateMinuteB): Likewise,
    (testPreviousStandardDateSecondA): Likewise,
    (testPreviousStandardDateSecondB): Likewise,
    (testPreviousStandardDateMillisecondA): Likewise,
    (testPreviousStandardDateMillisecondB): Likewise.
    
2007-05-03  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/ThermometerPlot.java
    (subrangePaint): Made transient,
    (ThermometerPlot(ValueDataset)): Set axis field directly,
    (setRangeAxis): Added null argument check, and event 
    notification,
    (setPadding): Added null argument check,
    (setUnits(String)): Deprecated,
    (setValueFont): Added null argument check,
    (setValuePaint): Likewise,
    (setValueFormat): Likewise,
    (setMercuryPaint): Likewise,
    (getShowValueLines): Deprecated,
    (setShowValueLines): Likewise,
    (datasetChanged): Check for null dataset,
    (writeObject): Handle subrange paint,
    (readObject): Likewise.

2007-05-01  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/XYLine3DRenderer.java
    (equals): New method override,
    (readObject): New method,
    (writeObject): New method.

2007-04-30  David Gilbert  <david.gilbert@object-refinery.com>

    * experimental/org/jfree/experimental/chart/annotations/XYTitleAnnotation.java
    (equals): Fixed incorrect cast,
    * experimental/org/jfree/experimental/chart/annotations/junit/XYTitleAnnotationTests.java:
    New file.

2007-04-30  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/general/DefaultPieDataset.java
    (insertValue(int, Comparable, double)): New method,
    (insertValue(int, Comparable, Double)): Likewise.

2007-04-30  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/DefaultKeyedValues.java
    (insertValues(int, Comparable, double)): New method,
    (insertValues(int, Comparable, Double)): Likewise,
    * tests/org/jfree/data/junit/DefaultKeyedValuesTests.java
    (testConstructor): New test method,
    (testGetItemCount): Likewise,
    (testGetKeys): Likewise,
    (testGetValue): Extended,
    (testAddValue): New test method,
    (testInsertValue): Likewise.

2007-04-23  David Gilbert  <david.gilbert@object-refinery.com>

    Patch from Richard West:
    * source/org/jfree/chart/renderer/xy/XYDifferenceRenderer.java
    (drawItemPass0): Reimplemented,
    (drawItemPass1): Likewise,
    (getPositiveArea): Removed,
    (getNegativeArea): Removed,
    (getIntersection): Removed,
    (isEitherSeriesDegenerate): New method,
    (areSeriesDisjoint): New method,
    (createPolygon): New method.

2007-04-20  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/AbstractRenderer.java
    (positiveItemLabelPosition): Deprecated,
    (negativeItemLabelPosition): Likewise,
    (createEntities): Likewise,
    (getPositiveItemLabelPosition): Deprecated,
    (setPositiveItemLabelPosition(ItemLabelPosition)): Likewise,
    (setPositiveItemLabelPosition(ItemLabelPosition, boolean)): Likewise,
    (getNegativeItemLabelPosition): Deprecated,
    (setNegativeItemLabelPosition(ItemLabelPosition)): Likewise,
    (setNegativeItemLabelPosition(ItemLabelPosition, boolean)): Likewise,
    (getCreateEntities): Deprecated,
    (setCreateEntities(Boolean): Likewise,
    (setCreateEntities(Boolean, boolean)): Likewise,
    * source/org/jfree/chart/renderer/category/CategoryItemRenderer.java
    (getPositiveItemLabelPosition): Deprecated,
    (setPositiveItemLabelPosition(ItemLabelPosition)): Likewise,
    (setPositiveItemLabelPosition(ItemLabelPosition, boolean)): Likewise,
    (getNegativeItemLabelPosition): Deprecated,
    (setNegativeItemLabelPosition(ItemLabelPosition)): Likewise,
    (setNegativeItemLabelPosition(ItemLabelPosition, boolean)): Likewise,
    * source/org/jfree/chart/renderer/xy/XYItemRenderer.java
    (getPositiveItemLabelPosition): Deprecated,
    (setPositiveItemLabelPosition(ItemLabelPosition)): Likewise,
    (setPositiveItemLabelPosition(ItemLabelPosition, boolean)): Likewise,
    (getNegativeItemLabelPosition): Deprecated,
    (setNegativeItemLabelPosition(ItemLabelPosition)): Likewise,
    (setNegativeItemLabelPosition(ItemLabelPosition, boolean)): Likewise.

2007-04-20  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/AbstractRenderer.java
    (itemLabelsVisible): Deprecated,
    (itemLabelFont): Likewise,
    (itemLabelPaint): Likewise,
    (setItemLabelsVisible(boolean)): Likewise,
    (setItemLabelsVisible(Boolean)): Likewise,
    (setItemLabelsVisible(Boolean, boolean)): Likewise,
    (getItemLabelFont): Likewise,
    (setItemLabelFont(Font)): Likewise,
    (setItemLabelFont(Font, boolean)): Likewise,
    (getItemLabelPaint): Likewise,
    (setItemLabelPaint(Paint)): Likewise,
    (setItemLabelPaint(Paint, boolean)): Likewise,
    * source/org/jfree/chart/renderer/category/CategoryItemRenderer.java
    (setItemLabelsVisible(boolean)): Deprecated,
    (setItemLabelsVisible(Boolean)): Likewise,
    (setItemLabelsVisible(Boolean, boolean)): Likewise,
    (getItemLabelFont): Likewise,
    (setItemLabelFont(Font)): Likewise,
    (getItemLabelPaint): Likewise,
    (setItemLabelPaint(Paint)): Likewise,
    * source/org/jfree/chart/renderer/xy/XYItemRenderer.java
    (setItemLabelsVisible(boolean)): Deprecated,
    (setItemLabelsVisible(Boolean)): Likewise,
    (setItemLabelsVisible(Boolean, boolean)): Likewise,
    (getItemLabelFont): Likewise,
    (setItemLabelFont(Font)): Likewise,
    (getItemLabelPaint): Likewise,
    (setItemLabelPaint(Paint)): Likewise.

2007-04-20  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/AbstractCategoryItemRenderer.java
    (itemLabelGenerator): Deprecated,
    (toolTipGenerator): Likewise,
    (itemURLGenerator): Likewise,
    (setItemLabelGenerator): Likewise,
    (getToolTipGenerator): Likewise,
    (setToolTipGenerator): Likewise,
    (setItemURLGenerator): Deprecated and added event notification,
    (setSeriesItemURLGenerator): Added event notification,
    (setBaseItemURLGenerator): Likewise,
    * source/org/jfree/chart/renderer/category/CategoryItemRenderer.java
    (setItemLabelGenerator): Deprecated,
    (getToolTipGenerator): Likewise,
    (setToolTipGenerator): Likewise,
    (setItemURLGenerator): Likewise.

2007-04-20  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/AbstractXYItemRenderer.java
    (itemLabelGenerator): Deprecated,
    (toolTipGenerator): Likewise,
    (getItemLabelGenerator): Likewise,
    (setItemLabelGenerator): Likewise,
    (getToolTipGenerator): Likewise,
    (setToolTipGenerator): Likewise,
    * source/org/jfree/chart/renderer/xy/XYItemRenderer.java
    (setItemLabelGenerator): Deprecated,
    (setToolTipGenerator): Likewise.

2007-04-20  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/AbstractRenderer.java
    (paint): Deprecated,
    (fillPaint): Likewise,
    (outlinePaint): Likewise,
    (stroke): Likewise,
    (outlineStroke): Likewise,
    (shape): Likewise,
    (getItemPaint): Call new lookupSeriesPaint() method,
    (lookupSeriesPaint): New method,
    (setPaint(Paint)): Deprecated,
    (setPaint(Paint, boolean)): Likewise,
    (getSeriesPaint(int)): Reimplemented to return series 
    paint only, not a lookup,
    (getItemFillPaint): Call new lookupSeriesFillPaint() 
    method,
    (lookupSeriesFillPaint): New method,
    (getSeriesFillPaint(int)): Reimplemented to return 
    series fill paint only, not a lookup,
    (setFillPaint(Paint)): Deprecated,
    (setFillPaint(Paint, boolean)): Likewise,
    (getItemOutlinePaint): Call new lookupSeriesOutlinePaint()
    method,
    (lookupSeriesOutlinePaint): New method,
    (getSeriesOutlinePaint(int)): Reimplemented to return series
    outline paint only, not a lookup,
    (setOutlinePaint(Paint)): Deprecated,
    (setOutlinePaint(Paint, boolean)): Likewise,
    (getItemStroke): Call new lookupSeriesOutlineStroke() 
    method,
    (lookupSeriesStroke): New method,
    (setStroke(Stroke)): Deprecated,
    (setStroke(Stroke, boolean)): Deprecated,
    (getSeriesStroke(int)): Reimplemented to return series stroke
    only, not a lookup,
    (getItemOutlineStroke): Call new lookupSeriesOutlineStroke()
    method,
    (lookupSeriesOutlineStroke): New method,
    (setOutlineStroke(Stroke)): Deprecated,
    (setOutlineStroke(Stroke, boolean)): Deprecated,
    (getSeriesOutlineStroke(int)): Reimplemented to return series
    outline stroke, not a lookup,
    (getItemShape): Call new lookupSeriesShape() method,
    (lookupSeriesShape): New method,
    (setShape(Shape)): Deprecated,
    (setShape(Shape, notify)): Deprecated,
    (getSeriesShape(int)): Reimplemented to return series shape,
    not a lookup,
    * source/org/jfree/chart/renderer/category/AbstractCategoryItemRenderer.java
    (getLegendItem): Updated for renderer changes,
    * source/org/jfree/chart/renderer/category/AreaRenderer.java
    (getLegendItem): Likewise,
    * source/org/jfree/chart/renderer/category/BarRenderer.java
    (getLegendItem): Likewise,
    * source/org/jfree/chart/renderer/category/BoxAndWhiskerRenderer.java
    (getLegendItem): Likewise,
    * source/org/jfree/chart/renderer/category/CategoryItemRenderer.java
    (setPaint): Deprecated,
    (setOutlinePaint): Deprecated,
    (setStroke): Deprecated,
    (setOutlineStroke): Deprecated,
    (setShape): Deprecated,
    * source/org/jfree/chart/renderer/category/CategoryStepRenderer.java
    (getLegendItem): Updated for renderer changes,
    * source/org/jfree/chart/renderer/category/LineAndShapeRenderer.java
    (getLegendItem): Likewise,
    * source/org/jfree/chart/renderer/xy/AbstractXYItemRenderer.java
    (getLegendItem): Likewise,
    * source/org/jfree/chart/renderer/xy/StackedXYAreaRenderer.java
    (getLegendItem): Likewise,
    * source/org/jfree/chart/renderer/xy/StandardXYItemRenderer.java
    (getLegendItem): Likewise,
    (drawItem): Likewise,
    * source/org/jfree/chart/renderer/xy/XYAreaRenderer.java
    (getLegendItem): Likewise,
    * source/org/jfree/chart/renderer/xy/XYAreaRenderer2.java
    (getLegendItem): Likewise,
    (drawItem): Likewise,
    * source/org/jfree/chart/renderer/xy/XYBarRenderer.java
    (getLegendItem): Likewise,
    * source/org/jfree/chart/renderer/xy/XYBubbleRenderer.java
    (getLegendItem): Likewise,
    * source/org/jfree/chart/renderer/xy/XYDifferenceRenderer.java
    (getLegendItem): Likewise,
    * source/org/jfree/chart/renderer/xy/XYItemRenderer.java
    (setPaint): Deprecated,
    (setOutlinePaint): Deprecated,
    (setStroke): Deprecated,
    (setOutlineStroke): Deprecated,
    (setShape): Deprecated,
    * source/org/jfree/chart/renderer/xy/XYLineAndShapeRenderer.java
    (getLegendItem): Likewise.
    
2007-04-19  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/PiePlot.java
    (sectionPaint): Deprecated,
    (sectionOutlinePaint): Likewise,
    (sectionOutlineStroke): Likewise,
    (getSectionPaint): Likewise,
    (setSectionPaint(Paint)): Likewise,
    (getSectionOutlinePaint): Likewise,
    (setSectionOutlinePaint(Paint)): Likewise,
    (getSectionOutlineStroke): Likewise,
    (setSectionOutlineStroke(Stroke)): Likewise,
    (zoom): Removed.

2007-04-19  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/AbstractRenderer.java
    (seriesVisibleInLegend): Deprecated,
    (getSeriesVisibleInLegend): Likewise,
    (setSeriesVisibleInLegend(Boolean)): Likewise,
    (setSeriesVisibleInLegend(Boolean, boolean)): Likewise,
    * source/org/jfree/chart/renderer/category/CategoryItemRenderer.java
    (getSeriesVisibleInLegend): Likewise,
    (setSeriesVisibleInLegend(Boolean)): Likewise,
    (setSeriesVisibleInLegend(Boolean, boolean)): Likewise,
    * source/org/jfree/chart/renderer/xy/XYItemRenderer.java
    (getSeriesVisibleInLegend): Likewise,
    (setSeriesVisibleInLegend(Boolean)): Likewise,
    (setSeriesVisibleInLegend(Boolean, boolean)): Likewise.

2007-04-19  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/AbstractRenderer.java
    (seriesVisible): Deprecated,
    (getSeriesVisible): Likewise,
    (setSeriesVisible(Boolean)): Likewise,
    (setSeriesVisible(Boolean, boolean)): Likewise,
    * source/org/jfree/chart/renderer/category/CategoryItemRenderer.java
    (getSeriesVisible): Likewise,
    (setSeriesVisible(Boolean)): Likewise,
    (setSeriesVisible(Boolean, boolean)): Likewise,
    * source/org/jfree/chart/renderer/xy/XYItemRenderer.java
    (getSeriesVisible): Likewise,
    (setSeriesVisible(Boolean)): Likewise,
    (setSeriesVisible(Boolean, boolean)): Likewise.

2007-04-19  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/axis/DateAxis.java
    (setMinimumDate): Handle case where new minimum date is on or after
    the existing maximum date,
    (setMaximumDate): Handle case where new maximum date is on or before 
    the existing minimum date,
    * tests/org/jfree/chart/axis/junit/DateAxisTests.java
    (testSetMaximumDate): Added new check,
    (testSetMinimumDate): Likewise.

2007-04-17  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/urls/StandardCategoryURLGenerator.java
    (generateURL): Use new URLUtilities class for encoding,
    * source/org/jfree/chart/urls/StandardPieURLGenerator.java
    (generateURL): Likewise,
    * source/org/jfree/chart/urls/TimeSeriesURLGenerator.java
    (generateURL): Likewise,
    * source/org/jfree/chart/urls/URLUtilities.java: New file,
    * tests/org/jfree/chart/urls/junit/StandardPieURLGeneratorTests.java
    (testURL): Added new check,
    * tests/org/jfree/chart/urls/junit/TimeSeriesURLGeneratorTests.java
    (testGenerateURL): New test method.

2007-04-17  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/urls/TimeSeriesURLGenerator.java
    (TimeSeriesURLGenerator(DateFormat, String, String, String)): Added 
    null argument checks,
    (getDateFormat): New method,
    (getPrefix): New method,
    (getSeriesParameterName): New method,
    (getItemParameterName): New method,
    (equals): New method,
    * tests/org/jfree/chart/urls/junit/TimeSeriesURLGeneratorTests.java:
    New file,
    * tests/org/jfree/chart/urls/junit/UrlsPackageTests.java
    (suite): Added TimeSeriesURLGeneratorTests.

2007-04-17  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/statistics/DefaultBoxAndWhiskerCategoryDataset.java
    (add): Check for null values,
    * tests/org/jfree/data/statistics/junit/DefaultBoxAndWhiskerCategoryDatasetTests.java
    (testCloning): New test method,
    (test1701822): Likewise.

2007-04-17  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/ChartPanel.java
    (actionPerformed): Check for null zoomPoint,
    (restoreAutoDomainBounds): Likewise,
    (restoreAutoRangeBounds): Likewise,
    * source/org/jfree/chart/plot/CombinedDomainCategoryPlot.java
    (findSubplot): Added null argument checks,
    (zoomRangeAxes(double, PlotRenderingInfo, Point2D)): If not in 
    subplot, zoom for all subplots,
    (zoomRangeAxes(double, double, PlotRenderingInfo, Point2D)): Likewise,
    * source/org/jfree/chart/plot/CombinedDomainXYPlot.java
    (findSubplot): Added null argument checks,
    (zoomRangeAxes(double, PlotRenderingInfo, Point2D)): If not in 
    subplot, zoom for all subplots,
    (zoomRangeAxes(double, double, PlotRenderingInfo, Point2D)): Likewise,
    * source/org/jfree/chart/plot/CombinedRangeXYPlot.java
    (findSubplot): Added null argument checks,
    (zoomDomainAxes(double, PlotRenderingInfo, Point2D)): If not in 
    subplot, zoom for all subplots,
    (zoomDomainAxes(double, double, PlotRenderingInfo, Point2D)): Likewise,
    * source/org/jfree/chart/plot/PlotRenderingInfo.java
    (getSubplotIndex): Added null argument check.

2007-04-17  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/PiePlot.java
    (getLegendItems): Check for null legend item label,
    * tests/org/jfree/chart/plot/junit/PiePlotTests.java
    (NullLegendLabelGenerator): New support class,
    (testDrawWithNullLegendLabels): New test method.

2007-04-07  Henry Proudhon  <henry.proudhon@insa-lyon.fr>

    * swt/org/jfree/experimental/chart/swt/ChartComposite.java:
    Fixed redraw problem (no need to call forceRedraw() anymore).
    * swt/org/jfree/experimental/swt/SWTGraphics2D.java:
    Fixed some issues with disposing SWT ressources. Thanks to silent 
    for pointing this out.

2007-04-04  Chris Boek  <chris.boek@gmail.com>

    * source/org/jfree/chart/axis/DateAxis.java
    (previousStandardDate): Use time zone for Month,
    (refreshTicksHorizontal): Use time zone,
    (refreshTicksVertical): Likewise,
    * source/org/jfree/chart/axis/DateTickUnit.java
    (addToDate(Date, TimeZone)): New method,
    (rollDate(Date, TimeZone)): New method,
    * source/org/jfree/data/time/Hour.java
    (Hour(Date, TimeZone)): Peg to zone,
    * source/org/jfree/data/time/Millisecond.java
    (Millisecond(Date, TimeZone)): Peg to zone,
    * source/org/jfree/data/time/Month.java
    (Month(Date, TimeZone)): Peg to zone.

2007-04-03  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/Plot.java
    (drawBackgroundImage): Changed from protected to public.

2007-04-03  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/BarRenderer3D.java
    (drawBackground): Use background alpha, and delegate background
    image drawing to the plot,
    * source/org/jfree/chart/renderer/category/LineRenderer3D.java
    (drawBackground): Likewise.

2007-03-30  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/DefaultKeyedValues2D.java
    (removeValue): Remove column values by key not index,
    * tests/org/jfree/data/junit/DefaultKeyedValues2DTests.java
    (testRemoveValueBug1690654): New test method.

----------  JFREECHART 1.0.5 RELEASED ------------------------

2007-03-23  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/CombinedDomainXYPlot.java
    (draw): Draw shared axis last,
    * source/org/jfree/chart/plot/CombinedRangeXYPlot.java
    (draw): Likewise.

2007-03-23  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/XYErrorRenderer.java
    (drawItem): Check item visibility.

2007-03-23  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/AbstractXYItemRenderer.java
    (drawDomainLine): New method,
    * source/org/jfree/chart/renderer/xy/StandardXYItemRenderer.java
    (getItemShapeFilled): Do full lookup,
    (getShapesFilled): New method,
    (setShapesFilled): Fire change event,
    (getSeriesShapesFilled): Only look up per-series settings,
    (setSeriesShapesFilled): Fire change event,
    (getLegendItem): Call getItemShapeFilled for shape fill status.

2007-03-23  David Gilbert  <david.gilbert@object-refinery.com>

    * ant/build.xml: Updated library version numbers,
    * source/org/jfree/chart/plot/XYPlot.java
    (domainZeroBaselineVisible): New field,
    (domainZeroBaselineStroke): Likewise,
    (domainZeroBaselinePaint): Likewise,
    (XYPlot): Initialise new field,
    (isDomainZeroBaselineVisible): New method,
    (setDomainZeroBaselineVisible): Likewise,
    (getDomainZeroBaselineStroke): Likewise,
    (setDomainZeroBaselineStroke): Likewise,
    (getDomainZeroBaselinePaint): Likewise,
    (setDomainZeroBaselinePaint): Likewise,
    (draw): Added drawing code for domain zero baseline,
    (render): Added check for null renderer,
    (drawZeroDomainBaseline): New method,
    (equals): Test new fields,
    (writeObject): Handle new fields,
    (readObject): Likewise.

2007-03-22  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/StackedXYAreaRenderer.java
    (setShapePaint): Fire change event,
    (setShapeStroke): Likewise.

2007-03-22  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/AbstractXYItemRenderer.java
    (getItemLabelGenerator(int, int)): Do lookup,
    (getSeriesItemLabelGenerator(int)): Lookup only the series generator,
    (getItemLabelGenerator): New method,
    (getToolTipGenerator(int, int)): Do lookup,
    (getToolTipGenerator): New method,
    (getSeriesToolTipGenerator): Lookup only the series generator.

2007-03-22  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/AbstractRenderer.java
    (fireChangeEvent): Fire new event every time.

2007-03-22  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/PiePlot3D.java
    (setDepthFactor): Fire PlotChangeEvent,
    (equals): New method override,
    * tests/org/jfree/chart/plot/junit/PiePlot3DTests.java
    (testEquals): New test.

2007-03-22  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/axis/LogarithmicAxis.java
    (autoAdjustRange): Use new defaultAutoRange attribute,
    * source/org/jfree/chart/axis/NumberAxis.java
    (autoAdjustRange): Likewise,
    * source/org/jfree/chart/axis/PeriodAxis.java
    (autoAdjustRange): Likewise,
    * source/org/jfree/chart/axis/ValueAxis.java
    (DEFAULT_LOWER_BOUND): Deprecated,
    (DEFAULT_UPPER_BOUND): Likewise,
    (defaultAutoRange): New field,
    (ValueAxis(String, TickUnitSource)): Initialise new field,
    (getDefaultAutoRange): New method,
    (setDefaultAutoRange): New method,
    (equals): Check new defaultAutoRange field.

2007-03-22  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/axis/AxisLocation.java
    (getOpposite): New method.

2007-03-22  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/JFreeChart.java
    (getAntiAlias): Simplified,
    (getTextAntiAlias): New method,
    (setTextAntiAlias(boolean)): New method,
    (setTextAntiAlias(Object)): New method.

2007-03-22  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/time/TimeSeries.java
    (getDataItem(RegularTimePeriod)): Simplified.

2007-03-21  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/axis/ExtendedCategoryAxis.java
    (sublabelPaint): Marked as transient,
    (setSubLabelFont): Check for null argument, fire change event,
    (setSubLabelPaint): Likewise,
    (equals): New method override,
    (clone): Likewise,
    (writeObject): New method,
    (readObject): New method,
    * tests/org/jfree/chart/axis/junit/AxisPackageTests.java
    (suite): Added ExtendedCategoryAxisTests,
    * tests/org/jfree/chart/axis/junit/ExtendedCategoryAxisTests.java:
    New file.

2007-03-21  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/PolarPlot.java
    (angleLabelPaint): Marked as transient,
    (writeObject): Handle angleLabelPaint field,
    (readObject): Likewise,
    * tests/org/jfree/chart/plot/junit/PolarPlotTests.java
    (testSerialization): Added checks for paint fields.

2007-03-21  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/MeterPlot.java
    (tickPaint): Marked as transient,
    (tickLabelPaint): Likewise,
    (writeObject): Handle new transient fields,
    (readObject): Likewise,
    * tests/org/jfree/chart/plot/junit/MeterPlotTests.java
    (testSerialization): Added checks for paint fields.

2007-03-21  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/axis/DateTickUnit.java
    (units): New private field,
    (toString): New method override.

2007-03-20  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/CompassPlot.java
    (roseHighlightPaint): Marked transient,
    (rosePaint): Likewise,
    (roseCenterPaint): Likewise,
    (setDrawBorder): Notify listeners,
    (writeObject): New method,
    (readObject): New method,
    * tests/org/jfree/chart/plot/junit/CompassPlotTests.java
    (testSerialization): Check paint fields with GradientPaint.

2007-03-20  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/GanttRenderer.java
    (completePaint): Marked transient,
    (incompletePaint): Likewise,
    (equals): Implemented,
    (writeObject): New method,
    (readObject): Likewise,
    * tests/org/jfree/chart/renderer/category/junit/GanttRendererTests.java
    (testEquals): Extended,
    (testSerialization): Updated to check gradient paint.

2007-03-20  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/JFreeChart.java
    (JFreeChart(String, Font, Plot, boolean)): Update for renamed method,
    * source/org/jfree/chart/block/AbstractBlock.java
    (border): Renamed frame,
    (AbstractBlock): Updated for renamed field,
    (getBorder): Likewise,
    (setBorder(BlockBorder)): Updated for renamed method,
    (setBorder(double, double, double, double)): Likewise,
    (getBlockFrame): Renamed getFrame(),
    (setBlockFrame): Renamed setFrame(),
    (getContentXOffset): Updated for renamed field,
    (getContentYOffset): Likewise,
    (trimToContentWidth): Likewise,
    (trimToContentHeight): Likewise,
    (calculateTotalWidth): Likewise,
    (calculateTotalHeight): Likewise,
    (trimBorder): Likewise,
    (drawBorder): Likewise,
    (equals): Likewise,
    (clone): Likewise,
    * source/org/jfree/chart/title/LegendTitle.java
    (draw): Updated for renamed method.

2007-03-19  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/ChartUtilities.java
    (saveChartAsPNG(File, JFreeChart, int, int, ChartRenderingInfo)): Wrap 
    writeChartAsPNG in try-finally,
    (saveChartAsPNG(File, JFreeChart, int, int, ChartRenderingInfo, 
    boolean, int)): Likewise,
    (saveChartAsJPEG(File, JFreeChart, int, int, ChartRenderingInfo)): 
    Likewise,
    (saveChartAsJPEG(File, float, JFreeChart, int, int, 
    ChartRenderingInfo)): Likewise.

2007-03-16  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/JFreeChart.java
    (JFreeChart(String, Plot, Font, boolean)): Changed initial legend
    border,
    * source/org/jfree/chart/block/AbstractBlock.java: implemented 
    Cloneable,
    (border): Changed type to BlockFrame,
    (getBorder): Deprecated,
    (setBorder): Deprecated,
    (getBlockFrame): New method,
    (setBlockFrame): New method,
    (equals): Check id field,
    (clone): Implemented,
    * source/org/jfree/chart/block/BlockBorder.java: Implemented BlockFrame
    interface,
    * source/org/jfree/chart/block/BlockFrame.java: New file,
    * source/org/jfree/chart/block/ColorBlock.java
    (paint): Marked transient,
    (ColorBlock): Added null argument check,
    (getPaint): New method,
    (equals): New method,
    (writeObject): New method,
    (readObject): New method,
    * source/org/jfree/chart/block/LineBorder.java: New file,
    * source/org/jfree/chart/title/LegendTitle.java
    (draw): Updated for changes to AbstractBlock border,
    * tests/org/jfree/chart/block/junit/AbstractBlockTests.java: New file,
    * tests/org/jfree/chart/block/junit/BlockBorderTests.java: Reformatted,
    * tests/org/jfree/chart/block/junit/BlockPackageTests.java: Added new
    tests,
    * tests/org/jfree/chart/block/junit/ColorBlockTests.java: New file,
    * tests/org/jfree/chart/block/junit/EmptyBlockTests.java: Reformatted,
    * tests/org/jfree/chart/block/junit/LineBorderTests.java: New file.

2007-03-16  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/block/LabelBlock.java
    (paint): Mark as transient,
    (equals): Minor simplification,
    (readObject): New method,
    (writeObject): Likewise,
    * tests/org/jfree/chart/block/junit/LabelBlockTests.java
    (testSerialization): Test with GradientPaint.

2007-03-15  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/StackedXYBarRenderer.java
    (renderAsPercentages): New field,
    (StackedXYBarRenderer()): Delegate to another constructor,
    (StackedXYBarRenderer(double)): Initialise item label settings,
    (getRenderAsPercentages): New method,
    (setRenderAsPercetanges): Likewise,
    (getPassCount): New method override,
    (findRangeBounds): Handle renderAsPercentages,
    (drawItem): Divide into two passes, handle renderAsPercentages and
    item label drawing,
    (equals): Check renderAsPercentages,
    (hashCode): New method override,
    * source/org/jfree/data/general/DatasetUtilities.java
    (calculateStackTotal): New method,
    * tests/org/jfree/chart/renderer/xy/junit/StackedXYBarRendererTests.java
    (testEquals): Check new field,
    (testHashCode): Likewise.

2007-03-15  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/DeviationRenderer.java
    (drawItem): Removed calls to Java 1.6 methods.

2007-03-15  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/DefaultPolarItemRenderer.java
    (clone): Reimplemented,
    * tests/org/jfree/chart/renderer/junit/DefaultPolarItemRendererTests.java
    (testCloning): Added independence check.

2007-03-14  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/StandardXYItemRenderer.java
    (setPlotDiscontinuous): New method,
    (equals): Check additional fields,
    (clone): Reimplemented,
    * tests/org/jfree/chart/renderer/xy/junit/StandardXYItemRendererTests.java
    (testEquals): Check additional fields,
    (testCloning): Check independence.

2007-03-13  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/CategoryPlot.java
    (draw): Moved annotation drawing up to point where clipping still
    applies.

2007-03-13  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/CategoryPlot.java
    (DEFAULT_CROSSHAIR_VISIBLE): New field,
    (DEFAULT_CROSSHAIR_STROKE): Likewise,
    (DEFAULT_CROSSHAIR_PAINT): Likewise,
    (CategoryPlot(CategoryDataset, CategoryAxis, ValueAxis, CategoryItemRenderer)): 
    Initialise crosshair fields,
    (setRangeCrosshairStroke): Check for null stroke,
    (setRangeCrosshairPaint): Check for null paint,
    (draw): Call new drawRangeCrosshair() method,
    (drawRangeCrosshair): New method,
    * source/org/jfree/chart/plot/XYPlot.java
    (setRangeCrosshairStroke): Added null argument check,
    (setRangeCrosshairPaint): Likewise.

2007-03-09  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/MinMaxCategoryRenderer.java
    (drawItem): Handle horizontal plot orientation.

2007-03-09  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/LookupPaintScale.java
    (clone): Clone the lookup table,
    * source/org/jfree/chart/renderer/xy/XYBlockRenderer.java
    (clone): Clone the paint scale,
    * tests/org/jfree/chart/renderer/junit/LookupPaintScaleTests.java
    (testCloning): Check independence,
    * tests/org/jfree/chart/renderer/xy/junit/XYBlockRendererTests.java
    (testCloning): Check independence.

2007-03-09  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/category/DefaultIntervalCategoryDataset.java
    (getSeriesIndex): Reimplemented,
    (getColumnIndex): Reimplemented,
    (getRowIndex): Delegate to getSeriesIndex(),
    (getColumnCount): Reimplemented,
    (getRowCount): Likewise,
    (getSeries): Deprecated,
    (getCategories): Deprecated,
    (getItemCount): Deprecated.

2007-03-08  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/XYDifferenceRenderer.java
    (drawItemPass1): Fix entity generation.

2007-03-08  David Gilbert  <david.gilbert@object-refinery.com>

    * experimental/org/jfree/experimental/chart/plot/dial/DialPlot.java
    (hashCode): Fixed,
    * experimental/org/jfree/experimental/chart/plot/dial/DialTextAnnotation.java
    (hashCode): Fixed,
    * experimental/org/jfree/experimental/chart/plot/dial/SimpleDialFrame.java
    (hashCode): Fixed,
    * experimental/org/jfree/experimental/chart/plot/dial/StandardDialFrame.java
    (hashCode): Fixed,
    * experimental/org/jfree/experimental/chart/plot/dial/StandardDialRange.java
    (hashCode): Fixed.

2007-03-08  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/gantt/TaskSeriesCollection.java
    (remove): Fix argument check,
    * source/org/jfree/data/time/TimePeriodValuesCollection.java
    (getSeries): Likewise,
    * source/org/jfree/data/xy/DefaultTableXYDataset.java
    (getSeries): Likewise,
    * source/org/jfree/data/xy/XYSeriesCollection.java
    (removeSeries): Likewise,
    * tests/org/jfree/data/gantt/junit/TaskSeriesCollectionTests.java
    (testRemove): New test method,
    * tests/org/jfree/data/time/junit/TimePeriodValuesCollectionTests.java
    (testGetSeries): Likewise,
    * tests/org/jfree/data/xy/junit/DefaultTableXYDatasetTests.java
    (testGetSeries): Likewise,
    * tests/org/jfree/data/xy/junit/XYSeriesCollectionTests.java
    (testGetSeries): Likewise,
    (testRemoveSeries): Likewise.

2007-03-08  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/category/DefaultIntervalCategoryDataset.java
    (getValue(Comparable, Comparable)): Check keys,
    (getStartValue(Comparable, Comparable)): Likewise,
    (getEndValue(Comparable, Comparable)): Likewise,
    (setStartValue): Correct index range check,
    (setEndValue): Likewise,
    (equals): New method override,
    (clone): Likewise,
    (equal): New private method,
    (clone(Number[][])): Likewise,
    * tests/org/jfree/data/category/junit/DefaultIntervalCategoryDatasetTests.java: New file,
    * tests/org/jfree/data/category/junit/DataCategoryPackageTests.java:
    (suite): Added DefaultIntervalCategoryDatasetTests.

2007-03-08  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/category/DefaultCategoryDataset.java
    (clone): New method override,
    * tests/org/jfree/data/category/junit/DefaultCategoryDatasetTests.java
    (testCloning): New method.

2007-03-07  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/LookupPaintScale.java
    (PaintItem): Implements Comparable,
    (PaintItem.compareTo): New method,
    (LookupPaintScale(double, double, Paint)): Initialise bounds,
    (add): Reimplemented to ensure ordered list,
    (getPaint): Check bounds and return default paint if value is outside,
    * tests/org/jfree/chart/renderer/junit/LookupPaintScaleTests.java
    (EPSILON): New field,
    (testConstructor1): New method,
    (testConstructor2): Likewise,
    (testGeneral): Likewise.

2007-03-07  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/axis/CategoryAxis.java
    (drawCategoryLabels): Fix offset.

2007-03-06  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/annotations/AbstractXYAnnotation.java
    (hashCode): Implemented,
    * source/org/jfree/chart/annotations/CategoryLineAnnotation.java
    (hashCode): Reimplemented,
    * source/org/jfree/chart/annotations/CategoryPointerAnnotation.java
    (hashCode): Likewise,
    * source/org/jfree/chart/annotations/CategoryTextAnnotation.java
    (hashCode): Implemented,
    * source/org/jfree/chart/annotations/XYPointerAnnotation.java
    (hashCode): Likewise,
    * source/org/jfree/chart/annotations/XYShapeAnnotation.java
    (hashCode): Likewise.

2007-03-06  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/HashUtilities.java
    (hashCodeForDoubleArray): Accumulate result,
    * tests/org/jfree/chart/junit/ChartPackageTests.java
    (suite): Add HashUtilitiesTests,
    * tests/org/jfree/chart/junit/HashUtilitiesTests.java: New file.

2007-03-06  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/annotations/XYTextAnnotation.java
    (setText): Added null argument check,
    (setFont): Likewise,
    (setPaint): Likewise,
    (setTextAnchor): Likewise,
    (setRotationAnchor): Likewise,
    (hashCode): Reimplemented.

2007-03-05  Sergei Ivanov  <sergei_ivanov@users.sourceforge.net>

    * source/org/jfree/chart/ChartPanel.java
    (paintComponent): Redraw the zoom rectangle and dispose the Graphics2D
    instance,
    (mouseDragged): Factor out zoom rectangle drawing,
    (mouseReleased): Likewise,
    (mouseMoved): Pass Graphics2D to drawAxisTrace methods,
    (drawZoomRectangle): New method,
    (drawHorizontalAxisTrace): Added Graphics2D parameter,
    (drawVerticalAxisTrace): Likewise,
    (displayPopupMenu): Fixed logical AND typo.
    
2007-03-05  Sergei Ivanov  <sergei_ivanov@users.sourceforge.net>

    * source/org/jfree/chart/renderer/xy/XYBarRenderer.java
    (drawItem): Reworked bar calculation to fix bug when rendering 
    against LogarithmicAxis.

2007-03-05  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/CandlestickRenderer.java
    (useOutlinePaint): New field,
    (CandlestickRenderer(double, boolean, XYToolTipGenerator)): Initialise
    new field,
    (drawVolume): Deprecated,
    (getDrawVolume): New method,
    (getUseOutlinePaint): Likewise,
    (setUseOutlinePaint): Likewise,
    (drawItem): Use outline paint if flag is set,
    (equals): Test useOutlinePaint flag,
    * tests/org/jfree/chart/renderer/xy/junit/CandlestickRendererTests.java
    (testEquals): Added check for useOutlinePaint flag.

2007-03-05  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/MeterPlot.java
    (draw): Restore clip correctly,
    * source/org/jfree/chart/plot/SpiderWebPlot.java
    (draw): Likewise.

2007-03-05  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/XYPlot.java
    (drawRangeGridlines): Check for null renderer,
    * tests/org/jfree/chart/plot/junit/XYPlotTests.java
    (testDrawRangeGridlines): New test method.

2007-03-02  Sergei Ivanov  <sergei_ivanov@users.sourceforge.net>

    * source/org/jfree/chart/axis/LogarithmicAxis.java
    (switchedPow10): New method,
    (adjustedLog10): Modified for clarity, 
    (adjustedPow10): New method,
    (autoAdjustRange): Reformatting only,
    (valueToJava2D): Likewise,
    (java2dToValue): Use new methods,
    (zoomRange): New method override,
    * tests/org/jfree/chart/axis/junit/LogarithmicAxisTests.java
    (MyLogarithmicAxis): New inner class,
    (EPSILON): New constant,
    (axis): New field,
    (setUp): New method,
    (testAdjustedLog10): Likewise,
    (checkLogPowRoundTrip): Likewise,
    (testSwitchedLog10): Likewise,
    (checkSwitchedLogPowRoundTrip): Likewise,
    (testJava2DToValue): Likewise,
    (testValueToJava2D): Likewise,
    (checkPointsToJava2D): Likewise,
    (checkPointsToValue): Likewise,
    (main): Likewise.

2007-03-02  Sergei Ivanov  <sergei_ivanov@users.sourceforge.net>

    * source/org/jfree/chart/plot/XYPlot.java
    (draw): Updated crosshair drawing to take account of orientation 
    correctly (see bug 1671645).

2007-03-01  Sergei Ivanov  <sergei_ivanov@users.sourceforge.net>

    * source/org/jfree/chart/renderer/category/AbstractCategoryItemRenderer.java
    (drawRangeMarker): Fixed drawing of interval markers,
    * source/org/jfree/chart/renderer/xy/AbstractXYItemRenderer.java
    (drawDomainMarker): Likewise,
    (drawRangeMarker): Likewise.

2007-02-28  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/AbstractRenderer.java
    (event): New field,
    (setSeriesVisible(Boolean, boolean)): Call fireChangeEvent() to notify,
    (setSeriesVisible(int, Boolean, boolean)): Likewise,
    (setBaseSeriesVisible(boolean, boolean)): Likewise,
    (setSeriesVisibleInLegend(Boolean, boolean)): Likewise,
    (setSeriesVisibleInLegend(int, Boolean, boolean)): Likewise,
    (setBaseSeriesVisibleInLegend(boolean, boolean)): Likewise,
    (setPaint(Paint, boolean)): Likewise,
    (setSeriesPaint(int, Paint, boolean)): Likewise,
    (setBasePaint(Paint, boolean)): Likewise,
    (setFillPaint(Paint, boolean)): Likewise,
    (setSeriesFillPaint(int, Paint, boolean)): Likewise,
    (setBaseFillPaint(Paint, boolean)): Likewise,
    (setOutlinePaint(Paint, boolean)): Likewise,
    (setSeriesOutlinePaint(int, Paint, boolean)): Likewise,
    (setBaseOutlinePaint(Paint, boolean)): Likewise,
    (setStroke(Stroke, boolean)): Likewise,
    (setSeriesStroke(int, Stroke, boolean)): Likewise,
    (setBaseStroke(Stroke, boolean)): Likewise,
    (setOutlineStroke(Stroke, boolean)): Likewise,
    (setSeriesOutlineStroke(int, Stroke, boolean)): Likewise,
    (setBaseOutlineStroke(Stroke, boolean)): Likewise,
    (setShape(Shape, boolean)): Likewise,
    (setSeriesShape(int, Shape, boolean)): Likewise,
    (setBaseShape(Shape, boolean)): Likewise,
    (setItemLabelsVisible(Boolean, boolean)): Likewise,
    (setSeriesItemLabelsVisible(int, Boolean, boolean)): Likewise,
    (setBaseItemLabelsVisible(Boolean, boolean)): Likewise,
    (setItemLabelFont(Font, boolean)): Likewise,
    (setSeriesItemLabelFont(int, Font, boolean)): Likewise,
    (setBaseItemLabelFont(Font, boolean)): Likewise,
    (setItemLabelPaint(Paint, boolean)): Likewise,
    (setSeriesItemLabelPaint(int, Paint, boolean)): Likewise,
    (setBaseItemLabelPaint(Paint, boolean)): Likewise,
    (setPositiveItemLabelPosition(ItemLabelPosition, boolean)): Likewise,
    (setSeriesPositiveItemLabelPosition(int, ItemLabelPosition, boolean)):
    Likewise,
    (setBasePositiveItemLabelPosition(ItemLabelPosition, boolean)): 
    Likewise,
    (setNegativeItemLabelPosition(ItemLabelPosition, boolean)): Likewise,
    (setSeriesNegativeItemLabelPosition(int, ItemLabelPosition, boolean)):
    Likewise,
    (setBaseNegativeItemLabelPosition(ItemLabelPosition, boolean)): 
    Likewise,
    (setItemLabelAnchorOffset): Likewise,
    (setCreateEntities(Boolean, boolean)): Likewise,
    (setSeriesCreateEntities(int, Boolean, boolean)): Likewise,
    (setBaseSeriesCreateEntities(Boolean, boolean)): Likewise,
    (fireChangeEvent): New method,
    (clone): Initialise event listener list and set event to null.

2007-02-28  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/axis/SymbolAxis.java
    (refreshTicksVertical): Pull check for tickLabelsOverlapping outside
    first check.

2007-02-28  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/XYPlot.java
    (setRangeAxisLocation(int, AxisLocation, boolean)): Fixed 
    copy-and-paste error.

2007-02-27  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/DeviationRenderer.java: New file,
    * tests/org/jfree/chart/renderer/xy/junit/DeviationRendererTests.java:
    New file,
    * tests/org/jfree/chart/renderer/xy/junit/RendererXYPackageTests.java
    (suite): Add new tests.

2007-02-27  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/XYPlot.java
    (setDomainAxisLocation(AxisLocation)): Delegate,
    (setDomainAxisLocation(AxisLocation, boolean)): Likewise,
    (setDomainAxisLocation(int, AxisLocation)): Likewise,
    (setDomainAxisLocation(int, AxisLocation, boolean)): New method,
    (setRangeAxisLocation(AxisLocation)): Delegate, 
    (setRangeAxisLocation(AxisLocation, boolean)): Likewise,
    (setRangeAxisLocation(int, AxisLocation)): Likewise,
    (setRangeAxisLocation(int, AxisLocation, boolean)): New method.

2007-02-26  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/CategoryPlot.java
    (setDomainAxisLocation(AxisLocation, boolean)): Delegate argument
    check,
    (setDomainAxisLocation(int, AxisLocation)): Delegate to new method,
    (setDomainAxisLocation(int, AxisLocation, boolean)): New method,
    (setRangeAxisLocation(int, AxisLocation, boolean)): Added argument
    check,
    (draw): Removed redundant code.

2007-02-26  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/DefaultKeyedValues2D.java: Updated API docs,
    * source/org/jfree/data/category/DefaultCategoryDataset.java: Likewise,
    * tests/org/jfree/data/category/junit/DefaultCategoryDatasetTests.java:
    (testGetValue2): New method,
    (testAddValue): Likewise,
    (testRemoveValue): Likewise,
    * tests/org/jfree/data/junit/DefaultKeyedValues2DTests.java
    (testRowCount): New method,
    (testColumnCount): Likewise,
    (testGetValue2): Likewise,
    (testGetRowKey): Likewise,
    (testGetColumnKey): Likewise,
    (testRemoveValue): Likewise,
    (testRemoveRow): Likewise.

2007-02-22  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/AbstractCategoryItemRenderer.java
    (createState): New method,
    (initialise): Call createState(),
    * source/org/jfree/chart/renderer/category/CategoryStepRenderer.java
    (State): New class,
    (line): Removed field,
    (getLegendItem): New method override,
    (createState): Likewise,
    (drawLine): Added State parameter,
    (drawItem): Updated calls to drawLine(), added entities,
    (equals): Minor rearrangement,
    * tests/org/jfree/chart/renderer/category/junit/CategoryStepRendererTests.java
    (testCloning): Minor updates,
    (testSerialization): Likewise.

2007-02-21  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/XYLineAndShapeRenderer.java
    (clone): Reimplemented,
    (equals): Added checks for useFillPaint and drawSeriesLineAsPath,
    * tests/org/jfree/chart/renderer/xy/junit/XYLineAndShapeRendererTests.java
    (testEquals): Check additional fields,
    (testCloning): Check for independence.

2007-02-20  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/xy/YIntervalSeries.java
    (getYHighValue): New method,
    (getYLowValue): Likewise,
    * source/org/jfree/data/xy/YIntervalSeriesCollection.java
    (getX): Call method in YIntervalSeries to get result,
    (getYValue): New method override,
    (getStartYValue): Likewise,
    (getEndYValue): Likewise,
    (getY): Call method in YIntervalSeries to get result,
    (getStartY): Likewise,
    (getEndY): Likewise.

2007-02-20  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/AbstractXYItemRenderer.java
    (clone): Fix cloning of a number of fields,
    (equals): Check additional fields,
    * tests/org/jfree/chart/renderer/xy/junit/YIntervalRendererTests.java
    (testEquals): Extended,
    (testCloning): Check independence of clone.

2007-02-20  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/labels/MultipleXYSeriesLabelGenerator.java
    (clone): Reimplemented,
    (equals): Likewise,
    * tests/org/jfree/chart/labels/junit/LabelsPackageTests.java
    (suite): Added MultipleXYSeriesLabelGeneratorTests,
    * tests/org/jfree/chart/labels/junit/MultipleXYSeriesLabelGeneratorTests.java:
    New file.

2007-02-19  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/AbstractRenderer.java
    (clone): handle some more fields correctly,
    * tests/org/jfree/chart/renderer/junit/AbstractRendererTests.java
    (testCloning): New method.

2007-02-14  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/XYAreaRenderer.java
    (clone): Make a copy of legendArea;
    * tests/org/jfree/chart/renderer/xy/junit/XYAreaRendererTests.java
    (testCloning): Check independence.

2007-02-14  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/RingPlot.java
    (setSectionDepth): Added event notification.

2007-02-14  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/XYStepAreaRenderer.java
    (equals): New method override,
    * tests/org/jfree/chart/renderer/xy/junit/XYStepAreaRendererTests.java
    (testEquals): Added more checks.

2007-02-13  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/xy/XYIntervalSeriesCollection.java
    (clone): Implemented,
    * tests/org/jfree/data/xy/junit/XYIntervalSeriesCollectionTests.java
    (testCloning): Check independence,
    (testSerializable): Likewise,
    * tests/org/jfree/data/xy/junit/XYIntervalSeriesTests.java
    (testValues): New test.

2007-02-13  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/xy/XYIntervalSeries.java
    (getXLowValue): New method,
    (getXHighValue): Likewise,
    (getYLowValue): Likewise,
    (getYHighValue): Likewise,
    * source/org/jfree/data/xy/XYIntervalSeriesCollection.java
    (getX): Simplified,
    (getStartXValue): New method override,
    (getEndXValue): Likewise,
    (getYValue): Likewise,
    (getStartYValue): Likewise,
    (getEndYValue): Likewise,
    (getY): Simplified,
    (getStartX): Likewise,
    (getEndX): Likewise,
    (getStartY): Likewise,
    (getEndY): Likewise.

----------  JFREECHART 1.0.4 RELEASED ------------------------

2007-02-09  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/XYBarRenderer.java
    (getLegendItem): Check drawBarOutline flag, 
    (clone): Make a copy of the legendBar shape,
    * tests/org/jfree/chart/renderer/xy/junit/XYBarRendererTests.java
    (testCloning): Added independence check.

2007-02-07  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/XYPlot.java
    (draw): Check renderer index against dataset count,
    (drawDomainMarkers): Likewise,
    (drawRangeMarkers): Likewise,
    * tests/org/jfree/chart/plot/junit/CategoryPlotTests.java
    (test1654215): New test,
    * tests/org/jfree/chart/plot/junit/XYPlotTests.java:
    (test1654215): New test.

2007-02-07  David Gilbert  <david.gilbert@object-refinery.com>

    * swt/org/jfree/experimental/chart/swt/demo/SWTBarChartDemo1.java
    (main): Set offscreen buffer flag to true.

2007-02-07  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/PolarPlot.java
    (setAngleLabelPaint): Check for null argument,
    (equals): Check cornerTextItems list,
    (clone): Clone the cornerTextItems list,
    (translateValueThetaRadiusToJava2D): Don't let value go below axis 
    minimum,
    * tests/org/jfree/chart/plot/junit/PolarPlotTests.java
    (testEquals): Added check for corner text items,
    (testCloning): Added independence checks.

2007-02-07  David Gilbert  <david.gilbert@object-refinery.com>

    * swt/org/jfree/experimental/chart/swt/editor/SWTAxisEditor.java
    (SWTAxisEditor(Composite, Axis, int)): Check for null axis label.

2007-02-06  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/CombinedDomainXYPlot.java
    (draw): Draw shared axis after subplots,
    * source/org/jfree/chart/plot/CombinedRangeXYPlot.java
    (draw): Likewise.

2007-02-06  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/CrosshairState.java
    (domainAxisIndex): New field,
    (rangeAxisIndex): New fields,
    (updateCrosshairPoint(double, double, double, double, 
    PlotOrientation)): Deprecated,
    (updateCrosshairPoint(double, double, int, int, double, double, 
    PlotOrientation)): New method,
    (updateCrosshairX(double)): Deprecated,
    (updateCrosshairX(double, int)): New method,
    (updateCrosshairY(double)): Deprecated,
    (updateCrosshairY(double, int)): New method,
    (getDomainAxisIndex): New method,
    (getRangeAxisIndex): New method,
    * source/org/jfree/chart/plot/XYPlot.java
    (draw): Updated to store axis indices in CrosshairState, then draw
    crosshairs using new methods,
    (drawDomainCrosshair): New method,
    (drawRangeCrosshair): New method,
    (getDomainAxisIndex): Changed from protected to public,
    (getRangeAxisIndex): Likewise,
    * source/org/jfree/chart/renderer/xy/AbstractXYItemRenderer.java
    (updateCrosshairValues(CrosshairState, double, double, double, double,
    PlotOrientation): Deprecated,
    (updateCrosshairValues(CrosshairState, double, double, int, int, 
    double, double, PlotOrientation): New method,
    * source/org/jfree/chart/renderer/xy/StackedXYAreaRenderer.java
    (drawItem): Call revised updateCrosshairValues() method,
    * source/org/jfree/chart/renderer/xy/StandardXYItemRenderer.java
    (drawItem): Likewise,
    * source/org/jfree/chart/renderer/xy/XYAreaRenderer.java
    (drawItem): Likewise,
    * source/org/jfree/chart/renderer/xy/XYAreaRenderer2.java
    (drawItem): Likewise,
    * source/org/jfree/chart/renderer/xy/XYBarRenderer.java
    (drawItem): Likewise,
    * source/org/jfree/chart/renderer/xy/XYBubbleRenderer.java
    (drawItem): Likewise,
    * source/org/jfree/chart/renderer/xy/XYDifferenceRenderer.java
    (drawItem): Likewise,
    * source/org/jfree/chart/renderer/xy/XYDotRenderer.java
    (drawItem): Likewise,
    * source/org/jfree/chart/renderer/xy/XYLineAndShapeRenderer.java
    (drawItem): Likewise,
    * source/org/jfree/chart/renderer/xy/XYStepAreaRenderer.java
    (drawItem): Likewise,
    * source/org/jfree/chart/renderer/xy/XYStepRenderer.java
    (drawItem): Likewise.   

2007-02-06  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/ChartUtilities.java: API doc updates,
    * source/org/jfree/chart/entity/ChartEntity.java: Likewise,
    * source/org/jfree/chart/imagemap/ImageMapUtilities.java: Likewise.

2007-02-06  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/SpiderWebPlot.java
    (getPlotValue): Changed to protected.

2007-02-05  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/XYDifferenceRenderer.java
    (drawItemPass1): Added extra call to updateCrosshairValues().

2007-02-05  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/XYPlot.java
    (addRangeMarker): Register plot as a listener with the marker,
    * tests/org/jfree/chart/plot/junit/CategoryPlotTests.java
    (testAddDomainMarker): New test,
    (testAddRangeMarker): Likewise,
    * tests/org/jfree/chart/plot/junit/XYPlotTests.java
    (testAddDomainMarker): New test,
    (testAddRangeMarker): Likewise.

2007-02-05  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/SpiderWebPlot.java
    (draw): Draw axes before first polygon,
    (drawRadarPoly): Remove axis drawing code.

2007-02-05  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/SpiderWebPlot.java
    (axisLinePaint): New field,
    (axisLineStroke): New field,
    (SpiderWebPlot(CategoryDataset, TableOrder)): Initialise new fields,
    (getAxisLinePaint): New method,
    (setAxisLinePaint): Likewise,
    (getAxisLineStroke): Likewise,
    (setAxisLineStroke): Likewise,
    (drawRadarPoly): Fixed problems with paint and stroke on axis lines,
    (equals): Updated for new fields,
    (clone): New method override,
    (writeObject): Updated for new fields,
    (readObject): Likewise,
    * tests/org/jfree/chart/plot/junit/SpiderWebPlotTests.java
    (testEquals): Added checks for new fields,
    (testCloning): Added independence checks.

2007-02-05  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/BoxAndWhiskerRenderer.java
    (setArtifactPaint): Check for null, generate event,
    (setItemMargin): Generate event,
    * source/org/jfree/chart/renderer/xy/XYBoxAndWhiskerRenderer.java
    (setArtifactPaint): Check for null, generate event,
    (drawHorizontalItem): Partially implemented (no outliers yet).

2007-02-02  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/StackedXYAreaRenderer.java
    (drawItem): Fixed crosshair y-value.

2007-02-02  David Gilbert  <david.gilbert@object-refinery.com>

    * experiments/org/jfree/experimental/chart/renderer/xy/VectorRenderer.java
    (drawItem): Fixed calls to JDK 1.6-only methods;
    (equals): Check additional fields.

2007-02-02  David Gilbert  <david.gilbert@object-refinery.com>

    * experimental/org/jfree/experimental/chart/annotations/XYTitleAnnotation.java:
    New file,
    * experimental/org/jfree/experimental/chart/demo/XYTitleAnnotationDemo1.java:
    New file,
    * experimental/org/jfree/experimental/chart/util/XYCoordinateType.java:
    New file.   

2007-02-02  David Gilbert  <david.gilbert@object-refinery.com>

    * ant/build.xml: Updated version numbers,
    * ant/build-swt.xml: Likewise.

2007-02-02  David Gilbert  <david.gilbert@object-refinery.com>

    * NEWS: updated,
    * source/org/jfree/chart/resources/JFreeChartResources.java
    (CONTENTS): Updated version number and date.

2007-02-02  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/labels/StandardXYItemLabelGenerator.java:
    (StandardXYItemLabelGenerator(String, NumberFormat, DateFormat)): Made
    public,
    * source/org/jfree/chart/labels/StandardXYToolTipGenerator.java:
    (StandardXYToolTIpGenerator(String, NumberFormat, DateFormat)): 
    Likewise.
    
2007-02-02  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/XYBarRenderer.java
    (setUseYInterval): Only notify if flag changes,
    * source/org/jfree/chart/renderer/xy/XYBlockRenderer.java
    (getPaintScale): New method.

2007-01-31  David Gilbert  <david.gilbert@object-refinery.com>

    * experimental/org/jfree/experimental/chart/demo/XYBlockChartDemo1.java:
    Removed and added to JFreeChart demo collection,
    * experimental/org/jfree/experimental/chart/demo/XYBlockChartDemo2.java:
    Likewise,
    * experimental/org/jfree/experimental/chart/demo/XYBlockChartDemo3.java:
    Likewise.

2007-01-31  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/ClipPath.java: Deprecated,
    * source/org/jfree/chart/axis/ColorBar.java: Likewise,
    * source/org/jfree/chart/editor/PaletteChooserPanel.java: Likewise,
    * source/org/jfree/chart/editor/PaletteSample.java: Likewise,
    * source/org/jfree/chart/plot/ColorPalette.java: Likewise,
    * source/org/jfree/chart/plot/ContourPlot.java: Likewise,
    * source/org/jfree/chart/plot/ContourPlotUtilities.java: Likewise,
    * source/org/jfree/chart/plot/ContourValuePlot.java: Likewise,
    * source/org/jfree/chart/plot/GreyPalette.java: Likewise,
    * source/org/jfree/chart/plot/RainbowPalette.java: Likewise,
    * source/org/jfree/data/contour/ContourDataset.java: Likewise,
    * source/org/jfree/data/contour/DefaultContourDataset.java: Likewise,
    * source/org/jfree/data/contour/NonGridContourDataset.java: Likewise,
    * source/org/jfree/data/contour/package.html: Updated.

2007-01-31  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/XYBlockRenderer.java: Moved from
    experimental,
    * experimental/org/jfree/experimental/chart/renderer/xy/XYBlockRenderer.java:
    Moved to main API,
    * experimental/org/jfree/experimental/chart/renderer/xy/junit/XYBlockRendererTests.java:
    Likewise,
    * tests/org/jfree/chart/renderer/junit/RendererPackageTests.java
    (suite): Added new tests,
    * tests/org/jfree/chart/renderer/xy/junit/RendererXYPackageTests.java
    (suite): Added XYBlockRendererTests,
    * tests/org/jfree/chart/renderer/xy/junit/XYBlockRendererTests.java:
    New file,
    * tests/org/jfree/chart/title/junit/TitlePackageTests.java
    (suite): Added new tests.
    
2007-01-31  David Gilbert  <david.gilbert@object-refinery.com>

    * org/jfree/chart/renderer/GrayPaintScale.java: Moved from 
    experimental,
    * org/jfree/chart/renderer/LookupPaintScale.java: Likewise,
    * org/jfree/chart/renderer/PaintScale.java: Likewise,
    * org/jfree/chart/title/PaintScaleLegend.java: Likewise,
    * experimental/org/jfree/experimental/chart/renderer/GrayPaintScale.java: 
    Moved to main API,
    * experimental/org/jfree/experimental/chart/renderer/LookupPaintScale.java: 
    Likewise,
    * experimental/org/jfree/experimental/chart/renderer/PaintScale.java: 
    Likewise,
    * experimental/org/jfree/experimental/chart/title/PaintScaleLegend.java:
    Likewise,
    * experimental/org/jfree/experimental/chart/renderer/junit/GrayPaintScaleTests.java:
    Likewise,
    * experimental/org/jfree/experimental/chart/renderer/junit/LookupPaintScaleTests.java:
    Likewise,
    * experimental/org/jfree/experimental/chart/title/junit/PaintScaleLegendTests.java:
    Likewise,
    * tests/org/jfree/chart/renderer/junit/GrayPaintScaleTests.java:
    Moved from experimental,
    * tests/org/jfree/chart/renderer/junit/LookupPaintScaleTests.java:
    Moved from experimental,
    * tests/org/jfree/chart/title/junit/PaintScaleLegendTests.java:
    Moved from experimental.

2007-01-31  David Gilbert  <david.gilbert@object-refinery.com>

    * experimental/org/jfree/experimental/chart/renderer/GrayPaintScale.java:
    (min): Renamed lowerBound;
    (max): Renamed upperBound;
    (GrayPaintScale): Updated for renamed fields,
    (getLowerBound): New method,
    (getUpperBound): New method,
    (getPaint): Updated for renamed fields,
    (equals): Likewise,
    * experimental/org/jfree/experimental/chart/renderer/LookupPaintScale.java:
    (PaintItem): Implemented Serializable,
    (PaintItem.paint): Marked transient,
    (PaintItem.equals): New method,
    (PaintItem.writeObject): Likewise,
    (PaintItem.readObject): Likewise,
    (lowerBound): New field,
    (upperBound): New field,
    (defaultPaint): Marked transient,
    (LookupPaintScale()): Delegate to other constructor,
    (LookupPaintScale(double, double, Paint): New constructor,
    (getDefaultPaint): New method,
    (getLowerBound): New method,
    (getUpperBound): New method,
    (equals): Check new fields,
    (writeObject): New method,
    (readObject): New method,
    * experimental/org/jfree/experimental/chart/renderer/PaintScale.java:
    (getLowerBound): New method,
    (getUpperBound): Likewise,
    * experimental/org/jfree/experimental/chart/renderer/junit/LookupPaintScaleTests.java
    (testEquals): Check more fields,
    (testCloning): Added new check,
    (testSerialization): Likewise.

2007-01-31  David Gilbert  <david.gilbert@object-refinery.com>

    * experimental/org/jfree/experimental/chart/title/PaintScaleLegend.java
    (arrange): Implemented arrangement for no constraints.

2007-01-31  Henry Proudhon  <henry.proudhon@insa-lyon.fr>

    * swt/org/jfree/experimental/chart/swt/ChartComposite.java:
    Fixed some issues with the trace lines, fixed cross hair not being 
    drawn, added getter and setter methods for the trace lines.
    * swt/org/jfree/experimental/chart/swt/demo/SWTTimeSeries.java:
    New class to test the cross hair.       
    * swt/org/jfree/experimental/swt/SWTGraphics2D.java:
    Moved the dummy JPanel to SWTUtils.java, implemented the drawLine 
    method.
    * swt/org/jfree/experimental/swt/SWTUtils.java: Moved the dummy JPanel
    from SWTGraphics2D.java, added a new convert method for mouse events.

2007-01-30  David Gilbert  <david.gilbert@object-refinery.com>

    * experimental/org/jfree/experimental/chart/demo/VectorPlotDemo1.java: 
    New file,
    * experimental/org/jfree/experimental/chart/renderer/xy/VectorRenderer.java: 
    New file,
    * experimental/org/jfree/experimental/chart/renderer/xy/junit/VectorRendererTests.java: 
    New file.   

2007-01-30  David Gilbert  <david.gilbert@object-refinery.com>

    * experimental/org/jfree/experimental/data/xy/Vector.java: 
    New file,
    * experimental/org/jfree/experimental/data/xy/VectorDataItem.java: 
    New file,
    * experimental/org/jfree/experimental/data/xy/VectorSeries.java:
    New file,
    * experimental/org/jfree/experimental/data/xy/VectorSeriesCollection.java:
    New file,
    * experimental/org/jfree/experimental/data/xy/VectorXYDataset.java:
    New file,
    * experimental/org/jfree/experimental/data/xy/XYCoordinate.java:
    New file,
    * experimental/org/jfree/experimental/data/xy/junit/VectorDataItemTests.java:
    New file,
    * experimental/org/jfree/experimental/data/xy/junit/VectorSeriesCollectionTests.java:
    New file,
    * experimental/org/jfree/experimental/data/xy/junit/VectorSeriesTests.java:
    New file,
    * experimental/org/jfree/experimental/data/xy/junit/VectorTests.java:
    New file,
    * experimental/org/jfree/experimental/data/xy/junit/XYCoordinateTests.java:
    New file.

2007-01-30  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/general/DefaultValueDataset.java
    (DefaultValueDataset(Number)): Call super() explicitly,
    (equals): Tidied up.

2007-01-30  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/xy/XYBarDataset.java
    (getXValue): New method override,
    (getYValue): Likewise,
    (getStartXValue): Likewise,
    (getEndXValue): Likewise,
    (getStartYValue): Likewise,
    (getEndYValue): Likewise.

2007-01-30  David Gilbert  <david.gilbert@object-refinery.com>

    * tests/org/jfree/data/xy/junit/XYSeriesTests.java
    (testToArray): Fixed code that won't compile with Java 1.4,
    (testToArrayExample): Likewise.

2007-01-29  Henry Proudhon  <henry.proudhon@insa-lyon.fr>

    * swt/org/jfree/experimental/swt/SWTGraphics2D.java
    (fillRect): switch between foregroung and background colors to correct 
    bug in FastScatterPlotDemo.

2007-01-26  David Gilbert  <david.gilbert@object-refinery.com>

    * tests/org/jfree/chart/JFreeChartTestSuite.java
    (suite): Added OHLCPackageTests.

2007-01-25  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/xy/DefaultXYDataset.java: 
    Implemented PublicCloneable,
    * source/org/jfree/data/xy/XYBarDataset.java
    (getUnderlyingDataset): New method,
    (getBarWidth): Likewise,
    (setBarWidth): Likewise,
    (equals): New method override,
    (clone): Likewise,
    * tests/org/jfree/data/xy/junit/DataXYPackageTests.java
    (suite): Added new XYBarDatasetTests,
    * tests/org/jfree/data/xy/junit/XYBarDatasetTests.java: New class.

2007-01-25  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/labels/AbstractXYItemLabelGenerator.java
    (AbstractXYItemLabelGenerator(String, NumberFormat, DateFormat)): 
    New constructor,
    (clone): Clone date formatters,
    * source/org/jfree/chart/labels/StandardXYItemLabelGenerator.java
    (StandardXYItemLabelGenerator(String, NumberFormat, DateFormat)):
    New constructor,
    * source/org/jfree/chart/labels/StandardXYToolTipGenerator.java
    (StandardXYToolTipGenerator(String, NumberFormat, DateFormat)):
    New constructor,
    * tests/org/jfree/chart/labels/junit/StandardXYItemLabelGeneratorTests.java:
    (testCloning): Added independence checks.

2007-01-24  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/XYBubbleRenderer.java
    (equals): New method override,
    * tests/org/jfree/chart/renderer/xy/junit/XYBubbleRendererTests.java
    (testEquals): Strengthened test.

2007-01-24  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/XYDifferenceRenderer.java
    (roundXCoordinates): New field,
    (XYDifferenceRenderer()): Initialise roundXCoordinates,
    (getRoundXCoordinates): New method,
    (setRoundXCoordinates): Likewise,
    (drawItemPass0): Perform optional rounding of x-coordinates in Java2D 
    space,
    (equals): Check roundXCoordinates field,
    (clone): Clone the legendLine shape,
    * tests/org/jfree/chart/renderer/xy/junit/XYDifferenceRendererTests.java
    (testEquals): Added check for roundXCoordinates field,
    (testCloning): Check for clone independence.

2007-01-23  David Gilbert  <david.gilbert@object-refinery.com>

    * experimental/org/jfree/experimental/chart/demo/XYBlockChartDemo1.java:
    (createChart): Tweak settings on chart,
    * experimental/org/jfree/experimental/chart/demo/XYBlockChartDemo2.java:
    (createChart): Likewise,
    * experimental/org/jfree/experimental/chart/demo/XYBlockChartDemo3.java:
    (createChart): Likewise,
    * experimental/org/jfree/experimental/chart/title/PaintScaleLegend.java:
    (stripOutlineVisible): New field,
    (backgroundPaint): Don't initialise here,
    (PaintScaleLegend): Update initialisation, 
    (isStripOutlineVisible): New method,
    (setStripOutlineVisible): Likewise,
    (getBackgroundPaint): Likewise,
    (setBackgroundPaint): Likewise,
    (SUBDIVISIONS): New private field,
    (draw): Use SUBDIVISIONS,
    (equals): Updated for new fields,
    * experimental/org/jfree/experimental/chart/title/junit/PaintScaleLegendTests.java:
    (testEquals): Test new fields.

2007-01-22  David Gilbert  <david.gilbert@object-refinery.com>

    * experimental/org/jfree/experimental/chart/demo/XYBlockChartDemo1.java:
    (createChart): Added PaintScaleLegend,
    * experimental/org/jfree/experimental/chart/demo/XYBlockChartDemo2.java:
    (createChart): Likewise,
    * experimental/org/jfree/experimental/chart/demo/XYBlockChartDemo3.java:
    (createChart): Likewise,
    * experimental/org/jfree/experimental/chart/title/PaintScaleLegend.java:
    New class,
    * experimental/org/jfree/experimental/chart/title/junit/PaintScaleLegendTests.java:
    New test class.

2007-01-18  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/axis/DateAxis.java
    (nextStandardDate): Use time zone for calendar.

2007-01-18  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/StackedBarRenderer3D.java
    (drawStackHorizontal): Handle inverted axis,
    (createHorizontalBlock): New method,
    (drawStackVertical): Handle inverted axis,
    (createVerticalBlock): New method.

2007-01-18  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/StackedBarRenderer3D.java
    (createStackedValueList): On null value, continue don't break,
    * tests/org/jfree/chart/renderer/category/junit/StackedBarRenderer3DTests.java:
    Added new test methods.

2007-01-18  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/DefaultKeyedValues2D.java
    (getValue(Comparable, Comparable)): Handle case where row doesn't 
    explicitly define a value for a valid column key,
    * tests/org/jfree/data/junit/DefaultKeyedValues2DTests.java
    (testSparsePopulation): New test method.

2007-01-17  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/ChartFactory.java
    (createBoxAndWhiskerChart(String, String, String, 
    BoxAndWhiskerCategoryDataset, boolean): New method,
    * source/org/jfree/chart/JFreeChart.java
    (JFreeChartInfo()): Added new contributor.

2007-01-17  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/category/DefaultIntervalCategoryDataset.java:
    Removed @author tag and reformatted source code,
    * source/org/jfree/data/category/IntervalCategoryDataset.java: Likewise,
    * source/org/jfree/data/contour/ContourDataset.java: Likewise,
    * source/org/jfree/data/contour/DefaultContourDataset.java: Likewise.

2007-01-17  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/BarRenderer3D.java
    (drawDomainGridline): Use correct value for x2,
    * source/org/jfree/chart/renderer/category/LineRenderer3D.java
    (setWallPaint): Check for null argument,
    (drawDomainGridline): Use correct value for x2.

2007-01-17  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/ColorPalette.java: Removed @author tag
    and reformatted source code,
    * source/org/jfree/chart/plot/CompassPlot.java: Likewise,
    * source/org/jfree/chart/plot/ContourPlot.java: Likewise,
    * source/org/jfree/chart/plot/ContourPlotUtilities.java: Likewise,
    * source/org/jfree/chart/plot/ContourValuePlot.java: Likewise,
    * source/org/jfree/chart/plot/GreyPalette.java: Likewise,
    * source/org/jfree/chart/plot/JThermometer.java: Likewise,
    * source/org/jfree/chart/plot/PolarPlot.java: Likewise,
    * source/org/jfree/chart/plot/RainbowPalette.java: Likewise,
    * source/org/jfree/chart/plot/ThermometerPlot.java: Likewise.

2007-01-17  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/MultiplePiePlot.java
    (prefetchSectionPaints): Check for paint settings in underlying
    PiePlot.

2007-01-17  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/PaintMap.java
    (PaintMap()): Use HashMap instead of TreeMap,
    (readObject): Likewise,
    * tests/org/jfree/chart/junit/PaintMapTests.java
    (testKeysOfDifferentClasses): New test method.

2007-01-16  David Gilbert  <david.gilbert@object-refinery.com>

    * swt/org/jfree/experimental/swt/SWTUtils.java
    (toAwtFont): Call getHeight() rather than accessing height field
    directly.

2007-01-16  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/CompassPlot.java: Updated API docs.

2007-01-16  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/StackedBarRenderer3D.java
    (createStackedValueList): New method,
    (drawItem): Reimplemented,
    (drawStackHorizontal): New method,
    (drawStackVertical): New method.

2007-01-16  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/imagemap/DynamicDriveToolTipTagFragmentGenerator.java:
    Removed @author tag from API docs,
    * source/org/jfree/chart/imagemap/ImageMapUtilities: Likewise,
    * source/org/jfree/chart/imagemap/OverLIBToolTipTagFragmentGenerator.java: 
    Likewise,
    * source/org/jfree/chart/imagemap/StandardToolTipTagFragmentGenerator.java:
    Likewise,
    * source/org/jfree/chart/imagemap/StandardURLTagFragmentGenerator.java:
    Likewise,
    * source/org/jfree/chart/imagemap/ToolTipTagFragmentGenerator.java:
    Likewise.

2007-01-16  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/annotations/TextAnnotation.java
    (setText): Added argument check,
    (setFont): Likewise,
    (setPaint): Likewise,
    (setTextAnchor): Likewise,
    (hashCode): Reimplemented.

2007-01-15  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/axis/DateAxis.java
    (getTimeZone): New method,
    (setTimeZone): Likewise.

2007-01-15  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/XYPlot.java
    (setWeight): Notify listeners,
    (setRangeZeroBaselinePaint): Check for null argument,
    (drawRangeMarkers): Use axis for dataset/renderer.

2007-01-15  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/xy/XYSeries.java
    (toArray): New method,
    * tests/org/jfree/data/xy/junit/XYSeriesTests.java
    (testToArray): New test,
    (testToArrayExample): Likewise.

2007-01-11  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/Plot.java
    (setNoDataMessage): Notify listeners,
    (setNoDataMessageFont): Check for null, and notify listeners,
    (setNoDataMessagePaint): Likewise,
    plus lots of small API doc updates.

2007-01-10  David Gilbert  <david.gilbert@object-refinery.com>

    * ant/build.xml
    (compile-tests): New target,
    (test): Likewise,
    * source/org/jfree/chart/labels/StandardPieSectionLabelGenerator.java
    (equals): Include attributedLabels in the test,
    * tests/org/jfree/chart/axis/junit/NumberAxisTests.java
    (testSetRangeType): Comment out temporarily.

2007-01-10  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/time/Week.java
    (next): Don't go past maximum week in year.

2007-01-10  David Gilbert  <david.gilbert@object-refinery.com>

    * tests/org/jfree/chart/annotations/junit/XYImageAnnotationTests.java
    (testSerialization): Commented out failing test,
    * tests/org/jfree/chart/axis/junit/NumberAxisTests.java
    (testCloning): Print stack trace,
    (testSerialization): Likewise,
    (testSetRangeType): New test,
    (testSetLowerBound): New test,
    * tests/org/jfree/chart/plot/junit/XYPlotTests.java
    (testGetDatasetCount): Commented out failing test.

2006-12-27  Thomas Morgner  <taqua@users.sourceforge.net>

    * source/org/jfree/chart/servlet/ChartDeleter.java: Implemented 
    Serializable.

2006-12-19  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/ChartUtilities.java: API doc updates and 
    source reformatting.

2006-12-13  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/LegendItem.java
    (fillPaintTransformer): New field,
    (LegendItem): Initialise fillPaintTransformer field,
    (getFillPaintTransformer): New method,
    (setFillPaintTransformer): Likewise,
    (equals): Check fillPaintTransformer attribute,
    * source/org/jfree/chart/renderer/category/BarRenderer.java
    (getLegendItem): Use gradientPaintTransformer if available,
    * source/org/jfree/chart/renderer/xy/XYBarRenderer.java
    (getLegendItem): Likewise,
    * source/org/jfree/chart/title/LegendGraphic.java
    (fillPaintTransformer): New field,
    (LegendGraphic): Initialise fillPaintTransformer,
    (getFillPaintTransformer): New method,
    (setFillPaintTransformer): Likewise,
    (draw): Added support for GradientPaint,
    (equals): Check fillPaintTransformer field,
    (hashCode): Implemented,
    (clone): Clone mutable fields,
    * source/org/jfree/chart/title/LegendTitle.java
    (createLegendItemBlock): Set gradientPaintTransformer,
    * tests/org/jfree/chart/junit/LegendItemTests.java
    (testEquals): Extended for new field,
    * tests/org/jfree/chart/title/junit/LegendGraphicTests.java
    (testEquals): Extended for new field,
    (testCloning): Added check for independence,
    (testCloning2): New method.

2006-12-11  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/ClusteredXYBarRenderer.java
    (drawItem): Add support for GradientPaint.

2006-12-11  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/axis/NumberAxis.java
    (estimateMaximumTickLabelWidth): Use format override if set.

2006-12-11  Henry Proudhon <henry.proudhon AT insa-lyon.fr>

    * swt/org/jfree/experimental/chart/swt/ChartComposite.java
    (MouseUp event) fix popup menu location, patch sent by Fabrizio Giustina.
    
2006-12-11  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/time/Minute.java
    (previous): Fix bug for first minute in hour,
    * tests/org/jfree/data/time/junit/MinuteTests.java
    (test1611872): New method.

2006-12-07  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/AbstractCategoryItemRenderer.java
    (equals): Check additional fields,
    * tests/org/jfree/chart/renderer/category/junit/AbstractCategoryItemRendererTests.java
    (testEquals): New test.

2006-12-07  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/BarRenderer3D.java
    (equals): New method override,
    * tests/org/jfree/chart/renderer/category/junit/BarRenderer3DTests.java
    (testEquals): Check all fields.

2006-12-06  Henry Proudhon <henry.proudhon AT insa-lyon.fr>

    * swt/org/jfree/experimental/chart/swt/ChartComposite.java
    (displayToolTips): New field,
    (ChartComposite): modified event listener accordingly,
    (setDisplayToolTips): New method,
    (getToolTipText): New method (more or less copied from ChartPanel).

2006-12-06  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/StackedXYBarRenderer.java
    (drawItem): Handle GradientPaint,
    * tests/org/jfree/chart/renderer/xy/junit/StackedXYBarRendererTests.java
    (testSerialization): Check handling of GradientPaint.

2006-12-04  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/BarRenderer.java
    (initialise): Calculate clip bounds from correct axis.

2006-12-04  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/time/ohlc/OHLC.java: New file,
    * source/org/jfree/data/time/ohlc/OHLCItem.java: New file,
    * source/org/jfree/data/time/ohlc/OHLCSeries.java: New file,
    * source/org/jfree/data/time/ohlc/OHLCSeriesCollection.java: New file,
    * source/org/jfree/data/time/ohlc/package.html: New file,
    * tests/org/jfree/data/time/ohlc/junit/OHLCItemTests.java: New file,
    * tests/org/jfree/data/time/ohlc/junit/OHLCPackageTests.java: New file,
    * tests/org/jfree/data/time/ohlc/junit/OHLCSeriesCollectionTests.java:
    New tests,
    * tests/org/jfree/data/time/ohlc/junit/OHLCSeriesTests.java: New file,
    * tests/org/jfree/data/time/ohlc/junit/OHLCTests.java: New file.

2006-12-01  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/LineRenderer3D.java
    (equals): New method override,
    (writeObject): New method,
    (readObject): New method,
    * tests/org/jfree/chart/renderer/category/junit/LineRenderer3DTests.java
    (suite): Use correct class name,
    (testEquals): Extended.

2006-12-01  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/annotation/XYImageAnnotation.java
    (anchor): New field,
    (XYImageAnnotation(double, double, Image)): Delegated,
    (XYImageAnnotation(double, double, Image, RectangleAnchor)): New 
    constructor,
    (getX): New method,
    (getY): New method,
    (getImage): New method,
    (getImageAnchor): New method,
    (draw): Adjust image position,
    (equals): Check anchor field,
    * tests/org/jfree/chart/annotation/junit/XYImageAnnotationTests.java
    (testEquals): Extended,
    (testHashCode): Simplified,
    (testCloning): Reformatted,
    (testSerialization): Likewise.

2006-12-01  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/AbstractCategoryItemRenderer.java:
    (getLegendItem): Check that series is visible,
    * source/org/jfree/chart/renderer/category/AreaRenderer.java
    (getLegendItem): Check that series is visible,
    (drawItem): Return early if the item is not visible,
    * source/org/jfree/chart/renderer/category/CategoryStepRenderer.java
    (drawItem): Return early if the item is not visible.

2006-12-01  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/PlotRenderingInfo.java
    (clone): Implemented properly,
    * tests/org/jfree/chart/plot/junit/PlotRenderingInfoTests.java
    (testEquals): Extended,
    (testCloning): Likewise.

2006-12-01  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/ChartRenderingInfo.java
    (equals): Test entities,
    (clone): Implemented properly,
    * tests/org/jfree/chart/junit/ChartRenderingInfoTests.java
    (testEquals): Extended,
    (testClone): Check for independence.

2006-12-01  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/entity/StandardEntityCollection.java
    (clone): Implemented properly,
    * tests/org/jfree/chart/entity/junit/StandardEntityCollectionTests.java
    (testEquals): Extended,
    (testCloning): Likewise.

2006-11-30  Henry Proudhon <henry.proudhon AT insa-lyon.fr>

    * swt/org/jfree/experimental/chart/swt/ChartComposite.java
    (ChartComposite): Modified mouse and paint listener to improve zoom 
    handling,
    (getPointInRectangle, zoom, scale, getScreenDataArea): Signature 
    methods have been modified (Rectangle2D -> Rectangle).
     
2006-11-30  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/StackedXYAreaRenderer2.java
    (getRoundXCoordinates): New method,
    (setRoundXCoordinates): New method,
    (equals): New method override,
    * source/org/jfree/chart/renderer/xy/XYAreaRenderer2.java
    (plotLines): Removed field,
    (setOutline): Notify listeners,
    (getPlotLines): Deprecated redundant method,
    (equals): New method override,
    (clone): Clone the legend shape,
    * tests/org/jfree/chart/renderer/xy/junit/StackedXYAreaRenderer2Tests.java
    (testEquals): Extended,
    * tests/org/jfree/chart/renderer/xy/junit/XYAreaRenderer2Tests.java
    (testEquals): Extended,
    (testCloning): Likewise.

2006-11-29  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/CategoryPlot.java
    (draw): Set clip earlier to stop markers exceeding plot bounds.

2006-11-29  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/ChartFactory.java
    (createXYBarChart): Use time based tool tips if DateAxis is requested.

2006-11-28  Henry Proudhon <henry.proudhon AT insa-lyon.fr>

    * swt/org/jfree/experimental/chart/swt/ChartComposite.java
    (horizontalAxisTrace): New field,
    (verticalAxisTrace): New field,
    (verticalTraceLineX): New field,
    (horizontalTraceLineY): New field,
    (ChartComposite): Implemented trace line painting.

2006-11-28  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/xy/DefaultIntervalXYDataset.java
    (hashCode): New method override,
    (clone): Likewise,
    * source/org/jfree/data/xy/DefaultXYDataset.java
    (hashCode): Likewise,
    * source/org/jfree/data/xy/DefaultXYZDataset.java
    (hashCode): Likewise,
    * tests/org/jfree/data/xy/junit/DefaultIntervalXYDatasetTests.java
    (testCloning2): New method,
    * tests/org/jfree/data/xy/junit/DefaultOHLCDatasetTests.java
    (testEquals): Added more checks.

2006-11-28  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/xy/DefaultHighLowDataset.java
    (DefaultHighLowDataset): Added argument checks,
    (equals): New method override,
    * tests/org/jfree/data/xy/junit/DefaultHighLowDatasetTests.java: New
    file,
    * tests/org/jfree/data/xy/junit/DataXYPackageTests.java
    (suite): Added DefaultHighLowDatasetTests.

2006-11-27  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/xy/MatrixSeriesCollection.java
    (clone): New method override,
    * source/org/jfree/data/xy/XIntervalSeriesCollection.java
    (clone): New method override,
    * source/org/jfree/data/xy/XYSeriesCollection.java
    (clone): New method override,
    * source/org/jfree/data/xy/YIntervalSeriesCollection.java
    (clone): New method override,
    * tests/org/jfree/data/xy/junit/DataXYPackageTests.java
    (suite): Added new MatrixSeriesCollectionTests,
    * tests/org/jfree/data/xy/junit/MatrixSeriesCollectionTests.java: New
    file,
    * tests/org/jfree/data/xy/junit/XIntervalSeriesCollectionTests.java
    (testCloning): Check independence,
    * tests/org/jfree/data/xy/junit/XYSeriesCollectionTests.java
    (testCloning): Check independence,
    * tests/org/jfree/data/xy/junit/YIntervalSeriesCollectionTests.java
    (testCloning): Check independence.

2006-11-27  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/xy/MatrixSeries.java
    (equals): Test values,
    * tests/org/jfree/data/xy/junit/MatrixSeriesTests.java:
    (testEquals): Added more checks.

2006-11-24  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/labels/StandardXYSeriesLabelGenerator.java
    (equals): Fixed,
    * source/org/jfree/chart/renderer/xy/AbstractXYItemRenderer.java
    (setLegendItemLabelGenerator): Notify listeners,
    (setLegendItemToolTipGenerator): Likewise,
    (setLegendITemURLGenerator): Likewise,
    (clone): Clone generators,
    * tests/org/jfree/chart/labels/junit/LabelsPackageTests.java
    (suite): Added new test,
    * tests/org/jfree/chart/labels/junit
    /StandardXYSeriesLabelGeneratorTests.java: New file,
    * tests/org/jfree/chart/renderer/xy/junit
    /AbstractXYItemRendererTests.java
    (testCloning_LegendItemLabelGenerator): New test method,
    (testCloning_LegendItemToolTipGenerator): New test method,
    (testCloning_LegendItemURLGenerator): New test method.

2006-11-24  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/AbstractCategoryItemRenderer.java
    (clone): Clone the legend label generators,
    (setLegendItemLabelGenerator): Notify listeners,
    (setLegendItemToolTipGenerator): Notify listeners,
    (setLegendItemURLGenerator): Notify listeners,
    * tests/org/jfree/chart/renderer/category/junit/AbstractCategoryITemRendererTests.java
    (testCloning_LegendItemLabelGenerator): New test method,
    (testCloning_LegendItemToolTipGenerator): New test method,
    (testCloning_LegendItemURLGenerator): New test method.

2006-11-24  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/PiePlot.java
    (clone): Fix URL generator cloning,
    * source/org/jfree/chart/urls/PieURLGenerator.java: Updated API docs,
    * source/org/jfree/chart/urls/StandardPieURLGenerator.java
    (StandardPieURLGenerator()): Delegated,
    (StandardPieURLGenerator(String)): Likewise,
    (StandardPieURLGenerator(String, String)): Likewise,
    (StandardPieURLGenerator(String, String, String)): Added argument 
    checks,
    (equals): Reimplemented,
    * tests/org/jfree/chart/plot/junit/PiePlotTests.java
    (testCloning_URLGenerator): New test method,
    (testCloning_LegendLabelURLGenerator): Fixed test,
    * tests/org/jfree/chart/urls/junit/StandardPieURLGeneratorTests.java
    (testEquals): New test method.

2006-11-23  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/PiePlot.java
    (legendLabelURLGenerator): New field,
    (PiePlot(PieDataset)): Initialise new field,
    (getLegendLabelURLGenerator): New method,
    (setLegendLabelURLGenerator): New method,
    (getLegendItems): Populate URL if generator is available,
    (equals): Added tests for new/missing fields,
    (clone): Added cloning for new/missing fields,
    * tests/org/jfree/chart/plot/junit/PiePlotTests.java
    (testEquals): Extended for additional fields,
    (testCloning_LegendItemShape): New test method,
    (testCloning_LegendLabelGenerator): New test method,
    (testCloning_LegendLabelToolTipGenerator): New test method,
    (testCloning_LegendLabelURLGenerator): New test method.

2006-11-23  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/XYPlot.java
    (setDomainGridlineStroke): Check for null argument,
    (setDomainGridlinePaint): Likewise,
    (setRangeGridlinePaint): Likewise.

2006-11-23  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/util/RelativeDateFormat.java
    (RelativeDateFormat(long)): Initialise fields needed by equals(),
    (setDaySuffix): Check for null argument,
    (setHourSuffix): Likewise,
    (setMinuteSuffix): Likewise,
    (setSecondSuffix): Likewise,
    (equals): Check additional fields,
    (hashCode): Overridden,
    * tests/org/jfree/chart/util/junit/RelativeDateFormatTests.java:
    New file,
    * tests/org/jfree/chart/util/junit/UtilPackageTests.java: New file.

2006-11-22  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/XYPlot.java
    (equals): Check quadrant fields,
    (clone): Clone quadrant field,
    * tests/org/jfree/chart/plot/junit/XYPlotTests.java
    (testEquals): Added checks for quadrant fields,
    (testCloning_QuadrantOrigin): New test method,
    (testCloning_QuadrantPaint): New test method.

2006-11-22  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/XYPlot.java: Added API doc cross 
    references.

2006-11-22  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/CategoryPlot.java
    (setColumnRenderingOrder): Added argument check, event notification, 
    and updated API docs,
    (setRowRenderingOrder): Likewise.

2006-11-20  David Gilbert  <david.gilbert@object-refinery.com>

    * ant/build.xml
    (initialise): Updated JFreeChart version, restructured iText 
    definitions,
    (fill-distribution): Updated iText reference, simplified copy for
    build.xml and added copy for build-swt.xml file. 

----------  JFREECHART 1.0.3 RELEASED ------------------------

2006-11-17  David Gilbert  <david.gilbert@object-refinery.com>

    * experimental/org/jfree/experimental/chart/plot/dial/AbstractDialLayer.java
    (visible): New field,
    (AbstractDialLayer): Initialise new field,
    (isVisible): New method,
    (setVisible): New method,
    * experimental/org/jfree/experimental/chart/plot/dial/DialLayer.java
    (isVisible): New method,
    * experimental/org/jfree/experimental/chart/plot/dial/DialPlot.java
    (draw): Check layer visibility before drawing,
    * experimental/org/jfree/experimental/chart/plot/dial/StandardDialFrame.java
    (getOuterWindow): Adjust margins,
    * experimental/org/jfree/experimental/chart/plot/dial/StandardDialScale.java
    (tickLabelsVisible): New field,
    (firstTickLabelVisible): New field,
    (StandardDialScale): Initialise new fields,
    (getTickLabelsVisible): New method,
    (setTickLabelsVisible): New method,
    (getFirstTickLabelVisible): New method,
    (setFirstTickLabelVisible): New method,
    (draw): Check tick label visibility,
    * experimental/org/jfree/experimental/chart/demo/DialDemo1.java
    (DialDemo1): Updated JSlider,
    * experimental/org/jfree/experimental/chart/demo/DialDemo2.java
    (DialDemo2): Updated chart title,
    * experimental/org/jfree/experimental/chart/demo/DialDemo3.java:
    Reimplemented,
    * experimental/org/jfree/experimental/chart/demo/DialDemo4.java:
    Reimplemented,
    * experimental/org/jfree/experimental/chart/demo/DialDemo5.java:
    New file.

2006-11-17  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/util/RelativeDateFormat.java: New file,
    * source/org/jfree/chart/util/package.html: New file.

2006-11-16  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/StackedXYAreaRenderer2.java
    (roundXCoordinates): New field,
    (drawItem): Add optional rounding of x-coordinates.

2006-11-16  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/statistics/BoxAndWhiskerCalculator.java
    (calculateBoxAndWhiskerStatistics(List)): Delegate to new method,
    (calculateBoxAndWhiskerStatistics(List, boolean)): New method,
    (calculateQ1): Check null argument,
    (calculateQ3): Likewise,
    * source/org/jfree/data/statistics/BoxAndWhiskerItem.java
    (toString): New method override,
    * source/org/jfree/data/statistics/Statistics.java
    (calculateMean(Number[])): Delegate to new method,
    (calculateMean(Number[], boolean)): New method,
    (calculateMean(Collection): Delegate to new method,
    (calculateMean(Collection, boolean): New method,
    (getStdDev): Added null argument checks,
    (getLinearFit): Likewise,
    (getSlope): Likewise,
    * tests/org/jfree/data/statistics/junit/BoxAndWhiskerCalculatorTests.java
    (testCalculateBoxAndWhiskerStatistics): New test method,
    (testCalculateQ1): Add check for null argument,
    (testCalculateQ3): Likewise,
    (test1593149): New test method,
    * tests/org/jfree/data/statistics/junit/StatisticsTests.java
    (testCalculateMean_Array): New test method,
    (testCalculateMean_Collection): New test method,
    (EPSILON): New constant,
    (testCalculateMedian): New test method,
    (testGetStdDev): New test method.

2006-11-14  Henry Proudhon  <henry.proudhon@insa-lyon.fr>

    * swt/README: New file,
    * ant/build-swt.xml: New file.
    
2006-11-14  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/ThermometerPlot.java
    (draw): Use margin.

2006-11-14  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/axis/SegmentedTimeline.java
    (toTimelineValue): Iterate through exception segments to avoid 
    potential stack overflow.

2006-11-10  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/FastScatterPlot.java
    (FastScatterPlot()): Use default axes,
    (FastScatterPlot(double[][], ValueAxis, ValueAxis)): Throw 
    IllegalArgumentException if domainAxis or rangeAxis is null,
    (setDomainAxis): New method,
    (setRangeAxis): New method,
    (setDomainGridlineStroke): Don't allow null argument,
    (setDomainGridlinePaint): Likewise,
    (setRangeGridlineStroke): Likewise,
    (setRangeGridlinePaint): Likewise,
    (draw): Removed unnecessary null checks,
    (drawDomainGridlines): Likewise,
    (drawRangeGridlines): Likewise,
    * source/org/jfree/chart/plot/FastScatterPlot.java
    (testDrawWithNullInfo): New test method.

2006-11-10  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/StackedXYAreaRenderer.java
    (StackedXYAreaRendererState): Initialise line attribute,
    * tests/org/jfree/chart/renderer/xy/junit/StackedXYAreaRendererTests.java
    (testBug1593156): New test method.

2006-11-07  David Gilbert  <david.gilbert@object-refinery.com>

    * experimental/org/jfree/experimental/chart/demo/DialDemo1.java
    (DialDemo1): Updated for API change,
    * experimental/org/jfree/experimental/chart/demo/DialDemo2.java:
    New file replaces old one (which is renamed DialDemo3.java),
    * experimental/org/jfree/experimental/chart/demo/DialDemo3.java:
    Replaced with former DialDemo2.java,
    * experimental/org/jfree/experimental/chart/demo/DialDemo4.java:
    Renamed DialDemo3 --> DialDemo4,
    * experimental/org/jfree/experimental/chart/plot/dial/DialPlot.java
    (datasetToScaleMap): New field,
    (DialPlot): Initialise new field,
    (addScale): Added index parameter,
    (getScale): New method,
    (mapDatasetToScale): New method,
    (getScaleForDataset): Reimplemented,
    * experimental/org/jfree/experimental/chart/plot/dial/DialPointer.java
    (DialPointer(int)): New constructor,
    (getDatasetIndex): New method,
    (setDatasetIndex): New method,
    (Pin(int)): New constructor,
    (Pointer(int)): New constructor,
    * experimental/org/jfree/experimental/chart/plot/dial/DialValueIndicator.java
    (datasetIndex): New field,
    (paint): Made transient to fix serialization,
    (backgroundPaint): Likewise,
    (outlineStroke): Likewise,
    (outlinePaint): Likewise,
    (DialValueIndicator): Modified constructor arguments,
    (getDatasetIndex): New method,
    (setDatasetIndex): Likewise,
    (getAngle): Likewise,
    (setAngle): Likewise,
    (getFrameAnchor): Likewise,
    (setFrameAnchor): Likewise,
    (getTemplateValue): Likewise,
    (setTemplateValue): Likewise,
    (getNumberFormat): Likewise,
    (setNumberFormat): Likewise,
    (getFont): Likewise,
    (setFont): Likewise,
    (getPaint): Likewise,
    (setPaint): Likewise,
    (getBackgroundPaint): Likewise,
    (setBackgroundPaint): Likewise,
    (getOutlineStroke): Likewise,
    (setOutlineStroke): Likewise,
    (getOutlinePaint): Likewise,
    (setOutlinePaint): Likewise,
    (getInsets): Likewise,
    (setInsets): Likewise,
    (getValueAnchor): Likewise,
    (setValueAnchor): Likewise,
    (getTextAnchor): Likewise,
    (setTextAnchor): Likewise,
    (draw): Fetch value from the appropriate dataset,
    (equals): Implemented properly,
    (hashCode): New method,
    (writeObject): New method,
    (readObject): New method,
    * experimental/org/jfree/experimental/chart/plot/dial/junit/DialValueIndicatorTests.java
    (testEquals): Check all fields,
    (testHashcode): Updated for new constructor API,
    (testCloning): Likewise,
    (testSerialization): Likewise.

2006-11-06  David Gilbert  <david.gilbert@object-refinery.com>

    * experimental/org/jfree/experimental/chart/plot/dial/AbstractDialLayer.java: New file,
    * experimental/org/jfree/experimental/chart/plot/dial/DialBackground.java:
    Now extends AbstractDialLayer,
    (setPaint): Notify listeners,
    (setGradientPaintTransformer): Likewise,
    * experimental/org/jfree/experimental/chart/plot/dial/DialCap.java:
    Now extends AbstractDialLayer,
    (setRadius): Notify listeners,
    (setFillPaint): Likewise,
    (setOutlinePaint): Likewise,
    (setOutlineStroke): Likewise,
    * experimental/org/jfree/experimental/chart/plot/dial/DialLayer.java:
    (addChangeListener): New method,
    (removeChangeListener): New method,
    (hasListener): New method,
    * experimental/org/jfree/experimental/chart/plot/dial/DialLayerChangeEvent.java: New file,
    * experimental/org/jfree/experimental/chart/plot/dial/DialLayerChangeListener.java: New file,
    * experimental/org/jfree/experimental/chart/plot/dial/DialPlot.java: 
    Implemented DialLayerChangeListener,
    * experimental/org/jfree/experimental/chart/plot/dial/DialPointer.java:
    Now extends AbstractDialLayer,
    (setRadius): Notify listeners,
    (setPaint): Likewise,
    (setStroke): Likewise,
    (setWidthRadius): Likewise,
    * experimental/org/jfree/experimental/chart/plot/dial/DialTextAnnotation.java:
    Now extends AbstractDialLayer,
    (setAngle): Notify listeners,
    (setRadius): Likewise,
    (setFont): Likewise,
    (setPaint): Likewise,
    (setLabel): Likewise,
    * experimental/org/jfree/experimental/chart/plot/dial/DialValueIndicator.java: 
    Now extends AbstractDialLayer,
    (setRadius): Notify listeners,
    * experimental/org/jfree/experimental/chart/plot/dial/SimpleDialFrame.java: 
    (setRadius): Notify listeners,
    (setBackgroundPaint): Likewise,
    (setForegroundPaint): Likewise,
    (setStroke): Likewise,
    * experimental/org/jfree/experimental/chart/plot/dial/StandardDialFrame.java: 
    (setBackgroundPaint): Notify listeners,
    (setForegroundPaint): Likewise,
    (setStroke): Likewise,
    (setInnerRadius): Likewise,
    (setOuterRadius): Likewise,
    (setStartAngle): Likewise,
    (setExtent): Likewise,
    * experimental/org/jfree/experimental/chart/plot/dial/StandardDialRange.java:
    (setLowerBound): Notify listeners,
    (setUpperBound): Likewise,
    (setIncrement): Likewise,
    (setPaint): Likewise,
    (setInnerRadius): Likewise,
    (setOuterRadius): Likewise,
    * experimental/org/jfree/experimental/chart/plot/dial/StandardDialScale.java:
    (setStartAngle): Notify listeners,
    (setExtent): Likewise,
    (setTickRadius): Likewise,
    (setMajorTickIncrement): Likewise,
    (setMajorTickLength): Likewise,
    (setMajorTickPaint): Likewise,
    (setMajorTickStroke): Likewise,
    (setMinorTickCount): Likewise,
    (setMinorTickLength): Likewise,
    (setTickLabelOffset): Likewise,
    (setTickLabelFont): Likewise,
    (setTickLabelPaint): Likewise.  

2006-11-06  David Gilbert  <david.gilbert@object-refinery.com>

    * ant/build.xml: Updated for reorganised source directories.

2006-11-03  David Gilbert  <david.gilbert@object-refinery.com>

    * experimental/org/jfree/experimental/chart/plot/dial/DialBackground.java: New file,
    * experimental/org/jfree/experimental/chart/plot/dial/DialCap.java: New file,
    * experimental/org/jfree/experimental/chart/plot/dial/DialFrame.java: New file,
    * experimental/org/jfree/experimental/chart/plot/dial/DialLayer.java: New file,
    * experimental/org/jfree/experimental/chart/plot/dial/DialPlot.java: New file,
    * experimental/org/jfree/experimental/chart/plot/dial/DialPointer.java: New file,
    * experimental/org/jfree/experimental/chart/plot/dial/DialScale.java: New file,
    * experimental/org/jfree/experimental/chart/plot/dial/DialTextAnnotation.java: New file,
    * experimental/org/jfree/experimental/chart/plot/dial/DialValueIndicator.java: New file,
    * experimental/org/jfree/experimental/chart/plot/dial/SimpleDialFrame.java: New file,
    * experimental/org/jfree/experimental/chart/plot/dial/StandardDialFrame.java: New file,
    * experimental/org/jfree/experimental/chart/plot/dial/StandardDialRange.java: New file,
    * experimental/org/jfree/experimental/chart/plot/dial/StandardDialScale.java: New file,
    * experimental/org/jfree/experimental/chart/plot/dial/StandardDialScale.java: New file,
    * tests/org/jfree/experimental/chart/plot/dial/junit/DialBackgroundTests.java: New file,
    * tests/org/jfree/experimental/chart/plot/dial/junit/DialCapTests.java: New file,
    * tests/org/jfree/experimental/chart/plot/dial/junit/DialPackageTests.java: New file,
    * tests/org/jfree/experimental/chart/plot/dial/junit/DialPlotTests.java: New file,
    * tests/org/jfree/experimental/chart/plot/dial/junit/DialTextAnnotationTests.java: New file,
    * tests/org/jfree/experimental/chart/plot/dial/junit/DialValueIndicatorTests.java: New file,
    * tests/org/jfree/experimental/chart/plot/dial/junit/SimpleDialFrameTests.java: New file,
    * tests/org/jfree/experimental/chart/plot/dial/junit/StandardDialFrameTests.java: New file,
    * tests/org/jfree/experimental/chart/plot/dial/junit/StandardDialRangeTests.java: New file,
    * tests/org/jfree/experimental/chart/plot/dial/junit/StandardDialScaleTests.java: New file.
    
2006-11-03  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/HashcodeUtilities.java: New file,
    * source/org/jfree/chart/annotation/XYPolygonAnnotation.java
    (hashCode): Use new utility class,
    (hashCodeForPaint): Removed,
    (hashCodeForDoubleArray): Likewise.

2006-11-02  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/xy/DefaultIntervalXYDataset.java
    (addSeries): Remove old series if there is one with the same key as
    the new series,
    * source/org/jfree/data/xy/DefaultXYDataset.java
    (addSeries): Likewise,
    * source/org/jfree/data/xy/DefaultXYZDataset.java
    (addSeries): Likewise,
    * tests/org/jfree/data/xy/junit/DataXYPackageTests.java
    (suite): Added DefaultIntervalXYDatasetTests,
    * tests/org/jfree/data/xy/junit/DefaultIntervalXYDatasetTests.java
    (testAddSeries): New test,
    * tests/org/jfree/data/xy/junit/DefaultXYDatasetTests.java
    (testAddSeries): Likewise,
    * tests/org/jfree/data/xy/junit/DefaultXYZDatasetTests.java
    (testAddSeries): Likewise.

2006-10-30  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/axis/CategoryAxis.java
    (refreshTicks): Fetch categories for all datasets that map to this
    axis;
    * source/org/jfree/chart/plot/CategoryPlot.java
    (getDomainAxisIndex): New method,
    (datasetsMappedToDomainIndex): New method,
    (getCategoriesForAxis): New method,
    * source/org/jfree/chart/plot/CombinedDomainCategoryPlot.java
    (getCategoriesForAxis): New method.

2006-10-25  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/XYErrorRenderer.java: New file,
    * tests/org/jfree/chart/renderer/xy/junit/XYErrorRendererTests.java:
    New file,
    * tests/org/jfree/chart/renderer/xy/junit/RendererXYPackageTests.java
    (suite): Added XYErrorRendererTests.

2006-10-24  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/CategoryMarker.java
    (CategoryMarker(Comparable, Paint, Stroke)): Set default alpha to 1.0f,
    * source/org/jfree/chart/renderer/xy/AbstractXYItemRenderer.java
    (drawDomainMarker): Draw marker outlines,
    (drawRangeMarker): Likewise.

2006-10-24  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/AbstractCategoryItemRenderer.java:
    (drawDomainMarker): Use marker alpha setting,
    (drawRangeMarker): Likewise,
    * source/org/jfree/chart/renderer/xy/AbstractXYItemRenderer.java:
    (drawDomainMarker): Use marker alpha setting,
    (drawRangeMarker): Likewise.

2006-10-24  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/annotations/XYShapeAnnotation.java
    (draw): Calculate transform on shape bounds.

2006-10-23  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/XYPlot.java:
    (setDomainCrosshairStroke): Check null argument,
    (setDomainCrosshairPaint): Likewise,
    plus various API doc updates.

2006-10-23  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/AbstractCategoryItemRenderer.java:
    (drawRangeMarker): Added code to draw outlines.

2006-10-23  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/resources/JFreeChartResources.java
    (CONTENTS): Updated version number to 1.0.3.

2006-10-23  David Gilbert  <david.gilbert@object-refinery.com>

    * ant/build.xml: Updated version number to 1.0.3,
    * source/org/jfree/data/xy/DefaultIntervalXYDataset.java: New file,
    * tests/org/jfree/data/xy/junit/DefaultIntervalXYDatasetTests.java:
    New file.

2006-10-20  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/xy/XIntervalSeries.java
    (getX): Added cast;
    (getYValue): Likewise,
    (getDataItem): Changed return value,
    * source/org/jfree/data/xy/XIntervalSeriesCollection.java
    (getX): Added cast,
    (getY): Likewise,
    (getStartX): Likewise,
    (getEndX): Likewise,
    * source/org/jfree/data/xy/XYIntervalSeries.java
    (getX): Added cast;
    (getYValue): Likewise,
    (getDataItem): Changed return value,
    * source/org/jfree/data/xy/XYIntervalSeriesCollection.java
    (getX): Added cast,
    (getY): Likewise,
    (getStartX): Likewise,
    (getEndX): Likewise,
    * source/org/jfree/data/xy/YIntervalSeries.java
    (getX): Added cast;
    (getYValue): Likewise,
    (getDataItem): Changed return value,
    * source/org/jfree/data/xy/YIntervalSeriesCollection.java
    (getX): Added cast,
    (getY): Likewise,
    (getStartX): Likewise,
    (getEndX): Likewise,
    * tests/org/jfree/data/DataPackageTests.java
    (suite): Added new tests,
    * tests/org/jfree/data/xy/DataXYPackageTests.java
    (suite): Added new tests.

2006-10-20  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/ComparableObjectItem.java: New file,
    * source/org/jfree/data/ComparableObjectSeries.java: Likewise,
    * source/org/jfree/data/xy/XIntervalDataItem.java: Likewise,
    * source/org/jfree/data/xy/XIntervalSeries.java: Likewise,
    * source/org/jfree/data/xy/XIntervalSeriesCollection.java: Likewise,
    * source/org/jfree/data/xy/XYInterval.java: Likewise,
    * source/org/jfree/data/xy/XYIntervalDataItem.java: Likewise,
    * source/org/jfree/data/xy/XYIntervalSeries.java: Likewise,
    * source/org/jfree/data/xy/XYIntervalSeriesCollection.java: Likewise,
    * source/org/jfree/data/xy/YInterval.java: Likewise,
    * source/org/jfree/data/xy/YIntervalDataItem.java: Likewise,
    * source/org/jfree/data/xy/YIntervalSeries.java: Likewise,
    * source/org/jfree/data/xy/YIntervalSeriesCollection.java: Likewise,
    * source/org/jfree/data/xy/YWithXInterval: Likewise,
    * tests/org/jfree/data/junit/ComparableObjectItemTests.java: New file,
    * tests/org/jfree/data/junit/ComparableObjectSeriesTests.java: New file,
    * tests/org/jfree/data/xy/junit/XIntervalDataItemTests.java: New file,
    * tests/org/jfree/data/xy/junit/XIntervalSeriesCollectionTests.java: New file,
    * tests/org/jfree/data/xy/junit/XIntervalSeriesTests.java: New file,
    * tests/org/jfree/data/xy/junit/XYIntervalDataItemTests.java: New file,
    * tests/org/jfree/data/xy/junit/XYIntervalSeriesCollectionTests.java: New file,
    * tests/org/jfree/data/xy/junit/XYIntervalSeriesTests.java: New file,
    * tests/org/jfree/data/xy/junit/XYIntervalTests.java: New file,
    * tests/org/jfree/data/xy/junit/YIntervalDataItemTests.java: New file,
    * tests/org/jfree/data/xy/junit/YIntervalSeriesCollectionTests.java: New file,
    * tests/org/jfree/data/xy/junit/YIntervalSeriesTests.java: New file,
    * tests/org/jfree/data/xy/junit/YIntervalTests.java: New file,
    * tests/org/jfree/data/xy/junit/YWithXIntervalTests.java: New file.

2006-10-17  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/jdbc/JDBCXYDataset.java:
    (getLegendItemCount): Deprecated,
    (getLegendItemLabels): Deprecated.

2006-10-13  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/CrosshairState.java
    (getCrosshairDistance): New method,
    (getAnchor): New method,
    (getAnchorX): New method,
    (setAnchorX): New method,
    (getAnchorY): New method,
    (setAnchorY): New method,
    * source/org/jfree/chart/plot/XYPlot.java
    (draw): Initialise the anchor coordinates.

2006-10-12  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/BoxAndWhiskerRenderer.java:
    (drawHorizontalItem): Check for null box,
    (drawVerticalItem): Likewise,
    * tests/org/jfree/chart/renderer/category/junit/BoxAndWhiskerRendererTests.java
    (testBug1572478Vertical): New method,
    (testBug1572478Horizontal): Likewise.

2006-10-12  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/BoxAndWhiskerRenderer.java:
    Source reformatting and API doc updates.

2006-10-12  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/RingPlot.java
    (sectionDepth): New field,
    (RingPlot(PieDataset)): Initialise sectionDepth field,
    (getSectionDepth): New method,
    (setSectionDepth): Likewise,
    (initialise): New method override to specify three passes,
    (drawItem): Use sectionDepth, draw separators in pass 3,
    (equals): Include sectionDepth in test,
    * tests/org/jfree/chart/plot/junit/RingPlotTests.java
    (testEquals): Updated,
    (testCloning): Likewise,
    (testSerialization): Likewise.

2006-10-12  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/experimental/**:
    Removed, files transferred to a new source directory,
    * experimental/org/jfree/experimental/**:
    Added, see previous item.

2006-10-11  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/StackedAreaRenderer.java
    (renderAsPercentages): New field,
    (StackedAreaRenderer(boolean)): New constructor,
    (getRenderAsPercentages): New method,
    (setRenderAsPercentages): Likewise,
    (getPassCount): New method override,
    (findRangeBounds): Handle renderAsPercentages,
    (drawItem): Add support for renderAsPercentages and item labels,
    (getPreviousHeight): Handle renderAsPercentages,
    (equals): New method override,
    * tests/org/jfree/chart/renderer/category/junit/StackedAreaRendererTests.java
    (testEquals): Updated for renderAsPercentages flag.

2006-10-11  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/AreaRenderer.java
    (equals): New method override,
    * tests/org/jfree/chart/renderer/category/junit/AreaRendererTests.java
    (testEquals): Added new checks.

2006-10-11  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/XYStepRenderer.java
    (drawItem): Fixed step for horizontal orientation.

2006-10-06  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/title/LegendItemBlockContainer.java
    (toolTipText): New field,
    (urlText): Likewise,
    (getToolTipText): New method,
    (setToolTipText): Likewise,
    (getURLText): Likewise,
    (setURLText): Likewise,
    (draw): Add tool tip text and URL text to the legend item entity,
    * source/org/jfree/chart/title/LegendTitle.java
    (createLegendItemBlock): Set the tool tip and URL text in the block.

2006-10-06  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/axis/PeriodAxis.java
    (calendar): New field,
    (PeriodAxis(String, RegularTimePeriod, RegularTimePeriod, TimeZone)):
    Initialize calendar,
    (setTimeZone) Reset calendar,
    (getRange): Replaced deprecated method calls,
    (drawTickMarksHorizontal): Likewise,
    (drawTickLabels): Likewise,
    (valueToJava2D): Likewise,
    (java2DToValue): Likewise,
    * source/org/jfree/data/time/Day.java
    (firstMillisecond): New field,
    (lastMillisecond): New field,
    (Day(int, int, int)): Peg milliseconds to default time zone,
    (Day(SerialDate)): Likewise,
    (Day(Date, TimeZone)): Peg milliseconds to specified milliseconds,
    (getFirstMillisecond): New method override,
    (getLastMillisecond): Likewise,
    (peg): New method,
    * source/org/jfree/data/time/FixedMillisecond.java
    (peg): New method,
    * source/org/jfree/data/time/Hour.java
    (hour): Changed type,
    (firstMillisecond): New field,
    (lastMillisecond): New field,
    (Hour(int, Day)): Peg milliseconds to default time zone,
    (Hour(Date, TimeZone)): Peg milliseconds to specified time zone,
    (getFirstMillisecond): New method override,
    (getLastMillisecond): Likewise,
    (peg): New method,
    * source/org/jfree/data/time/Millisecond.java
    (day): New field,
    (hour): New field,
    (minute): New field, 
    (second): Changed type,
    (firstMillisecond): New field,
    (Millisecond(int, Second)): Reimplemented,
    (Millisecond(Date, TimeZone)): Likewise,
    (getSecond): Likewise,
    (getFirstMillisecond): New method override,
    (getLastMillisecond): Likewise,
    (peg): New method,
    (next): Updated for modified fields,
    (getSerialIndex): Reimplemented,
    (equals): Likewise,
    (hashCode): Updated for new fields,
    (getFirstMillisecond(Calendar)): Reimplemented,
    (getLastMillisecond(Calendar)): Likewise,
    * source/org/jfree/data/time/Minute.java
    (day): New field,
    (hour): Changed type,
    (minute): Likewise,
    (firstMillisecond): New field,
    (lastMillisecond): New field,
    (Minute(int, Hour)): Reimplemented,
    (Minute(Date, TimeZone)): Likewise,
    (getDay): New method,
    (getHour): Reimplemented,
    (getHourValue): New method,
    (getFirstMillisecond): New method override,
    (getLastMillisecond): Likewise,
    (peg): New method,
    (previous): Updated for changed field types,
    (next): Likewise,
    (getSerialIndex): Reimplemented,
    (getFirstMillisecond(Calendar)): Updated for changed field types,
    (getLastMillisecond(Calendar)): Likewise,
    (equals): Likewise,
    (hashCode): Likewise,
    * source/org/jfree/data/time/Month.java
    (year): Changed type,
    (firstMillisecond): New field,
    (lastMillisecond): New field,
    (Month(int, int)): Reimplemented,
    (Month(int, Year)): Likewise,
    (Month(Date, TimeZone)): Likewise,
    (getYear): Updated for changed field type,
    (getYearValue): Likewise,
    (getFirstMillisecond): New method override,
    (getLastMillisecond): Likewise,
    (peg): New method,
    (previous): Updated for changed field types,
    (next): Likewise,
    (getSerialIndex): Likewise,
    (equals): Likewise,
    (hashCode): Likewise,
    (compareTo): Likewise,
    (getFirstMillisecond(Calendar)): Reimplemented,
    (getLastMillisecond(Calendar)): Likewise,
    * source/org/jfree/data/time/Quarter.java
    (year): Changed type,
    (quarter): Likewise,
    (firstMillisecond): New field,
    (lastMillisecond): New field,
    (Quarter(int, int)): Reimplemented,
    (Quarter(int, Year)): Likewise,
    (Quarter(Date, TimeZone)): Likewise,
    (getYear): Reimplemented,
    (getYearValue): New method,
    (getFirstMillisecond): New method override,
    (getLastMillisecond): Likewise,
    (peg): New method,
    (previous): Updated for changed field types,
    (next): Likewise,
    (getSerialIndex): Likewise,
    (equals): Likewise,
    (hashCode): Likewise,
    (compareTo): Likewise,
    (getFirstMillisecond(Calendar)): Reimplemented,
    (getLastMillisecond(Calendar)): Likewise,
    * source/org/jfree/data/time/RegularTimePeriod.java
    (WORKING_CALENDAR): Deprecated,
    (peg): New method,
    (getFirstMillisecond()): Made abstract,
    (getFirstMillisecond(TimeZone)): Deprecated,
    (getLastMillisecond()): Made abstract,
    (getLastMillisecond(TimeZone)): Deprecated,
    (getMiddleMillisecond(TimeZone)): Likewise,
    * source/org/jfree/data/time/Second.java
    (day): New field,
    (hour): New field,
    (minute): Changed type,
    (second): Changed type,
    (firstMillisecond): New field,
    (Second(int, Minute)): Reimplemented,
    (Second(Date, TimeZone)): Reimplemented,
    (getMinute): Updated for field type changes,
    (getFirstMillisecond): New method override,
    (getLastMillisecond): Likewise,
    (peg): New method,
    (previous): Updated for changed field types,
    (next): Likewise,
    (getSerialIndex): Likewise,
    (getFirstMillisecond(Calendar)): Reimplemented,
    (getLastMillisecond(Calendar)): Likewise,
    (equals): Likewise,
    (hashCode): Likewise,
    (compareTo): Updated for field type changes,
    * source/org/jfree/data/time/Week.java
    (year): Changed type,
    (week): Likewise,
    (firstMillisecond): New field,
    (lastMillisecond): New field,
    (Week(int, int)): Reimplemented,
    (Week(int, Year)): Likewise,
    (Week(Date, TimeZone)): Likewise,
    (getYear): Updated for field type changes,
    (getYearValue): Likewise,
    (getFirstMillisecond): New method override,
    (getLastMillisecond): Likewise,
    (peg): New method,
    (previous): Updated for changed field types,
    (next): Likewise,
    (getSerialIndex): Likewise,
    (getFirstMillisecond(Calendar)): Reimplemented,
    (getLastMillisecond(Calendar)): Likewise,
    (equals): Likewise,
    (hashCode): Likewise,
    (compareTo): Updated for field type changes,
    * source/org/jfree/data/time/Year.java
    (year): Changed field type,
    (firstMillisecond): New field,
    (lastMillisecond): New field,
    (Year(int)): Peg to default time zone,
    (Year(Date, TimeZone)): Peg to specified time zone,
    (getFirstMillisecond): New method override,
    (getLastMillisecond): Likewise,
    (peg): New method,
    (getFirstMillisecond(Calendar)): Reimplemented,
    (getLastMillisecond(Calendar)): Likewise.

2006-10-06  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/xy/DefaultXYZDataset.java: Fixed API doc 
    warnings.

2006-10-05  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/time/Day.java: API doc updates,
    * source/org/jfree/data/time/Hour.java: Likewise,
    * source/org/jfree/data/time/Millisecond.java: Likewise,
    * source/org/jfree/data/time/Minute.java: Likewise,
    * source/org/jfree/data/time/Month.java: Likewise,
    * source/org/jfree/data/time/Quarter.java: Likewise,
    * source/org/jfree/data/time/Second.java: Likewise,
    * source/org/jfree/data/time/Week.java: Likewise,
    * source/org/jfree/data/time/Year.java: Likewise.

2006-10-05  David Gilbert  <david.gilbert@object-refinery.com>

    * tests/org/jfree/data/time/junit/MillisecondTests.java
    (testGetFirstMillisecond): New test,
    (testGetFirstMillisecondWithTimeZone): Likewise,
    (testGetFirstMillisecondWithCalendar): Likewise,
    (testGetLastMillisecond): Likewise,
    (testGetLastMillisecondWithTimeZone): Likewise,
    (testGetLastMillisecondWithCalendar): Likewise,
    (testGetSerialIndex): Likewise,
    (testNext): Likewise,
    (testGetStart): Likewise,
    (testGetEnd): Likewise.

2006-10-05  David Gilbert  <david.gilbert@object-refinery.com>

    * tests/org/jfree/data/time/junit/SecondTests.java
    (testGetFirstMillisecond): New test,
    (testGetFirstMillisecondWithTimeZone): Likewise,
    (testGetFirstMillisecondWithCalendar): Likewise,
    (testGetLastMillisecond): Likewise,
    (testGetLastMillisecondWithTimeZone): Likewise,
    (testGetLastMillisecondWithCalendar): Likewise,
    (testGetSerialIndex): Likewise,
    (testNext): Likewise,
    (testGetStart): Likewise,
    (testGetEnd): Likewise.

2006-10-05  David Gilbert  <david.gilbert@object-refinery.com>

    * tests/org/jfree/data/time/junit/MinuteTests.java
    (testGetFirstMillisecond): New test,
    (testGetFirstMillisecondWithTimeZone): Likewise,
    (testGetFirstMillisecondWithCalendar): Likewise,
    (testGetLastMillisecond): Likewise,
    (testGetLastMillisecondWithTimeZone): Likewise,
    (testGetLastMillisecondWithCalendar): Likewise,
    (testGetSerialIndex): Likewise,
    (testNext): Likewise,
    (testGetStart): Likewise,
    (testGetEnd): Likewise.

2006-10-05  David Gilbert  <david.gilbert@object-refinery.com>

    * tests/org/jfree/data/time/junit/HourTests.java
    (testGetFirstMillisecond): New test,
    (testGetFirstMillisecondWithTimeZone): Likewise,
    (testGetFirstMillisecondWithCalendar): Likewise,
    (testGetLastMillisecond): Likewise,
    (testGetLastMillisecondWithTimeZone): Likewise,
    (testGetLastMillisecondWithCalendar): Likewise,
    (testGetSerialIndex): Likewise,
    (testNext): Likewise,
    (testGetStart): Likewise,
    (testGetEnd): Likewise.

2006-10-05  David Gilbert  <david.gilbert@object-refinery.com>

    * tests/org/jfree/data/time/junit/DayTests.java
    (testGetFirstMillisecond): New test,
    (testGetFirstMillisecondWithTimeZone): Likewise,
    (testGetFirstMillisecondWithCalendar): Likewise,
    (testGetLastMillisecond): Likewise,
    (testGetLastMillisecondWithTimeZone): Likewise,
    (testGetLastMillisecondWithCalendar): Likewise,
    (testNext): Likewise,
    (testGetStart): Likewise,
    (testGetEnd): Likewise.

2006-10-05  David Gilbert  <david.gilbert@object-refinery.com>

    * tests/org/jfree/data/time/junit/WeekTests.java
    (testGetFirstMillisecond): New test,
    (testGetFirstMillisecondWithTimeZone): Likewise,
    (testGetFirstMillisecondWithCalendar): Likewise,
    (testGetLastMillisecond): Likewise,
    (testGetLastMillisecondWithTimeZone): Likewise,
    (testGetLastMillisecondWithCalendar): Likewise,
    (testGetSerialIndex): Likewise,
    (testNext): Likewise,
    (testGetStart): Likewise,
    (testGetEnd): Likewise.

2006-10-05  David Gilbert  <david.gilbert@object-refinery.com>

    * tests/org/jfree/data/time/junit/MonthTests.java
    (testGetFirstMillisecond): New test,
    (testGetFirstMillisecondWithTimeZone): Likewise,
    (testGetFirstMillisecondWithCalendar): Likewise,
    (testGetLastMillisecond): Likewise,
    (testGetLastMillisecondWithTimeZone): Likewise,
    (testGetLastMillisecondWithCalendar): Likewise,
    (testGetSerialIndex): Likewise,
    (testNext): Likewise,
    (testGetStart): Likewise,
    (testGetEnd): Likewise.

2006-10-05  David Gilbert  <david.gilbert@object-refinery.com>

    * tests/org/jfree/data/time/junit/QuarterTests.java
    (testGetFirstMillisecond): New test,
    (testGetFirstMillisecondWithTimeZone): Likewise,
    (testGetFirstMillisecondWithCalendar): Likewise,
    (testGetLastMillisecond): Likewise,
    (testGetLastMillisecondWithTimeZone): Likewise,
    (testGetLastMillisecondWithCalendar): Likewise,
    (testGetSerialIndex): Likewise,
    (testNext): Likewise,
    (testGetStart): Likewise,
    (testGetEnd): Likewise.

2006-10-05  David Gilbert  <david.gilbert@object-refinery.com>

    * tests/org/jfree/data/time/junit/YearTests.java
    (testGetFirstMillisecond): New test,
    (testGetFirstMillisecondWithTimeZone): Likewise,
    (testGetFirstMillisecondWithCalendar): Likewise,
    (testGetLastMillisecond): Likewise,
    (testGetLastMillisecondWithTimeZone): Likewise,
    (testGetLastMillisecondWithCalendar): Likewise,
    (testGetSerialIndex): Likewise,
    (testNext): Likewise,
    (testGetStart): Likewise,
    (testGetEnd): Likewise.

2006-10-05  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/xy/DefaultXYDataset.java: Fixed API doc 
    warnings.

2006-10-03  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/annotations/CategoryPointerAnnotation.java:
    Fixed Javadoc warnings,
    * source/org/jfree/chart/entity/CategoryLabelEntity.java: Likewise,
    * source/org/jfree/chart/event/MarkerChangeListener.java: Likewise,
    * source/org/jfree/chart/plot/PiePlot.java: Likewise.

2006-10-03  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/PiePlot.java
    (getSectionKey): Replace call to JRE 1.5 method.

2006-10-03  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/time/DayTests.java
    (testGetSerialIndex): New method.

2006-10-03  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/time/TimePeriodValue.java
    (TimePeriodValue(TimePeriod, Number)): Added null argument check,
    (clone): Print stack trace in event of exception,
    * source/org/jfree/data/time/TimePeriodValues.java
    (add(TimePeriodValue)): Fire series change event,
    (equals): Guard against null pointer exceptions,
    * source/org/jfree/data/time/TimePeriodValuesCollection.java
    (getDomainIsPointsInTime): Deprecated,
    (setDomainIsPointsInTime): Likewise,
    * source/org/jfree/data/time/junit/TimePeriodValuesCollectionTests.java:
    (testEquals): Check for domain and range description fields,
    (testAdd): New method,
    (MySeriesChangeListener): New test support class.

2006-10-02  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/annotations/CategoryPointerAnnotation.java:
    New file,
    * source/org/jfree/chart/annotations/XYPointerAnnotation.java
    (setArrowPaint): Check for null argument,
    * source/org/jfree/chart/annotations/junit/AnnotationsPackageTests.java
    (suite): Added CategoryPointerAnnotationTests,
    * source/org/jfree/chart/annotations/junit/CategoryPointerAnnotationTests.java: 
    New file.

2006-10-02  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/axis/CategoryAxis.java
    (drawCategoryLabels): Updated label entity generation,
    * source/org/jfree/chart/entity/CategoryLabelEntity.java: New class.

2006-09-28  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/axis/CategoryAxis.java
    (draw): Replaced call to deprecated method.

2006-09-28  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/general/DefaultPieDataset.java
    (sortByKeys): New method,
    (sortByValues): New method.

2006-09-27  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/ChartFactory.java
    (createPieChart): Updated for deprecated code,
    * source/org/jfree/chart/PaintMap.java: New class,
    * source/org/jfree/chart/StrokeMap.java: Likewise,
    * source/org/jfree/chart/junit/PaintMapTests.java: Likewise,
    * source/org/jfree/chart/junit/StrokeMapTests.java: Likewise,
    * source/org/jfree/chart/plot/MultiplePiePlot.java
    (draw): Updated for deprecated code,
    * source/org/jfree/chart/plot/PiePlot.java
    (sectionPaintMap): Changed name and type from PaintList to PaintMap,
    (sectionOutlinePaintMap): Likewise,
    (sectionOutlineStrokeMap): Likewise,
    (explodePercentages): Changed type from ObjectList to Map,
    (PiePlot(PieDataset)): Update initialisation for field name changes,
    (lookupSectionPaint): Changed argument type,
    (getSectionKey): New method,
    (getSectionPaint(Comparable)): Likewise,
    (setSectionPaint(Comparable, Paint)): Likewise,
    (getSectionPaint(int)): Deprecated,
    (setSectionPaint(int, Paint)): Likewise,
    (lookupSectionOutlinePaint): Changed argument type,
    (getSectionOutlinePaint(Comparable)): Likewise,
    (setSectionOutlinePaint(Comparable, Paint)): Likewise,
    (getSectionOutlinePaint(int)): Deprecated,
    (setSectionOutlinePaint(int, Paint)): Likewise,
    (lookupSectionOutlineStroke): Changed argument type,
    (getSectionOutlineStroke(Comparable)): Likewise,
    (setSectionOutlineStroke(Comparable, Stroke)): Likewise,
    (getSectionOutlineStroke(int)): Deprecated,
    (setSectionOutlineStroke(int, Stroke)): Likewise,
    (getExplodePercent(Comparable)): New method,
    (setExplodePercent(Comparable, double)): Likewise,
    (getExplodePercent(int)): Deprecated,
    (setExplodePercent(int, double)): Deprecated,
    (getMaximumExplodePercent): Modified to only check visible sections,
    (drawItem): Updated for deprecated code,
    (getLegendItems): Likewise,
    (equals): Updated for renamed fields,
    * source/org/jfree/chart/plot/PiePlot3D.java
    (draw): Updated for deprecated code,
    * source/org/jfree/chart/plot/RingPlot.java
    (drawItem): Likewise.

2006-09-27  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/PiePlot.java
    (PiePlot(PieDataset)): Initialise baseSectionPaint to a non-null value,
    (lookupSectionPaint(int)): New method,
    (lookupSectionPaint(int, boolean)): Likewise,
    (getSectionPaint(int)): Reimplemented without lookup,
    (lookupSectionOutlinePaint(int)): New method,
    (lookupSectionOutlinePaint(int, boolean)): Likewise,
    (getSectionOutlinePaint(int)): Reimplemented without lookup,
    (lookupSectionOutlineStroke(int)): New method,
    (lookupSectionOutlineStroke(int, boolean)): Likewise,
    (getSectionOutlineStroke(int)): Reimplemented without lookup,
    (drawItem): Use new lookup methods,
    (getLegendItems): Likewise,
    * source/org/jfree/chart/plot/PiePlot3D.java
    (draw): Use new lookup methods,
    * source/org/jfree/chart/plot/RingPlot.java
    (drawItem): Use new lookup methods,
    * source/org/jfree/chart/plot/junit/PiePlotTests.java
    (testGetBaseSectionPaint): New method.

2006-09-25  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/axis/DateAxis.java
    (previousStandardDate): Handle tick mark position properly,
    * source/org/jfree/chart/axis/junit/DateAxisTests.java
    (MyDateAxis): New class,
    (testPreviousStandardDateYear): New method,
    (testPreviousStandardDateMonth): New method,
    (testPreviousStandardDateDay): New method,
    (testPreviousStandardDateHour): New method,
    (testPreviousStandardDateMinute): New method.

2006-09-25  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/StatisticalLineAndShapeRenderer.java:
    (StatisticalLineAndShapeRenderer(boolean, boolean)): Use arguments,
    * source/org/jfree/chart/renderer/category/junit/StatisticalLineAndShapeRendererTests.java:
    (test1562759): New method.

2006-09-21  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/XYBubbleRenderer.java
    (drawItem): Don't use hard-coded outline paint and stroke.

2006-09-13  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/servlet/ServletUtilities.java
    (sendTempFile(File, HttpServletResponse, String)): Specify English 
    locale for response header date format.

2006-09-13  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/ChartPanel.java
    (mouseClicked): Return early if chart is null,
    (mouseMoved): Check for null chart.

2006-09-13  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/CombinedDomainCategoryPlot.java:
    Updated API docs and reformatted some source code,
    * source/org/jfree/chart/plot/CombinedDomainXYPlot.java: Likewise,
    * source/org/jfree/chart/plot/CombinedRangeCategoryPlot.java: Likewise,
    * source/org/jfree/chart/plot/CombinedRangeXYPlot.java: Likewise,
    * source/org/jfree/chart/plot/XYPlot.java: Likewise.

2006-09-07  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/statistics/HistogramDataset.java
    (addSeries): Check for binIndex that is too large,
    * source/org/jfree/data/statistics/junit/HistogramDatasetTests.java
    (test1553088): New method.

2006-09-05  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/event/MarkerChangeEvent.java: New file,
    * source/org/jfree/chart/event/MarkerChangeListener.java: New file,
    * source/org/jfree/chart/plot/CategoryMarker.java
    (setKey): New method,
    (setDrawAsLine): Notify listeners,
    * source/org/jfree/chart/plot/CategoryPlot.java
    (addDomainMarker): Register plot as a listener with the new marker,
    (clearDomainMarkers()): Deregister plot as a listener with each marker,
    (clearDomainMarkers(int)): Likewise,
    (addRangeMarker): Register plot as a listener with the new marker,
    (clearRangeMarkers()): Deregister plot as a listener with each marker,
    (clearRangeMarkers(int)): Likewise,
    * source/org/jfree/chart/plot/IntervalMarker.java
    (setStartValue): New method,
    (setEndValue): New method,
    (setGradientPaintTransformer): Notify listeners,
    * source/org/jfree/chart/plot/Marker.java
    (listeners): New field,
    (Marker): Initialise listeners field,
    (setPaint): Notify listeners,
    (setStroke): Likewise,
    (setOutlinePaint): Likewise,
    (setOutlineStroke): Likewise,
    (setAlpha): Likewise,
    (setLabel): Likewise,
    (setLabelFont): Likewise,
    (setLabelPaint): Likewise,
    (setLabelAnchor): Likewise,
    (setLabelOffset): Likewise,
    (setLabelOffsetType): Likewise,
    (setLabelTextAnchor): Likewise,
    (addChangeListener): New method,
    (removeChangeListener): New method,
    (notifyListeners): New method,
    (getListeners): New method,
    * source/org/jfree/chart/plot/Plot.java
    (markerChanged): New method,
    * source/org/jfree/chart/plot/ValueMarker.java
    (setValue): New method,
    * source/org/jfree/chart/plot/XYPlot.java
    (addDomainMarker): Register plot as a listener with the new marker,
    (clearDomainMarkers()): Deregister plot as a listener with each marker,
    (clearDomainMarkers(int)): Likewise,
    (addRangeMarker): Register plot as a listener with the new marker,
    (clearRangeMarkers()): Deregister plot as a listener with each marker,
    (clearRangeMarkers(int)): Likewise,
    * source/org/jfree/chart/plot/junit/CategoryMarkerTests.java:
    (lastEvent): New field,
    (markerChanged): New method,
    (testGetSetKey): Likewise,
    (testGetSetDrawAsLine): Likewise,
    * source/org/jfree/chart/plot/junit/IntervalMarkerTests.java:
    (lastEvent): New field,
    (markerChanged): New method,
    (testGetSetStartValue): New method,
    (testGetSetEndValue): New method,
    * source/org/jfree/chart/plot/junit/MarkerTests.java: New file,
    * source/org/jfree/chart/plot/junit/PlotPackageTests.java
    (suite): Added MarkerTests.class,
    * source/org/jfree/chart/plot/junit/ValueMarkerTests.java:
    (lastEvent): New field,
    (markerChanged): New method,
    (testGetSetValue): Likewise.

2006-09-04  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/ChartPanel.java
    (actionPerformed): Updated for method name change, 
    (attemptEditChartProperties): Renamed doEditChartProperties() and
    made public.

2006-09-04  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/axis/NumberAxis.java
    (autoAdjustRange): Check for lower == upper after applying auto range
    minimum size and adjust if necessary.
    
2006-09-01  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/time/TimeSeries.java
    (removeAgedItems(boolean)): Check for greater than maxItemAge,
    (removeAgedItems(long, boolean): Reimplemented,
    * source/org/jfree/data/time/junit/TimeSeriesTests.java
    (testRemoveAgedItems): New method,
    (testRemoveAgedItems2): New method.

2006-08-29  Henry Proudhon  <henry.proudhon AT insa-lyon.fr>

    * source/org/jfree/experiment/swt/SWTUtils.java
    (Az): New field,
    (toSwtFontData): Refined font size calculation,
    (toAwtFont): Likewise.

----------  JFREECHART 1.0.2 RELEASED ------------------------

2006-08-25  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/JFreeChart.java
    (JFreeChartInfo.getLogo): Load image from jar file in a way that works 
    for Java Web Start also.

2006-08-25  David Gilbert  <david.gilbert@object-refinery.com>

    * README.txt: Provide link to iText,
    * ant/build.xml: Restore 'compile-experimental' to 'all', but exclude
    SWT classes.

2006-08-25  David Gilbert  <david.gilbert@object-refinery.com>

    * NEWS: Updated for release,
    * README.txt: Likewise,
    * ant/build.xml: Removed 'compile-experimental' from 'all'.

2006-08-24  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/experimental/chart/axis/LogAxis.java: New file,
    * source/org/jfree/experimental/chart/demo/LogAxisDemo1.java: New file.

2006-08-24  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/experimental/chart/swt/editor/SWTAxisEditor.java: 
    Made package private,
    * source/org/jfree/experimental/chart/swt/editor/SWTNumberAxisEditor.java: 
    Likewise,
    * source/org/jfree/experimental/chart/swt/editor/SWTOtherEditor.java: 
    Likewise,
    * source/org/jfree/experimental/chart/swt/editor/SWTPlotAppearanceEditor.java: 
    Likewise,
    * source/org/jfree/experimental/chart/swt/editor/SWTPlotEditor.java: 
    Likewise,
    * source/org/jfree/experimental/chart/swt/editor/SWTStrokeCanvas.java: 
    Likewise,
    * source/org/jfree/experimental/chart/swt/editor/SWTTitleEditor.java: Likewise.

2006-08-24  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/experimental/chart/swt/ChartComposite.java
    (attemptEditChartProperties): Implemented,
    * source/org/jfree/experimental/chart/swt/editor/SWTAxisEditor.java: 
    New file,
    * source/org/jfree/experimental/chart/swt/editor/SWTChartEditor.java: 
    New file,
    * source/org/jfree/experimental/chart/swt/editor/SWTNumberAxisEditor.java: 
    New file,
    * source/org/jfree/experimental/chart/swt/editor/SWTOtherEditor.java: 
    New file,
    * source/org/jfree/experimental/chart/swt/editor/SWTPlotAppearanceEditor.java: 
    New file,
    * source/org/jfree/experimental/chart/swt/editor/SWTPlotEditor.java: 
    New file,
    * source/org/jfree/experimental/chart/swt/editor/SWTStrokeCanvas.java: 
    New file,
    * source/org/jfree/experimental/chart/swt/editor/SWTTitleEditor.java: 
    New file,
    * source/org/jfree/experimental/swt/SWTPaintCanvas.java: New file.

2006-08-24  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/XYBarRenderer.java
    (drawItem): Added crosshair support, and modified dataset calls to
    use only double primitives.

2006-08-24  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/experimental/chart/demo/XYBlockChartDemo2.java
    (createDataset): Rewritten to fix compile errors,
    * source/org/jfree/experimental/chart/demo/XYBlockChartDemo3.java
    (setValue): New method,
    (createDataset): Rewritten to fix compile errors.

2006-08-23  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/experimental/chart/swt/ChartComposite.java: 
    New file,
    * source/org/jfree/experimental/chart/swt/demo/SWTBarChartDemo1.java:
    New file,
    * source/org/jfree/experimental/chart/swt/demo/SWTMultipleAxisDemo1.java:
    New file,
    * source/org/jfree/experimental/chart/swt/demo/SWTPieChartDemo1.java:
    New file,
    * source/org/jfree/experimental/swt/SWTGraphics2D.java: New file,
    * source/org/jfree/experimental/swt/SWTUtils.java: New file.

2006-08-23  David Gilbert  <david.gilbert@object-refinery.com>

    * ant/build.xml: Added 'compile-experimental' target,
    * source/org/jfree/experimental/chart/demo/XYBlockChartDemo1.java: 
    New file,
    * source/org/jfree/experimental/chart/demo/XYBlockChartDemo2.java: 
    New file,
    * source/org/jfree/experimental/chart/demo/XYBlockChartDemo3.java: 
    New file,
    * source/org/jfree/experimental/chart/renderer/GrayPaintScale.java:
    New file,
    * source/org/jfree/experimental/chart/renderer/LookupPaintScale.java:
    New file,
    * source/org/jfree/experimental/chart/renderer/PaintScale.java:
    New file,
    * source/org/jfree/experimental/chart/renderer/junit/GrayPaintScaleTests.java:
    New file,
    * source/org/jfree/experimental/chart/renderer/junit/LookupPaintScaleTests.java:
    New file,
    * source/org/jfree/experimental/chart/renderer/xy/XYBlockRenderer.java: 
    New file,
    * source/org/jfree/experimental/chart/renderer/xy/junit/XYBlockRendererTests.java: 
    New file.

2006-08-23  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/CombinedDomainXYPlot.java
    (setFixedRangeAxisSpace): New method override.

2006-08-23  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/ChartFactory.java
    (createStackedXYAreaChart): Use StackedXYAreaRenderer2 instead of
    StackedXYAreaRenderer, for better handling of negative values,
    * source/org/jfree/chart/renderer/xy/StackedXYAreaRenderer.java:
    Updated API docs.

2006-08-22  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/StackedXYAreaRenderer2.java
    (findRangeBounds): Handle null and empty datasets correctly,
    * source/org/jfree/chart/renderer/xy/junit/StackedXYAreaRenderer2Tests.java:
    (testDrawWithEmptyDataset): New test,
    (testFindRangeBounds): Added checks for null and empty datasets.

2006-08-18  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/axis/CategoryAxis.java
    (drawCategoryLabels(Graphics2D, Rectangle2D, RectangleEdge, AxisState, 
    PlotRenderingInfo)): Deprecated,
    (drawCategoryLabels(Graphics2D, Rectangle2D, Rectangle2D, 
    RectangleEdge, AxisState, PlotRenderingInfo)): New method,
    * source/org/jfree/chart/axis/CategoryAxis3D.java
    (draw): Call new drawCategoryLabels() method,
    * source/org/jfree/chart/axis/SubCategoryAxis.java
    (draw): Likewise,
    * source/org/jfree/chart/plot/CategoryPlot.java
    (getDatasetCount): New method.

2006-08-18  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/LayeredBarRenderer.java
    (calculateBarWidth): Respect maximumBarWidth setting.

2006-08-17  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/junit/CandlestickRendererTests.java
    (testFindRangeBounds): New method,
    * source/org/jfree/chart/renderer/xy/junit/HighLowRendererTests.java
    (testFindRangeBounds): New method.

2006-08-17  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/CandlestickRenderer.java
    (equals): Check additional fields,
    * source/org/jfree/chart/renderer/xy/junit/CandlestickRendererTests.java
    (testEquals): Extended to check all fields.

2006-08-04  David Gilbert  <david.gilbert@object-refinery.com>

    * ant/build.xml: Added source="1.3" target="1.3" to compile.

2006-08-04  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/BarRenderer.java
    (calculateBarL0L1}: Changed clipping slightly.

2006-08-04  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/DefaultPolarItemRenderer.java
    (clone): New method,
    (equals): Likewise,
    * source/org/jfree/chart/renderer/junit/DefaultPolarItemRendererTests.java:
    New test class,
    * source/org/jfree/chart/renderer/junit/RendererPackageTests.java
    (suite): Added DefaultPolarItemRendererTests.

2006-08-04  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/block/AbstractBlock.java
    (getContentXOffset): Added API docs,
    (getContentYOffset): Likewise.

2006-08-04  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/annotation/CategoryLineAnnotation.java
    (CategoryLineAnnotation): Fixed API doc warnings.

2006-08-03  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/xy/XYBarDataset.java: API doc updates,
    * source/org/jfree/data/xy/XYDataset.java: Likewise,
    * source/org/jfree/data/xy/XYSeriesCollection.java: Likewise.

2006-08-03  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/category/junit/CategoryToPieDatasetTests.java
    (testGetIndex): New test method.

2006-08-03  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/statistics/DefaultStatisticalCategoryDataset.java
    (getRangeBounds): Minor fix to previous patch.

2006-08-03  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/statistics/DefaultStatisticalCategoryDataset.java
    (minimumRangeValueIncStdDev): New field,
    (maximumRangeValueIncStdDev): Likewise,
    (DefaultStatisticalCategoryDataset): Updated initialization code,
    (add): Modified code to update ranges, 
    (getRangeBounds): Create the range as required,
    * source/org/jfree/data/statistics/junit/DefaultStatisticalCategoryDatasetTests.java
    (testGetRangeBounds): New test method.

2006-08-03  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/statistics/HistogramDataset.java
    (addSeries): Improved precision of bin boundary calculation,
    * source/org/jfree/data/statistics/junit/HistogramDatasetTests.java
    (testAddSeries): New method,
    (testBinBoundaries): New method.

2006-08-03  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/statistics/HistogramDataset.java: 
    API doc updates.

2006-08-02  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/annotations/XYBoxAnnotation.java: API doc
    correction and source code reformatting.

2006-08-02  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/needle/ArrowNeedle.java: Minor API doc 
    updates,
    * source/org/jfree/chart/needle/LineNeedle.java: Likewise,
    * source/org/jfree/chart/needle/LongNeedle.java: Likewise,
    * source/org/jfree/chart/needle/MiddlePinNeedle.java: Likewise,
    * source/org/jfree/chart/needle/PinNeedle.java: Likewise,
    * source/org/jfree/chart/needle/PlumNeedle.java: Likewise,
    * source/org/jfree/chart/needle/PointerNeedle.java: Likewise,
    * source/org/jfree/chart/needle/ShipNeedle.java: Likewise,
    * source/org/jfree/chart/needle/WindNeedle.java: Likewise.

2006-08-01  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/SpiderWebPlot.java
    (equals): Handle null tool tip and URL generators,
    * source/org/jfree/chart/plot/junit/SpiderWebPlot.java
    (testEquals): Extended to check tooltip and URL generators.

2006-08-01  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/DrawableLegendItem.java: Deprecated class.

2006-08-01  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/ChartPanel.java
    (restoreAutoRangeBounds): Check for instance of Zoomable rather than
    ValueAxisPlot.

2006-08-01  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/DefaultDrawingSupplier.java: Reformatted
    and updated API docs.

2006-08-01  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/DefaultKeyedValues.java
    (getIndex): Check for null argument,
    * source/org/jfree/data/general/DefaultPieDataset.java
    (getKey(int)): Throw IndexOutOfBounds if key exceeds getItemCount() 
    - 1,
    * source/org/jfree/data/general/junit/DefaultPieDatasetTests.java
    (testGetKey): New method,
    (testGetIndex): New method,
    * source/org/jfree/data/junit/DefaultKeyedValuesTests.java
    (testGetIndex): Added check for null argument.

2006-07-31  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/DefaultKeyedValues.java
    (clear): New method,
    * source/org/jfree/data/general/DefaultPieDataset.java
    (clear): Likewise,
    * source/org/jfree/data/general/junit/DefaultPieDatasetTests.java
    (lastEvent): New field,
    (datasetChanged): New method,
    (testClear): New method,
    * source/org/jfree/data/junit/DefaultKeyedValuesTests.java
    (testClear): New method.

2006-07-27  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/xy/XYSeries.java
    (add(Number, Number, boolean)): Removed redundant argument check.
    
2006-07-26  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/axis/junit/NumberAxisTests.java
    (testAutoRange4): New method.

2006-07-26  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/category/CategoryToPieDataset.java
    (serialVersionUID): New field,
    (CategoryToPieDataset): Handle null source,
    (getUnderlyingDataset): New method,
    (getExtractType): New method,
    (getExtractIndex): New method,
    (getValue): Check index bounds,
    (getKey): Check index bounds,
    (getIndex): Handle null source,
    (getKeys): Likewise,
    (getValue): Handle unrecognised key,
    (equals): New method override,
    * source/org/jfree/data/category/junit/CategoryToPieDatasetTests.java:
    New file,
    * source/org/jfree/data/category/junit/DataCategoryPackageTests.java
    (suite): Added new test.

2006-07-25  David Gilbert  <david.gilbert@object-refinery.com>

    * ant/build.xml: Use JCommon 1.0.5,
    * source/org/jfree/chart/axis/DateAxis.java: Fixed API doc warning,
    * source/org/jfree/chart/labels/StandardCategoryItemLabelGenerator.java:
    Likewise,
    * source/org/jfree/chart/renderer/xy/XYBarRenderer.java: Likewise,
    * source/org/jfree/data/general/Series.java: Likewise,
    * source/org/jfree/data/time/TimeSeries.java: Likewise.

2006-07-25  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/resources/JFreeChartResources.java
    (CONTENTS): Updated version number,
    * source/overview.html: Updated link,
    * ant/build.xml: Updated version number.

2006-07-25  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/demo/TimeSeriesDemo1.java
    (createDataset): Removed call to deprecated method.

2006-07-20  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/LegendItem.java
    (datasetIndex): New field,
    (series): Likewise,
    (getDatasetIndex): New method,
    (setDatasetIndex): Likewise,
    (getSeriesIndex): Likewise,
    (setSeriesIndex): Likewise,
    (equals): Updated for new fields,
    * source/org/jfree/chart/block/BlockContainer.java
    (draw): Transform drawing area directly,
    * source/org/jfree/chart/block/CenterArrangement.java
    (arrangeNN): Set bounds for contained block,
    * source/org/jfree/chart/block/LabelBlock.java
    (arrange): Removed unused code,
    (draw): Correct entity area calculation,
    * source/org/jfree/chart/renderer/category/AbstractCategoryItemRenderer.java
    (getLegendItem): Set dataset and series indices,
    * source/org/jfree/chart/renderer/xy/AbstractXYItemRenderer.java
    (getLegendItem): Likewise,
    * source/org/jfree/chart/renderer/xy/XYLineAndShapeRenderer.java
    (getLegendItem): Likewise,
    * source/org/jfree/chart/title/LegendItemBlockContainer.java: New file,
    * source/org/jfree/chart/title/LegendTitle.java
    (createLegendItemBlock): Use new LegendItemBlockContainer class.

2006-07-20  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/encoders/SunJPEGEncoderAdapter.java
    (quality): Changed default to 0.95f,
    (setQuality): Added argument check,
    (encode(BufferedImage, OutputStream)): Set quality before writing
    image to output stream.

2006-07-12  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/annotations/XYPointerAnnotation.java
    (draw): Swap coordinates for PlotOrientation.HORIZONTAL.

2006-07-12  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/StatisticalBarRenderer.java
    (drawHorizontalItem): Added item label drawing,
    (drawVerticalItem): Likewise.

2006-07-12  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/xy/DefaultWindDataset.java
    (DefaultWindDataset(List, Object[][][]): Added argument checks,
    (getItemCount): Likewise,
    (getSeriesKey): Likewise,
    (equals): New method override,
    (WindDataItem): Implements Serializable,
    (WindDateItem.equals): New method override,
    * source/org/jfree/data/xy/WindDataset.java: API doc updates,
    * source/org/jfree/data/xy/junit/DataXYPackageTests.java
    (suite): Added DefaultWindDatasetTests,
    * source/org/jfree/data/xy/junit/DefaultWindDatasetTests.java:
    New file.
    
2006-07-12  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/xy/DefaultXYZDataset.java: New file,
    * source/org/jfree/data/xy/junit/DataXYPackageTests.java
    (suite): Add new test class,
    * source/org/jfree/data/xy/junit/DefaultXYZDatasetTests.java: New file.

2006-07-10  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/XYDotRenderer.java
    (dotWidth): New field,
    (dotHeight): New field,
    (XYDotRenderer): Initialize new fields,
    (getDotWidth): New method,
    (setDotWidth): Likewise,
    (getDotHeight): New method,
    (setDotHeight): New method,
    (drawItem): Use variable dot size,
    (equals): Check new field values,
    * source/org/jfree/chart/renderer/xy/junit/XYDotRendererTests.java
    (testEquals): Extended test to cover new fields,
    (testHashCode): Likewise.

2006-07-10  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/annotations/XYPolygonAnnotation.java
    (XYPolygonAnnotation(double[], Stroke, Paint, Paint)): Added argument
    checks, and cloned incoming array,
    (getPolygonCoordinates): New method,
    (getFillPaint): New method,
    (getOutlinePaint): New method,
    (getOutlineStroke): New method,
    (draw): Return if the polygon has less than two vertices,
    (equals): Fixed bug with GradientPaint,
    (hashCode): Implemented,
    (hashCodeForPaint): New utility method,
    (hashCodeForDoubleArray): Likewise,
    * source/org/jfree/chart/annotations/junit/AnnotationsPackageTests.java:
    (suite): Added XYPolygonAnnotationTests,
    * source/org/jfree/chart/annotations/junit/XYPolygonAnnotationTest.java:
    New file.

2006-07-10  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/XYLineAndShapeRenderer.java:
    Source reformatting.

2006-07-06  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/general/AbstractSeriesDataset.java: API doc 
    updates,
    * source/org/jfree/data/general/SeriesDataset.java: Likewise.

2006-07-06  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/xy/DefaultXYDataset.java: New file,
    * source/org/jfree/data/xy/junit/DataXYPackageTests.java:
    (suite): Included new class DefaultXYDatasetTests,
    * source/org/jfree/data/xy/junit/DefaultXYDatasetTests.java: New file.

2006-07-06  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/CyclicXYItemRenderer.java
    (drawItem):  Swapped all calls to dataset methods returning Number 
    instances, to corresponding methods that return doubles.

2006-07-06  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/XYStepAreaRenderer.java
    (drawItem):  Swapped all calls to dataset methods returning Number 
    instances, to corresponding methods that return doubles.

2006-07-06  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/HighLowRenderer.java
    (drawItem): Swapped all calls to dataset methods returning Number 
    instances, to corresponding methods that return doubles.

2006-07-06  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/urls/TimeSeriesURLGenerator.java:
    (generateURL): Swapped getX() --> getXValue() (DG);

2006-07-06  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/StandardXYItemRenderer.java:
    Reformatted.

2006-07-06  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/CandlestickRenderer.java
    (drawItem): Swapped all calls to dataset methods returning Number
    instances, to corresponding methods that return doubles.

2006-07-03  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/Marker.java: Reformatting and API doc 
    updates.

2006-06-30  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/Plot.java
    (backgroundImageAlpha): New field,
    (getBackgroundImageAlpha): New method,
    (setBackgroundImageAlpha): New method,
    (drawBackgroundImage): Use new alpha field,
    * source/org/jfree/chart/plot/junit/PlotTests.java
    (testEquals): Added check for new field.

2006-06-21  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/ClusteredXYBarRenderer.java
    (drawItem): Check orientation when adjusting for margin, call new 
    drawItemLabel() method in superclass.

2006-06-21  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/XYBarRenderer.java
    (positiveItemLabelPositionFallback): New field,
    (negativeItemLabelPositionFallback): Likewise,
    (getPositiveItemLabelPositionFallback): New method,
    (setPositiveItemLabelPositionFallback): Likewise,
    (getNegativeItemLabelPositionFallback): Likewise,
    (setNegativeItemLabelPositionFallback): Likewise,
    (drawItem): Call new drawItemLabel() method,
    (drawItemLabel): New method,
    (calculateLabelAnchorPoint): New method,
    (isInternalAnchor): New method,
    (equals): Updated for new fields,
    * source/org/jfree/chart/renderer/xy/junit/XYBarRendererTests.java
    (testEquals): Extended to cover new fields,
    (testSerialization2): New test.

2006-06-15  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/XYStepRenderer.java
    (drawItem): Handle item labels.

2006-06-15  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/StandardXYItemRenderer.java
    (State.seriesIndex): New field,
    (State.getSeriesIndex): New method,
    (State.setSeriesIndex): New method,
    (initialise): Set seriesIndex field,
    (drawItem): Don't return until seriesPath has a chance to be updated
    and/or drawn, if it is being used.

2006-06-01  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/SpiderWebPlot.java
    (drawRadarPoly): Check for null info,
    * source/org/jfree/chart/plot/junit/SpiderWebPlotTests.java
    (testDrawWithNullInfo): New method.

2006-06-01  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/junit/WeekTests.java
    (testBug1498805): New method.

2006-05-25  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/LineAndShapeRenderer.java
    (drawItem): Check for both line and shape not visible, and do nothing
    in that case (fix for bug 1494936).

2006-05-24  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/time/TimeSeries.java: 
    (delete(RegularTimePeriod)): Do nothing for unknown time period,
    (delete(int, int)): Added argument check,
    (createCopy(int, int)): Added argument checks,
    (createCopy(RegularTimePeriod, RegularTimePeriod)): Added argument 
    checks, and special handling for range containing no observations,
    * source/org/jfree/data/time/junit/TimeSeriesTests.java:
    (testDelete2): Added new cases,
    (testCreateCopy1): Reformatted,
    (testCreateCopy2): New test,
    (testGetIndex): Likewise,
    (testGetDataItem1): Likewise,
    (testGetDataItem2): Likewise.

2006-05-24  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/general/Series.java: Updated API docs.

2006-05-19  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/StatisticalBarRenderer.java
    (drawHorizontalItem): Add entity for bar,
    (drawVerticalItem): Add entity for bar.

2006-05-03  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/labels/AbstractCategoryItemLabelGenerator.java
    (AbstractCategoryItemLabelGenerator(String, NumberFormat, NumberFormat)): 
    New constructor,
    * source/org/jfree/chart/labels/StandardCategoryItemLabelGenerator.java
    (StandardCategoryItemLabelGenerator(String, NumberFormat, NumberFormat)): 
    New constructor,
    (equals): New method,
    * source/org/jfree/chart/labels/StandardCategorySeriesLabelGenerator.java
    (equals): Added check for formatPattern,
    * source/org/jfree/chart/labels/StandardCategoryToolTipGenerator.java
    (StandardCategoryToolTipGenerator(String, NumberFormat, NumberFormat)):
    New constructor,
    (equals): New method,
    * source/org/jfree/chart/labels/junit/StandardCategoryItemLabelGeneratorTests.java
    (testEquals1481087): New test,
    * source/org/jfree/chart/labels/junit/StandardCategorySeriesLabelGeneratorTests.java:
    New file,
    * source/org/jfree/chart/labels/junit/StandardCategoryToolTipGeneratorTests.java
    (testEquals1481087): New test.

2006-05-03  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/labels/junit/LabelsPackageTests.java
    (suite): Updated test class name,
    * source/org/jfree/chart/labels/junit/StandardPieItemLabelGeneratorTests.java:
    Removed,
    * source/org/jfree/chart/labels/junit/StandardPieToolTipGeneratorTests.java:
    Added (renamed file).

2006-05-03  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/labels/AbstractPieItemLabelGenerator.java
    (clone): Clone the percentFormat field, fixes bug 1480978,
    * source/org/jfree/chart/labels/StandardPieSectionLabelGenerator.java
    (DEFAULT_SECTION_LABEL_FORMAT): Changed to "{0}",
    (StandardPieSectionLabelGenerator()): Use DEFAULT_SECTION_LABEL_FORMAT,
    * source/org/jfree/chart/labels/StandardPieToolTipGenerator.java:
    Reformatted,
    * source/org/jfree/chart/labels/junit/StandardPieItemLabelGeneratorTests.java
    (testCloning): Extended test to cover bug 1480978.

2006-04-19  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/axis/DateAxis.java
    (equals): Call super.equals();
    * source/org/jfree/chart/axis/junit/DateAxisTests.java
    (testEquals): Added more checks,
    (test1472942): New test method.

2006-04-11  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/StatisticalLineAndShapeRenderer.java:
    (drawItem): Handle horizontal orientation correctly.

2006-04-06  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/MultiplePiePlot.java
    (aggregatedItemsKey): New field,
    (aggregatedItemsPaint): Likewise,
    (sectionPaints): Likewise,
    (MultiplePiePlot(CategoryDataset)): Initialise new fields,
    (getAggregatedItemsKey): New method,
    (setAggregatedItemsKey): Likewise,
    (getAggregatedItemsPaint): Likewise,
    (setAggregatedItemsPaint): Likewise,
    (draw): Call prefetchSectionPaints(), use new field for 
    aggregatedItemsKey, and update section colors in pie plot before 
    drawing,
    (prefetchSectionPaints): New utility method,
    (getLegendItems): Call prefetchSectionPaints(), and add item for
    aggregatedItems if these are being used,
    (equals): Added tests for new fields,
    (writeObject): Added serialization support for new fields,
    (readObject): Likewise,
    * source/org/jfree/chart/plot/junit/MultiplePiePlotTests.java
    (testEquals): Extended to cover new fields,
    (testSerialization): Modified to cover a failing case.

2006-04-06  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/time/Week.java
    (Week(Date, TimeZone)): Handle the case where the first few days of the
    year are part of the last week of the preceding year - see bug report
    1448828,
    * source/org/jfree/data/time/junit/WeekTests.java
    (testBug1448828): New test method.

2006-04-05  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/SpiderWebPlot.java
    (toolTipGenerator): New field,
    (urlGenerator): Likewise,
    (getToolTipGenerator): New method,
    (setToolTipGenerator): Likewise,
    (getURLGenerator): Likewise,
    (setURLGenerator): Likewise,
    (drawRadarPoly): Populate entity collection, if not null,
    (equals): Updated for new fields.

2006-04-05  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/SpiderWebPlot.java
    (drawRadarPoly): Check for value >= to zero, not > zero (see patch
    1462727).

2006-04-05  David Gilbert  <david.gilbert@object-refinery.com>

    Patch 1459313 by Max Herfort:
    
    * source/org/jfree/chart/renderer/category/StackedBarRenderer3D.java
    (renderAsPercentages): New field,
    (StackedBarRenderer3D()): Delegate to new constructor,
    (StackedBarRenderer3D(boolean)): New constructor,
    (StackedBarRenderer3D(double, double, boolean)): Likewise,
    (getRenderAsPercentages): New method,
    (setRenderAsPercentages): Likewise,
    (findRangeBounds): Check renderAsPercentages flag and return an
    appropriate range,
    (drawItem): Check renderAsPercentages flag and draw items accordingly,
    (equals): Overridden to account for renderAsPercentages flag,
    * NEWS: Added notes about this patch.

2006-03-08  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/jdbc/JDBCCategoryDataset.java
    (executeQuery(Connection, String)): Fixed update loop (bug 1445748).

2006-03-02  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/AbstractCategoryItemRenderer.java
    (getLegendItems): Check seriesVisibleInLegend flag before creating each
    legend item.

2006-02-28  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/PiePlot.java
    (drawRightLabels): Fixed distribution of labels,
    * NEWS: Added bug fix entry for 1440415.

2006-02-28  David Gilbert  <david.gilbert@object-refinery.com>

    * ant/build.xml
    (compile): Remove manifest specification;
    * NEWS: Added bug fix entry.

2006-02-20  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/annotations/XYPointerAnnotation.java
    (equals): Reimplemented,
    * source/org/jfree/chart/annotations/junit/XYPointerAnnotationTests.java
    (testEquals): Updated to cover bug report 1415160.

2006-02-20  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/axis/NumberAxis.java
    (equals): Added check for rangeType field,
    * source/org/jfree/chart/axis/junit/NumberAxisTests.java
    (testEquals()): Extended to check rangeType field,
    * NEWS: Added note of bug fix for 1435461.

2006-02-10  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/axis/DateAxis.java: Updated API docs,
    * source/org/jfree/chart/axis/NumberAxis.java: Likewise.

----------  JFREECHART 1.0.1 RELEASED ------------------------

2006-01-27  David Gilbert  <david.gilbert@object-refinery.com>

    * NEWS: Updated for 1.0.1 release,
    * ant/build.xml: Updated version number,
    * source/org/jfree/chart/JFreeChart.java: Reformatted,
    * source/org/jfree/chart/resources/JFreeChartResources.java: 
    (CONTENTS): Updated version number.

2006-01-27  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/labels/AbstractXYItemLabelGenerator.java
    (createItemArray): Updated API docs,
    * source/org/jfree/chart/labels/BubbleXYItemLabelGenerator.java: New 
    file,
    * source/org/jfree/chart/labels/StandardXYZItemLabelGenerator.java: 
    Removed,
    * source/org/jfree/chart/labels/XYZItemLabelGenerator.java: Likewise,
    * source/org/jfree/chart/labels/junit/BubbleXYItemLabelGeneratorTests.java: 
    New tests,
    * source/org/jfree/chart/labels/junit/LabelsPackageTests.java
    (suite): Renamed test,
    * source/org/jfree/chart/labels/junit/StandardXYItemLabelGeneratorTests.java:
    New file,
    * source/org/jfree/chart/labels/junit/StandardXYLabelGeneratorTests.java:
    Removed.

2006-01-27  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/CategoryPlot.java
    (getDomainGridlinePosition): Updated API docs,
    (setDomainGridlinePosition): Check for null argument,
    (getDomainGridlineStroke): Updated API docs,
    (setDomainGridlineStroke): Check for null argument,
    (getDomainGridlinePaint): Updated API docs,
    (setDomainGridlinePaint): Check for null argument,
    (getRangeGridlineStroke): Updated API docs,
    (setRangeGridlineStroke): Check for null argument,
    (getRangeGridlinePaint): Updated API docs,
    (setRangeGridlinePaint): Check for null argument.

2006-01-26  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/XYPlot.java
    (getAnnotations): New method,
    * source/org/jfree/chart/plot/junit/XYPlotTests.java
    (testRemoveAnnotation): New test.

2006-01-26  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/annotations/XYTextAnnotation.java
    (equals): Check x and y attributes (fixes bug 1415480).

2006-01-26  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/XYBubbleRenderer.java
    (drawItem): Check item label visible flag.

2006-01-26  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/ChartFactory.java
    (createScatterPlot): Corrected API documentation.

2006-01-23  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/LevelRenderer.java
    (getMaxItemWidth): Deprecated,
    (setMaxItemWidth): Likewise,
    (getMaximumItemWidth): New method,
    (setMaximumItemWidth): Likewise.

2006-01-18  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/GanttRenderer.java
    (GanttRenderer()): Set includeBaseInRange to false,
    * source/org/jfree/data/gantt/TaskSeriesCollection.java
    (getSeries(Comparable)): New method,
    (getSeries(int)): Likewise,
    * source/org/jfree/data/gantt/junit/TaskSeriesCollectionTests.java
    (testGetSeries): New tests.

2006-01-18  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/axis/NumberAxis3D.java
    (draw): Check plot is a CategoryPlot before casting (fixes bug 
    1408904).

2006-01-11  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/axis/CategoryAxis.java
    (drawCategoryLabels): Fixed null pointer exception (see bug report
    1403043).

2006-01-11  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/xy/XYSeries.java
    (update(int, Number)): Deprecated (renamed updateByIndex),
    (updateByIndex): New method,
    * NEWS: Updated API changes.

2006-01-11  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/BarRenderer.java
    (includeBaseInRange): New flag,
    (BarRenderer): Initialise new flag,
    (getIncludeBaseInRange): New accessor method,
    (setIncludeBaseInRange): Likewise,
    (calculateBarL0L1): Simplified code to fix bug 1401856,
    (findRangeBounds): New override method,
    * source/org/jfree/chart/plot/CategoryPlot.java
    (rendererChanged): Call configureRangeAxes(), because the renderer
    can affect the axis range,
    * source/org/jfree/data/Range.java
    (combine): Reformatted,
    (expandToInclude): New method,
    (expand): Reformatted,
    (shift): Likewise,
    (shiftWithNoZeroCrossing): Added API docs.
    * source/org/jfree/chart/axis/junit/NumberAxisTests.java
    (testAutoRange2): Fixed failing test,
    (testAutoRange3): Likewise,
    * NEWS: Added recent updates.

2006-01-10  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/servlet/ServletUtilities.java: Updated API 
    docs and reformatted source code.

2006-01-09  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/PiePlot.java
    (drawLabels): Changed code that checks ignoreNullValues and
    ignoreZeroValues flags,
    (getLegendItems): Increment section count even when section is ignored.
    Fixes bug 1400442.

2005-12-21  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/SpiderWebPlot.java
    (SpiderWebPlot(CategoryDataset)): Delegate to another constructor,
    (SpiderWebPlot(CategoryDataset, TableOrder)): Copied code from previous
    constructor,
    (getPlotType): Updated description,
    (setInteriorGap): Reformatted,
    (draw): Likewise,
    (drawRadarPoly): Likewise,
    (drawLabel): Likewise.

2005-12-20  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/RingPlot.java
    (drawItem): fix entity shape (bug 1386328).

2005-12-13  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/time/TimeSeriesCollection.java
    (domainIsPointsInTime): Deprecated, no longer required,
    (getDomainIsPointsInTime): Likewise,
    (setDomainIsPointsInTime): Likewise,
    (getSeries): Reformatted,
    (removeAllSeries): Likewise,
    (getX): Likewise,
    (getStartX): Likewise,
    (getEndX): Likewise,
    (getDomainBounds): Don't use domainIsPointsInTime.

2005-12-13  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/labels/StandardXYZItemLabelGenerator.java:
    New class,
    * source/org/jfree/chart/labels/XYZItemLabelGenerator.java:
    New interface,
    * source/org/jfree/chart/renderer/AbstractRenderer.java: Reformatting,
    * source/org/jfree/chart/renderer/xy/AbstractXYItemRenderer.java:
    Likewise,
    * source/org/jfree/chart/renderer/xy/XYBubbleRenderer.java
    (XYBubbleRenderer(int)): Check argument,
    (getScaleType): API docs,
    (drawItem): Added code to draw item labels,
    (getLegendItem): Reformatted.

2005-12-13  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/title/TextTitle.java
    (TextTitle(String)): Reformatted,
    (TextTitle(String, Font)): Reformatted,
    (arrange): Reformatted,
    (arrangeRR): Account for rotated title in left or right positions,
    fixes bug 1379331,
    (hashCode): Reformatted.
    
2005-12-10  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/XYDifferenceRenderer.java:
    Reformatted.

2005-12-10  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/LegendItem.java
    (attributedLabel): Made transient,
    (writeObject): Write out attributedLabel,
    (readObject): Read in attributedLabel,
    * source/org/jfree/chart/junit/LegendItemTests.java
    (testSerialization2): New test,
    * NEWS: Noted bug fix.

2005-12-10  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/time/Quarter.java
    (Quarter(int, Year)): Fix bug (1377239) in argument checking,
    * source/org/jfree/data/time/junit/QuarterTests.java
    (testConstructor): New test,
    * NEWS: Noted bug fix.

2005-12-06  David Gilbert  <david.gilbert@object-refinery.com>

    * NEWS: New file,
    * source/org/jfree/chart/renderer/category/BarRenderer.java
    (getLegendItem): Changed Color.BLACK to Color.black (fixes bug report
    1374222).

2005-12-05  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/StackedXYAreaRenderer.java:
    Reformatted.

----------  JFREECHART 1.0.0 RELEASED ------------------------

2005-12-02  David Gilbert  <david.gilbert@object-refinery.com>

    * README.txt: Update for 1.0.0 release,
    * source/org/jfree/chart/resources/JFreeChartResources.java
    (CONTENTS): Updated version number.

2005-12-02  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/ChartPanel.java
    (chartChanged): Don't update domainZoomable and rangeZoomable.
    
2005-12-02  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/StackedXYAreaRenderer.java
    (drawItem): Access entity collection via convenience method,
    * source/org/jfree/chart/renderer/xy/XYAreaRenderer.java
    (drawItem): Likewise,
    * source/org/jfree/chart/renderer/xy/XYAreaRenderer2.java
    (drawItem): Likewise,
    * source/org/jfree/chart/renderer/xy/XYStepAreaRenderer.java
    (drawItem): Likewise,
    * source/org/jfree/chart/renderer/xy/XYStepRenderer.java
    (drawItem): Likewise.

2005-12-02  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/PiePlot.java
    (drawItem): Access entity collection via convenience method,
    * source/org/jfree/chart/plot/RingPlot.java
    (drawItem): Likewise.

2005-12-02  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/junit/StackedXYAreaRendererTests.java
    (drawWithNullInfo): New test,
    * source/org/jfree/chart/renderer/xy/junit/XYAreaRendererTests.java
    (drawWithNullInfo): New test,
    * source/org/jfree/chart/renderer/xy/junit/XYAreaRenderer2Tests.java
    (drawWithNullInfo): New test,
    * source/org/jfree/chart/renderer/xy/junit/XYStepAreaRendererTests.java
    (drawWithNullInfo): New test,
    * source/org/jfree/chart/renderer/xy/junit/XYStepRendererTests.java
    (drawWithNullInfo): New test.

2005-12-02  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/StatisticalBarRenderer.java:
    Reformatting,
    * source/org/jfree/chart/renderer/category/StatisticalLineAndShaperenderer.java
    (drawItem): Fixed null pointer exception,
    * source/org/jfree/chart/renderer/category/junit/StatisticalBarRendererTests.java
    (testDrawWithNullInfo): New test,
    * source/org/jfree/chart/renderer/category/junit/StatisticalLineAndShapeRenderer.java
    (testDrawWithNullInfo): New test.

2005-12-02  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/MinMaxCategoryRenderer.java
    (drawItem): Fixed null pointer exception.

2005-12-02  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/LevelRenderer.java
    (drawItem): Fixed null pointer exception,
    * source/org/jfree/chart/renderer/category/junit/LevelRendererTests.java
    (testDrawWithNullInfo): New test.

2005-12-02  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/LayeredBarRenderer.java
    (drawHorizontalItem): Fixed null pointer exception,
    (drawVerticalItem): Fixed null pointer exception,
    * source/org/jfree/chart/renderer/category/junit/LayeredBarRendererTests.java
    (testDrawWithNullInfo): New test.

2005-12-01  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/time/TimeSeries.java
    (add(TimeSeriesDataItem)): Delegate to new method,
    (add(TimeSeriesDataItem, boolean)): New method,
    (add(RegularTimePeriod, double)): Delegate to new method,
    (add(RegularTimePeriod, double, boolean)): New method,
    (add(RegularTimePeriod, Double)): Delegate to new method,
    (add(RegularTimePeriod, Double, boolean)): New method.

2005-12-01  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/IntervalBarRenderer.java
    (drawItem): Call getEntityCollection directly on 'state',
    * source/org/jfree/chart/renderer/category/junit/IntervalBarRendererTests.java
    (testDrawWithNullInfo): New test.

2005-12-01  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/GroupedStackedBarRenderer.java
    (drawItem): Call getEntityCollection directly on 'state',
    * source/org/jfree/chart/renderer/category/junit/BoxAndWhiskerRendererTests.java
    (testDrawWithNullInfo): Construct chart properly,
    * source/org/jfree/chart/renderer/category/junit/GroupedStackedBarRendererTests.java
    (testDrawWithNullInfo): New test,
    * source/org/jfree/data/statistics/BoxAndWhiskerItem.java
    (getOutliers): Check for null list.

2005-12-01  David Gilbert  <david.gilbert@object-refinery.com>

    * gjdoc/run-gjdoc: Updated version number,
    * source/org/jfree/chart/renderer/category/BoxAndWhiskerRenderer.java
    (drawHorizontalItem): Fixed null pointer exception,
    (drawVerticalItem): Likewise,
    * source/org/jfree/chart/renderer/category/junit/BoxAndWhiskerRendererTests.java
    (testDrawWithNullInfo): New test.

2005-12-01  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/BarRenderer.java
    (getLegendItem): Use drawBarOutline flag for legend graphic,
    * source/org/jfree/chart/renderer/category/GanttRenderer.java
    (drawTasks): Check drawBarOutline flag,
    (drawTask): Likewise.

2005-12-01  David Gilbert  <david.gilbert@object-refinery.com>

    * ant/build.xml
    (initialise): Updated version number,
    * gjdoc/run-gjdoc: Updated package list,
    * source/org/jfree/chart/junit/GanttChartTests.java
    (testDrawWithNullInfo): Reformatted,
    (testDrawWithNullInfo2): New test,
    * source/org/jfree/chart/renderer/category/GanttRenderer.java
    (drawTasks): Fix NullPointerException,
    (drawTask): Likewise.

2005-11-30  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/XYItemRenderer.java
    (getLegendItemLabelGenerator): Added method to interface,
    (setLegendItemLabelGenerator): Likewise.

2005-11-30  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/labels/StandardPieSectionLabelGenerator.java
    (getAttributedLabel): Change argument name to 'section',
    (setAttributedLabel): Likewise.

2005-11-30  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/ChartFactory.java
    (createSignalChart): Removed,
    * source/org/jfree/chart/renderer/xy/SignalRenderer.java: Removed,
    * source/org/jfree/chart/renderer/xy/junit/SignalRendererTests.java:
    Removed,
    * source/org/jfree/data/general/SubSeriesDataset.java
    (getType): Removed,
    (getLevel): Removed,
    * source/org/jfree/data/xy/SignalsDataset.java: Removed.

2005-11-30  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/ChartRenderingInfo.java
    (plotArea): Removed,
    (ChartRenderingInfo(EntityCollection)): Updated for removed field,
    (getPlotArea): Removed,
    (setPlotArea): Removed,
    (clear): Updated for removed field,
    (equals): Likewise,
    (writeObject): Likewise,
    (readObject): Likewise,
    * source/org/jfree/chart/junit/ChartRenderingInfoTests.java
    (testEquals): Updated for removed field,
    (testSerialization): Likewise.

2005-11-28  David Gilbert  <david.gilbert@object-refinery.com>

    * README.txt: Updated for 1.0.0-rc3 release,
    * ant/build.xml: Copy across Maven file.

2005-11-28  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/editor/ChartEditorFactory.java: New file,
    * source/org/jfree/chart/editor/ChartEditorManager.java
    (factory): New field,
    (getChartEditorFactory): New method,
    (setChartEditorFactory): New method,
    (getChartEditor): Updated to use factory.

2005-11-28  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/time/TimeSeries.java
    (maximumItemAge): Changed type from int to long,
    (TimeSeries(String, String, String, Class)): Change initialisation of
    maximumItemAge field,
    (getMaximumItemAge): Changed return type to long,
    (setMaximumItemAge): Changed argument type to long.

2005-11-28  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/LegendItem.java:
    (LegendItem(String, AttributedString, String, String, String, Shape, 
    Paint)): Removed AttributedString argument,
    (LegendItem(String, AttributedString, String, String, String, Shape, 
    Paint, Stroke, Paint)): Likewise,
    (LegendItem(String, AttributedString, String, String, String, Shape, 
    Stroke, Paint)): Likewise,
    (LegendItem(String, AttributedString, String, String, String, boolean, 
    Shape, boolean, Paint, boolean, Paint, Stroke, boolean, Shape, Stroke, 
    Paint)): Likewise,
    (LegendItem(AttributedString, String, String, String, Shape, Paint)): 
    New constructor,
    (LegendItem(AttributedString, String, String, String, Shape, Paint, 
    Stroke, Paint)): Likewise,
    (LegendItem(AttributedString, String, String, String, Shape, Stroke, 
    Paint)): Likewise,
    (LegendItem(AttributedString, String, String, String, boolean, 
    Shape, boolean, Paint, boolean, Paint, Stroke, boolean, Shape, Stroke, 
    Paint)): Likewise,
    (characterIteratorToString): New method,
    * source/org/jfree/chart/junit/LegendItemCollectionTests.java
    (testEquals): Updated for change to LegendItem constructor,
    (testSerialization): Likewise,
    (testCloning): Likewise,
    * source/org/jfree/chart/junit/LegendItemTests.java
    (testEquals): Updated for change to LegendItem constructor,
    (testSerialization): Likewise,
    (testCloning): Likewise,
    * source/org/jfree/chart/plot/MeterPlot.java
    (getLegendItems): Update for change to LegendItem constructor,
    * source/org/jfree/chart/plot/MultiplePiePlot.java
    (getLegendItems): Likewise,
    * source/org/jfree/chart/plot/PiePlot.java
    (getLegendItems): Likewise,
    * source/org/jfree/chart/plot/SpiderWebPlot.java
    (getLegendItems): Likewise,
    * source/org/jfree/chart/renderer/DefaultPolarItemRenderer.java
    (getLegendItem): Likewise,
    * source/org/jfree/chart/renderer/WaferMapRenderer.java
    (getLegendItem): Likewise,
    * source/org/jfree/chart/renderer/category/AbstractCategoryItemRenderer.java
    (getLegendItem): Likewise,
    * source/org/jfree/chart/renderer/category/AreaRenderer.java
    (getLegendItem): Likewise,
    * source/org/jfree/chart/renderer/category/BarRenderer.java
    (getLegendItem): Likewise,
    * source/org/jfree/chart/renderer/category/BoxAndWhiskerRenderer.java
    (getLegendItem): Likewise,
    * source/org/jfree/chart/renderer/category/LineAndShapeRenderer.java
    (getLegendItem): Likewise,
    * source/org/jfree/chart/renderer/xy/AbstractXYItemRenderer.java
    (getLegendItem): Likewise,
    * source/org/jfree/chart/renderer/xy/StandardXYItemRenderer.java
    (getLegendItem): Likewise,
    * source/org/jfree/chart/renderer/xy/XYAreaRenderer.java
    (getLegendItem): Likewise,
    * source/org/jfree/chart/renderer/xy/XYAreaRenderer2.java
    (getLegendItem): Likewise,
    * source/org/jfree/chart/renderer/xy/XYBarRenderer.java
    (getLegendItem): Likewise,
    * source/org/jfree/chart/renderer/xy/XYBubbleRenderer.java
    (getLegendItem): Likewise,
    * source/org/jfree/chart/renderer/xy/XYDifferenceRenderer.java
    (getLegendItem): Likewise,
    * source/org/jfree/chart/renderer/xy/XYLineAndShapeRenderer.java
    (getLegendItem): Likewise.

2005-11-28  David Gilbert  <david.gilbert@object-refinery.com>

    * ant/build.xml
    (initialise): Update JFreeChart version number,
    (compile): Copy over property files in org.jfree.chart.editor,
    * source/org/jfree/chart/resources/JFreeChartResources.java
    (CONTENTS): Updated JFreeChart version number.

2005-11-25  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/ChartMouseListener.java: Now extends EventListener,
    * source/org/jfree/chart/ChartPanel.java
    (chartMouseListeners): Use EventListenerList,
    (ChartPanel(JFreeChart, int, int, int, int, int, int, boolean, boolean,
    boolean, boolean, boolean, boolean)): Initialise chartMouseListeners,
    (mouseClicked): Use EventListenerList,
    (mouseMoved): Likewise,
    (addChartMouseListener): Likewise,
    (removeChartMouseListener): Likewise,
    (getListeners): New override,
    * source/org/jfree/chart/junit/ChartPanelTests.java:
    (testGetListeners): New test,
    (chartMouseClicked): New method,
    (chartMouseMoved): New method.

2005-11-24  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/ChartPanel.java
    (attemptEditChartProperties): Use ChartEditorManager to get 
    ChartEditor,
    * source/org/jfree/chart/axis/ColorBar.java: Update imports for moved 
    classes,
    * source/org/jfree/chart/axis/junit/ColorBarTests.java: Likewise,
    * source/org/jfree/chart/editor/ChartEditor.java: New file,
    * source/org/jfree/chart/editor/ChartEditorManager.java: New file,
    * source/org/jfree/chart/editor/DefaultAxisEditor.java: New file,
    * source/org/jfree/chart/editor/DefaultChartEditor.java: New file,
    * source/org/jfree/chart/editor/DefaultColorBarEditor.java: New file,
    * source/org/jfree/chart/editor/DefaultNumberAxisEditor.java: New file,
    * source/org/jfree/chart/editor/DefaultPlotEditor.java: New file,
    * source/org/jfree/chart/editor/DefaultTitleEditor.java: New file,
    * source/org/jfree/chart/editor/PaletteChooserPanel.java: New file,
    * source/org/jfree/chart/editor/PaletteSample.java: New file,
    * source/org/jfree/chart/editor/LocalizationBundle_de.properties: Moved,
    * source/org/jfree/chart/editor/LocalizationBundle_es.properties: Moved,
    * source/org/jfree/chart/editor/LocalizationBundle_fr.properties: Moved,
    * source/org/jfree/chart/editor/LocalizationBundle_nl.properties: Moved,
    * source/org/jfree/chart/editor/LocalizationBundle_pl.properties: Moved,
    * source/org/jfree/chart/editor/LocalizationBundle_pt_PT.properties: Moved,
    * source/org/jfree/chart/editor/LocalizationBundle_ru.properties: Moved,
    * source/org/jfree/chart/editor/LocalizationBundle_zh_CN.properties: Moved,
    * source/org/jfree/chart/editor/LocalizationBundle.properties: Moved,
    * source/org/jfree/chart/editor/package.html: New file,
    * source/org/jfree/chart/junit/JFreeChartTestSuite.java:
    (suite): Removed ChartUIPackageTests,
    * source/org/jfree/chart/plot/ColorPalette.java: Moved,
    * source/org/jfree/chart/plot/GreyPalette.java: Moved,
    * source/org/jfree/chart/plot/RainbowPalette.java: Moved,
    * source/org/jfree/chart/plot/junit/ColorPaletteTests.java: Moved,
    * source/org/jfree/chart/plot/junit/PlotPackageTests.java
    (suite): Added ColorPaletteTests,
    * source/org/jfree/chart/ui/*: Removed package, most classes moved to
    org.jfree.chart.editor and renamed,
    * source/org/jfree/chart/ui/junit/*: Removed package.

2005-11-24  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/encoders/KeypointPNGEncoderAdapter.java: 
    Updated API docs.

2005-11-24  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/ChartFactory.java
    (createHistogram): Set autoRangeIncludesZero to false on domain axis.

2005-11-24  David Gilbert  <david.gilbert@object-refinery.com>

    * ant/build.xml: Updated version numbers.

2005-11-24  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/DefaultOldLegend.java: Removed,
    * source/org/jfree/chart/JFreeChart.java
    (oldLegend): Removed,
    (getOldLegend): Removed,
    (setOldLegend): Removed,
    (draw(Graphics2D, Rectangle2D, Point2D, ChartRenderingInfo)): Removed
    old legend drawing code,
    (legendChanged): Removed,
    (equals): Removed old legend check,
    (readObject): Removed code to add listener to old legend,
    (clone): Removed code to clone old legend,
    * source/org/jfree/chart/OldLegend.java: Removed,
    * source/org/jfree/chart/event/LegendChangeEvent.java: Removed,
    * source/org/jfree/chart/event/LegendChangeListener.java: Removed,
    * source/org/jfree/chart/junit/JFreeChartTests.java
    (testEquals): Removed old legend check,
    * source/org/jfree/chart/ui/ChartPropertyEditPanel.java
    (legendPropertiesPanel): Removed,
    (ChartPropertyEditPanel(JFreeChart)): Removed old legend setup,
    (getLegendPropertyEditPanel): Removed,
    (updateChartProperties): Removed old legend update,
    * source/org/jfree/chart/ui/LegendPropertyEditPanel.java: Removed.

2005-11-23  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/JFreeChart.java
    (JFreeChartInfo): Added Pady Srinivasan to contributors,
    * source/org/jfree/chart/axis/CategoryAxis.java:  Added Pady Srinivasan
    as Contributor.

2005-11-23  David Gilbert  <david.gilbert@object-refinery.com>

    These changes are based on patch 1217634 by Pady Srinivasan (with 
    significant modifications).

    * source/org/jfree/chart/axis/CategoryAxis.java
    (tickLabelFontMap): New field,
    (tickLabelPaintMap): New field,
    (CategoryAxis(String)): Initialise new fields,
    (getTickLabelFont(Comparable)): New method,
    (setTickLabelFont(Comparable, Font)): New method,
    (getTickLabelPaint(Comparable)): New method,
    (setTickLabelPaint(Comparable, Paint)): New method,
    (getCategoryLabelToolTip): New method,
    (drawCategoryLabels): Use new methods to get label font and paint, and
    also tooltip,
    (refreshTicks): Reformatted,
    (createLabel): Use new methods to get label font and paint,
    (clone): Handle new fields,
    (equals): Likewise,
    (readObject): Likewise,
    (writeObject): Likewise,
    (readPaintMap): New method,
    (writePaintMap): New method,
    (equalPaintMaps): New method,
    * source/org/jfree/chart/axis/junit/CategoryAxisTests.java
    (testEquals): Add tests for new fields,
    (testCloning2): New test,
    (testSerialization): Strengthened test.

2005-11-22  David Gilbert  <david.gilbert@object-refinery.com>
        
    * source/org/jfree/chart/LocalisationBundle_de.properties: 
    Minor correction (see patch 1315259),
    * source/org/jfree/chart/ui/LocalisationBundle_de.properties:
    Corrections and additions (see patch 1315258).

2005-11-22  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/statistics/HistogramDataset.java
    (getSeriesKey): Cast return value to Comparable.

2005-11-21  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/LayeredBarRenderer.java
    (calculateBarWidth): Remove itemMargin from calculation,
    (drawItem): Reformatted,
    (drawHorizontalItem): Added support for GradientPaint,
    (drawVerticalItem): Likewise.

2005-11-21  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/XYLineAndShapeRenderer.java
    (setDrawSeriesLineAsPath): Send RendererChangeEvent if flag changes.

2005-11-21  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/function/NormalDistributionFunction2D.java
    (getMean): New method,
    (getStandardDeviation): New method,
    (getValue): Reformatted.

2005-11-17  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/time/TimeSeries.java
    (historyCount): Renamed maximumItemAge,
    (TimeSeries(String, String, String, Class)): Update for renamed field,
    (getMaximumItemCount): API doc update,
    (setMaximumItemCount): Added argument check, and remove surplus items
    in a way that fires a SeriesChangeEvent,
    (getHistoryCount): Renamed getMaximumItemAge(),
    (setHistoryCount): Renamed setMaximumItemAge() and reimplemented,
    (add(TimeSeriesDataItem)): Update for refactored method,
    (addOrUpdate(RegularTimePeriod, Number)): Likewise,
    (ageHistoryCountItems): Renamed removeAgedItems and amended to generate
    change notification if requested,
    (ageHistoryCountItems(long)): Likewise,
    (equals): Updates for renamed method,
    (hashCode): Likewise.
    * source/org/jfree/data/time/junit/TimeSeriesTests.java
    (testEquals): Updated for renamed field.

2005-11-17  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/MinMaxCategoryRenderer.java
    (minValue): Removed,
    (maxValue): Removed,
    (isDrawLines): Updated API docs,
    (setDrawLines): Send RendererChangeEvent,
    (getGroupPaint): Updated API docs,
    (setGroupPaint): Check for null argument, send change event,
    (setGroupStroke): Likewise,
    (getObjectIcon): Updated API docs,
    (setObjectIcon): Check for null argument, send change event,
    (getMaxIcon): Updated API docs,
    (setMaxIcon): Check for null argument, send change event,
    (getMinIcon): Updated API docs,
    (setMinIcon): Check for null argument, send change event,
    (drawItem): Refactored (for removed fields).
    
2005-11-16  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/statistics/HistogramDataset.java
    (addSeries): Handle case where data value is smaller than the lower
    bound of the bin range.

2005-11-15  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/MinMaxCategoryRenderer.java:
    Reformatted and reordered methods.

2005-11-10  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/MeterPlot.java
    (tickSize): New field,
    (tickPaint): New field,
    (tickLabelPaint): New field,
    (MeterPlot(ValueDataset)): Initialise new fields,
    (getTickSize): New method,
    (setTickSize): New method,
    (getTickPaint): New method,
    (setTickPaint): New method,
    (getTickLabelPaint): New method,
    (setTickLabelPaint): New method,
    (getLegendItems): Use background color for each interval,
    (draw): Call new drawValueLabel() method,
    (drawArcForInterval): Updated for refactored methods,
    (fillArc): Changed from private to protected,
    (drawTicks): Make use of new tickSize field,
    (drawTick(Graphics2D, Rectangle2D, double)): Updated for refactored 
    methods,
    (drawTick(Graphics2D, Rectangle2D, double, boolean, Paint, boolean,
    String)): Removed special case code for drawing the value label, and
    the now redundant parameters, replaced with drawValueLabel(),
    (drawValueLabel): New method,
    (equals): Updated for new fields.

2005-11-03  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/ChartColor.java
    (createDefaultPaintArray): removed orange color, fix for bug 1328408).

2005-11-02  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/time/Month.java
    (Month(int, Year)): changed '&&' to '||' in argument check, fixes
    bug 1345383.

2005-11-02  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/ChartRenderingInfo.java
    (equals): updated to include plotArea and plotInfo,
    * source/org/jfree/chart/junit/ChartRenderingInfoTests.java
    (testEquals): expanded to test all fields,
    (testSerialization): changed initialisation of object to be serialized,
    (testSerialization2): new test,
    * source/org/jfree/chart/plot/PlotRenderingInfo.java
    (owner): removed transient keyword.

2005-11-01  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/title/ImageTitle.java
    (height): removed field,
    (width): removed field,
    (ImageTitle(Image, int, int, RectangleEdge, HorizontalAlignment, 
    VerticalAlignment, RectangleInsets)): set width and height for block,
    (drawHorizontal): use block width and height,
    (drawVertical): use block width and height,
    * source/org/jfree/chart/title/junit/ImageTitleTests.java
    (testWidthAndHeight): new method.

2005-11-01  David Gilbert  <david.gilbert@object-refinery.com>

    * ant/build.xml: exclude SunJPEGEncoderAdapter.java from the build if
    ImageIO is not present,
    * source/org/jfree/chart/encoders/ImageEncoderFactory.java
    (init): only add 'jpeg' encoder if JFreeChart was compiled, and is 
    being run, with JDK 1.4 or later,
    * source/org/jfree/chart/encoders/SunJPEGEncoderAdapter.java
    (encode): use ImageIO, not com.sun.* classes.

2005-11-01  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/HighLowRenderer.java
    (openTickPaint): new field,
    (closeTickPaint): new field,
    (getOpenTickPaint): new method,
    (setOpenTickPaint): new method,
    (getCloseTickPaint): new method,
    (setCloseTickPaint): new method,
    (drawItem): use openTickPaint and closeTickPaint if non-null,
    (equals): implemented,
    (readObject): new method to support serialization,
    (writeObject): new method to support serialization,
    * source/org/jfree/chart/renderer/xy/junit/HighLowRendererTests.java
    (testEquals): add checks for all fields,
    (testCloning): updated for new fields,
    (testSerialization): updated for new fields.

2005-11-01  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/HighLow.java: Removed unused 
    class.

2005-10-27  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/general/junit/DatasetUtilities.java
    (testIterateXYRangeBounds2): added API doc comment.

2005-10-25  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/category/DefaultIntervalCategoryDataset.java
    (getCategory): removed,
    (getItem): removed,
    (getSeries(Object)): changed signature to accept Comparable,
    (getSeries(int): removed,
    (getValue(Comparable, Comparable)): call getColumnIndex() instead of
    getItem(),
    (getStartValue(Comparable, Comparable)): likewise,
    (getEndValue(Comparable, Comparable)): likewise,
    (setStartValue(int, Object, Number)): changed signature to (int, 
    Comparable, Number),
    (setEndValue(int, Object, Number)): likewise,
    (getCategoryIndex(Object)): changed signature to (Comparable),
    (getColumnKey(int)): changed argument name,
    (getRowKey(int)): likewise.

2005-10-25  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/resources/JFreeChartResources.java
    (CONTENTS): updated 'project.version'.

2005-10-25  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/Marker.java
    (Marker(Paint, Stroke, Paint, Stroke, float)): changed from public to
    protected.

2005-10-25  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/plot/PolarPlot.java: now implements Zoomable
    interface,
    (PolarPlot(XYDataset, ValueAxis, PolarItemRenderer)): reformatted,
    (addCornerTextItem): check for null argument, generate PlotChangeEvent,
    (removeCornerTextItem): generate PlotChangeEvent if necessary,
    (clearCornerTextItem): renamed clearCornerTextItems(), and generates
    PlotChangeEvent if necessary,
    (setAngleLabelsVisible): only send PlotChangeEvent if flag changes,
    (drawCornerTextItems): changed from public to protected,
    (render): likewise,
    (zoomDomainAxes(double, double, double)): changed signature and now
    implementation does nothing,
    (zoomDomainAxes(double, double, double, double)): likewise,
    (zoomRangeAxes(double, double, double)): changed signature to match
    Zoomable interface,
    (zoomRangeAxes(double, double, double, double)): likewise,
    (isDomainZoomable): now returns false,
    (getOrientation): new method,
    * source/org/jfree/chart/renderer/PolarItemRenderer.java
    (drawRadialGridLines): removed commented out code.

2005-10-25  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/axis/TickUnits.java
    (getCeilingTickUnit): don't pass null to other method.

2005-10-14  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/XYBarRenderer.java
    (drawItem): fixed bar coordinates to work with inverted axes.

2005-10-14  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/ChartPanel.java
    (chartChanged): update plot orientation, it may have changed.

2005-10-07  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/title/TextTitle.java
    (textAlignment): new field,
    (TextTitle): initialise new field,
    (getTextAlignment): new method,
    (setTextAlignment): new method,
    (equals): include textAlignment in test,
    * source/org/jfree/chart/title/junit/TextTitleTests.java
    (testEquals): updated to include textAlignment.

2005-10-06  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/XYBoxAndWhiskerRenderer.java
    (drawItem): removed setPaint() call.

2005-10-06  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/data/junit/DefaultKeyedValues2DTests.java
    (testEquals): New method,
    * source/org/jfree/data/xy/CategoryTableXYDataset.java
    (CategoryTableXYDataset): register interval delegate as a listener,
    (add(Number, Number, String, boolean)): remove call to itemAdded,
    (remove(Number, String, boolean)): remove call to itemRemoved,
    (getDomainBounds): only pass to delegate if the interval is included,
    (setIntervalWidth): update for renamed method,
    (equals): implemented,
    * source/org/jfree/data/xy/DefaultTableXYDataset.java
    (DefaultTableXYDataset(boolean)): register interval delegate as a 
    listener,
    (removeAllSeries): remove class to seriesRemoved,
    (removeSeries(XYSeries)): likewise,
    (removeSeries(int)): likewise,
    (removeAllValuesForX): likewise,
    (getDomainBounds): only pass to delegate if the interval is included,
    (setIntervalWidth): update for renamed method,
    * source/org/jfree/data/xy/IntervalXYDelegate.java: now implements 
    DatasetChangeListener,
    (intervalWidth): renamed fixedIntervalWidth,
    (lowerBound): removed,
    (upperBound): removed,
    (IntervalXYDelegate(XYDataset, boolean)): added check for null dataset,
    updated for renamed field,
    (setAutoWidth): if true, recalculate interval width,
    (getFixedIntervalWidth): new method,
    (setIntervalWidth): renamed setFixedIntervalWidth(), now sets autoWidth
    to false,
    (getIntervalWidth): updated for renamed field,
    (getEndXValue): new method,
    (getDomainBounds): reimplemented,
    (datasetChanged): new method, recalculates auto interval width,
    (itemAdded): removed,
    (itemRemoved): removed,
    (recalculateIntervalWidth): new implementation, 
    renamed recalculateInterval(),
    (calculateSeries): renamed calculateIntervalForSeries(), new 
    implementation,
    (seriesAdded): removed,
    (seriesRemoved): removed,
    (equals): updated for renamed field,
    * source/org/jfree/data/xy/XYSeriesCollection.java
    (XYSeriesCollection(XYSeries)): register interval delegate as a 
    listener,
    (addSeries): removed call to seriesAdded(),
    (removeSeries(int)): removed call to seriesRemoved(),
    (removeSeries(XYSeries)): likewise,
    (removeAllSeries): likewise,
    (getDomainBounds): only pass to delegate if the interval is included,
    (setIntervalWidth): updated for renamed method,
    * source/org/jfree/data/xy/junit/CategoryTableXYDatasetTests.java: new 
    tests,
    * source/org/jfree/data/xy/junit/DataXYPackageTests.java
    (suite): added CategoryTableXYDatsaetTests.class),
    * source/org/jfree/data/xy/junit/DefaultTableXYDatasetTests.java
    (testAddSeries): new test method,
    * source/org/jfree/data/xy/junit/IntervalXYDelegateTests.java
    (testEquals): updated for method name change.

2005-10-03  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/xy/StackedXYAreaRenderer2.java
    (drawItem): add an entity to the collection if supplied.

2005-10-03  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/JFreeChart.java
    (drawTitle): check for positive area width and height, otherwise 
    return null (fixes bug 1306022).

2005-09-30  David Gilbert  <david.gilbert@object-refinery.com>

    * source/org/jfree/chart/renderer/category/StackedBarRenderer.java
    (drawItem): use item outline stroke, not regular stroke.

For changes prior to 30-Sep-2005, please refer to the file CHANGELOG.txt.

Other jfreechart examples (source code examples)

Here is a short list of links related to this jfreechart ChangeLog source code file:

... this post is sponsored by my books ...

#1 New Release!

FP Best Seller

 

new blog posts

 

Copyright 1998-2024 Alvin Alexander, alvinalexander.com
All Rights Reserved.

A percentage of advertising revenue from
pages under the /java/jwarehouse URI on this website is
paid back to open source projects.