2014-07-29 David Gilbert * org/jfree/chart/axis/Axis.java (drawAxisLine): Add rendering hint, * org/jfree/chart/axis/CategoryAxis.java (drawTickMarks): Add rendering hint, * org/jfree/chart/axis/ValueAxis.java (drawAxisLine): Add rendering hint, (drawTickMarksAndLabels): Likewise, * org/jfree/chart/block/LineBorder.java (draw): Add rendering hint, * org/jfree/chart/plot/FastScatterPlot.java (drawDomainGridlines): Add rendering hint, (drawRangeGridlines): Likewise, * org/jfree/chart/plot/Plot.java (drawOutline): Add rendering hint, * org/jfree/chart/plot/XYPlot.java (drawDomainCrosshair): Add rendering hint, (drawRangeCrosshair): Likewise, * org/jfree/chart/renderer/category/AbstractCategoryItemRenderer.java (drawRangeLine): Add rendering hint, * org/jfree/chart/renderer/xy/AbstractXYItemRenderer.java (drawDomainLine): Add rendering hint, (drawRangeLine): Likewise. 2014-07-21 David Gilbert * org/jfree/chart/fx/FXGraphics2D.java (draw): Check KEY_STROKE_CONTROL hint for line and rectangle drawing. 2014-07-21 David Gilbert Patch #307 by Ulrich Voigt: * org/jfree/chart/plot/FastScatterPlot.java (panDomainAxes): correct the direction of panning. 2014-07-21 David Gilbert * org/jfree/chart/plot/CombinedDomainXYPlot.java (isRangePannable): New method override, (setRangePannable): Likewise, (panRangeAxes): Take subplot flag into account, * org/jfree/chart/plot/CombinedRangeXYPlot.java (isDomainPannable): New method override, (setDomainPannable): Likewise, (panDomainAxes): Take subplot flag into account. 2014-07-19 David Gilbert * org/jfree/chart/fx/ChartCanvas.java (draw): Call clearRect(), * org/jfree/chart/fx/FXGraphics2D.java (image): Removed as not used. 2014-07-04 David Gilbert * org/jfree/chart/fx/ChartViewerSkin.java (getRenderingInfo): New method, * org/jfree/chart/fx/ChartViewer.java (getRenderingInfo): New method, * org/jfree/chart/fx/interaction/ZoomHandlerFX.java (handleMouseReleased): Fetch plot rendering info. 2014-07-04 David Gilbert * org/jfree/chart/fx/FXGraphics2D.java (saveCount): New field, (setClip): Add save and restore, (reapplyAttributes): New private method, (clip): Save prior state. ---------- JFREECHART 1.0.18 RELEASED ------------------------ 2014-07-03 David Gilbert * org/jfree/chart/axis/NumberTickUnitSource.java (integers): New field, (formatter): New field, (NumberTickUnitSource(boolean)): New constructor, (NumberTickUnitSource(boolean, NumberFormatter): Likewise, (getCeilingTickUnit): Update for factors and integer setting, (next): Add factor 2 and limits, (previous): Likewise, (getTickLabelFormat): Add override, (equals): Take account of new fields, * org/jfree/chart/axis/LogAxis.java (java2DToValue): Use minimum value if required, (selectHorizontalAutoTickUnit): Likewise, (selectVerticalAutoTickUnit): Likewise, * org/jfree/chart/axis/NumberAxis.java (createStandardTickUnits): Return a NumberTickUnitSource, (createIntegerTickUnits): Likewise, * org/jfree/chart/axis/ValueAxis.java (zoomRange): Handle limits. 2014-07-01 David Gilbert * org/jfree/chart/plot/CategoryPlot.java: Numerous changes to fix iteration over map based attributes, * org/jfree/chart/plot/XYPlot.java: Likewise. 2014-07-01 David Gilbert * org/jfree/chart/plot/Marker.java (labelBackgroundColor): New field, (Marker): Initialise new field, (getLabelBackgroundColor): New method, (setLabelBackgroundColor): Likewise, (equals): Check new field, * org/jfree/chart/renderer/AbstractCategoryItemRenderer.java (drawRangeMarker): Paint background color. 2014-07-01 David Gilbert Patch #310 by Ricardo JL Rufino: * org/jfree/data/time/DynamicTimeSeriesCollection.java (DynamicTimeSeriesCollection): Recognise Millisecond time period. 2014-06-27 David Gilbert * org/jfree/chart/fx/ChartCanvas.java: New file, * org/jfree/chart/fx/ChartViewer.java: Likewise, * org/jfree/chart/fx/ChartViewerSkin.java: Likewise, * org/jfree/chart/fx/FXGraphics2D.java: Likewise, * org/jfree/chart/fx/chart-viewer.css: Likewise, * org/jfree/chart/fx/demo/BarChartFXDemo1.java: Likewise, * org/jfree/chart/fx/demo/PieChartFXDemo1.java: Likewise, * org/jfree/chart/fx/demo/TimeSeriesChartFXDemo1.java: Likewise, * org/jfree/chart/fx/interaction/AbstractMouseHandlerFX.java: Likewise, * org/jfree/chart/fx/interaction/AnchorHandlerFX.java: Likewise, * org/jfree/chart/fx/interaction/ChartMouseEventFX.java: Likewise, * org/jfree/chart/fx/interaction/ChartMouseListenerFX.java: Likewise, * org/jfree/chart/fx/interaction/DispatchHandlerFX.java: Likewise, * org/jfree/chart/fx/interaction/MouseHandlerFX.java: Likewise, * org/jfree/chart/fx/interaction/PanHandlerFX.java: Likewise, * org/jfree/chart/fx/interaction/ScrollHandlerFX.java: Likewise, * org/jfree/chart/fx/interaction/TooltipHandlerFX.java: Likewise, * org/jfree/chart/fx/interaction/ZoomHandlerFX.java: Likewise, * org/jfree/chart/utils/ExportUtils.java: Likewise. 2014-06-25 David Gilbert * org/jfree/chart/plot/PlotOrientation.java (isHorizontal): New method, (isVertical): Likewise. 2014-06-21 David Gilbert * org/jfree/chart/JFreeChart.java (JFreeChart): Add new rendering hint, (setAntiAlias): Simplify, (readObject): Update initialisation of rendering hints. 2014-04-07 David Gilbert * org/jfree/data/time/TimeSeriesCollection.java (getRangeBounds(List, Range, boolean)): Observe the xRange, * org/jfree/data/Range.java (combineIgnoringNaN): Improve NaN handling consistency. 2014-04-07 David Gilbert * org/jfree/chart/labels/StandardPieSectionLabelGenerator.java (attributedLabels): Change from ObjectList to Map, (StandardPieSectionLabelGenerator): Modify initialisation of storage, (setAttributedLabel): Storage changed to map, (equals): Simplification, (clone): Clone the attributed labels, * org/jfree/chart/StrokeMap.java (clone): Clone the storage, * org/jfree/chart/PaintMap.java (clone): Likewise, * org/jfree/chart/plot/PiePlot.java (clone): Clone required fields. 2014-03-19 David Gilbert * org/jfree/chart/axis/SymbolAxis.java (drawGridBandsHorizontal): Take into account inverted axis, (drawGridBandsVertical): Likewise. 2014-03-18 David Gilbert * org/jfree/chart/utils/AttrStringUtils.java (getTextBounds): New method, (deriveTextBoundsAnchorOffsets): Workaround for top anchor, * org/jfree/chart/axis/LogAxis.java (baseSymbol): New field, (baseFormatter): New field, (LogAxis(String)): Instantiate new tick unit source, (getBaseSymbol): New method, (setBaseSymbol): New method, (getBaseFormatter): New method, (setBaseFormatter): New method, (calculateValueNoINF): New private method, (refreshTicksHorizontal): Reimplement using attributed strings, (refreshTicksVertical): Likewise, (selectHorizontalAutoTickUnit): Reimplemented, (selectVerticalAutoTickUnit): Likewise, (createTickLabel): New method, (estimateMaximumTickLabelWidth): Updated for attributed strings, (resizeRange): New method override, (resizeRange2): Likewise, (equals): Updated for new fields, * org/jfree/chart/axis/LogTick.java: New file, * org/jfree/chart/axis/NumberTickUnitSource.java: New file, * org/jfree/chart/axis/ValueAxis.java (drawTickMarksAndLabels): Updated to draw attributed string labels, (findMaximumTickLabelHeight): Updated to handle LogTick, (findMaximumTickLabelWidth): Likewise. 2014-03-11 David Gilbert * org/jfree/chart/renderer/BarRenderer3D.java (drawItem): Check visible series. 2014-03-10 David Gilbert * org/jfree/chart/axis/DateAxis.java (get/setLocale): New methods, (equals): Check locale and timezone fields explicitly. 2014-03-10 David Gilbert * org/jfree/chart/axis/ValueAxis.java (setRange): Check range length is positive. 2014-02-28 David Gilbert * org/jfree/chart/util/LineUtils.java: (extendLine): New method. 2014-02-28 David Gilbert * org/jfree/chart/plot/CenterTextMode.java: New file, * org/jfree/chart/plot/RingPlot.java (centerTextMode): New field, (centerText): Likewise, (centerTextFont): Likewise, (centerTextColor): Likewise, (centerTextFormatter): Likewise, (RingPlot(PieDataset)): Initialise new fields, (get/setCenterTextMode): New methods, (get/setCenterText): Likewise, (get/setCenterTextFont): Likewise, (get/setCenterTextColor): Likewise, (get/setCenterTextFormatter): Likewise, (drawItem): Draw the center text, (equals): Check new fields. 2014-02-23 David Gilbert * org/jfree/data/time/TimeSeries.java (findValueRange): New method, (findValueRange(Range, TimeZone): Likewise, (findValueRange(Range , TimePeriodAnchor, TimeZone): Likewise, (updateMinMaxYByIteration): Renamed private method (was findBoundsByIteration). 2014-02-23 David Gilbert * org/jfree/data/Range.java (isNaNRange): New method. 2014-02-23 David Gilbert * org/jfree/data/time/RegularTimePeriod.java (getMillisecond) : New method. 2014-02-04 David Gilbert GitHub #298 by Simon Legner: * org/jfree/chart/axis/CompassFormat.java (CompassFormat()): Delegate to new constructors, (CompassFormat(String, String, String, String)): New constructor, (CompassFormat(String[]): Likewise. 2014-01-11 David Gilbert * org/jfree/chart/renderer/xy/AbstractXYItemRenderer.java (fillDomainGridBand): Fix rectangle dimension for vertical orientation. 2014-01-09 David Gilbert * org/jfree/data/xy/VectorSeries.java (add(VectorDataItem, boolean)): New method, * org/jfree/data/xy/XIntervalSeries.java (add(XIntervalDataItem, boolean)): New method, * org/jfree/data/xy/XYIntervalSeries.java (add(XYIntervalDataItem, boolean)): New method, * org/jfree/data/xy/YIntervalSeries.java (add(YIntervalDataItem, boolean)): New method. 2013-12-05 David Gilbert Patch from Lukasz Rzeszotarski: * org/jfree/chart/renderer/xy/XYStepAreaRenderer.java (stepPoint): New field, (XYStepAreaRenderer): Initialise stepPoint; (getStepPoint): New method, (setStepPoint): Likewise, (drawItem): Calculate step point, (equals): Add check for stepPoint attribute. 2013-11-27 David Gilbert * org/jfree/chart/ChartPanel.java (createPopupMenu): Localise 'Save as' menu items, * org/jfree/chart/LocalisationBundle.properties: Add new items. ---------- JFREECHART 1.0.17 RELEASED ------------------------ 2013-11-23 David Gilbert Bug #977: * org/jfree/chart/axis/DateAxis.java (DEFAULT_DATE_TICK_UNIT): Deprecated, (DateAxis): Replace DEFAULT_DATE_TICK_UNIT with new instance. 2013-11-22 David Gilbert * org/jfree/chart/util/PaintAlpha.java (darker): Remove reflection code no longer required, (darkerLinearGradientPaint): Likewise, (darkerRadialGradientPaint): Likewise, (darkerTexturePaint): Likewise. 2013-11-21 David Gilbert * org/jfree/chart/util/DirectionalGradientPaintTransformer.java: New file. 2013-11-21 David Gilbert * org/jfree/data/time/ohlc/OHLCSeries.java (add(OHLCItem)): New method. 2013-11-21 David Gilbert * org/jfree/data/general/AbstractDataset.java (notify): New flag, (AbstractDataset): Initialise notify to true, (getNotify): New method, (setNotify): Likewise, (fireDatasetChanged): Only fire change if notify flag is true. 2013-11-21 David Gilbert * org/jfree/data/xy/XYSeriesCollection.java (removeSeries(int)): Ensure VetoableListener is deregistered. 2013-11-21 David Gilbert * org/jfree/data/time/TimeSeriesCollection.java (getSeriesIndex): New method, (addSeries): Register VetoableListener, (removeSeries): Deregister VetoableListener, (removeAllSeries): Likewise, (vetoableChange): Check that series key does not clash with existing names. 2013-11-21 David Gilbert Bug #1084: * org/jfree/chart/block/BorderArrangement.java (add): Treat key that is not a RectangleEdge as null. 2013-11-21 David Gilbert Bug #1109: * org/jfree/chart/renderer/category/WaterfallBarRenderer.java (drawItem): Use positive bar paint when difference is 0. 2013-11-21 David Gilbert * org/jfree/chart/utils/HMSNumberFormat.java: New class. 2013-11-20 David Gilbert * org/jfree/chart/renderer/xy/XYSplineRenderer.java (FillType): New enumeration of fill types, (XYSplineState): New class, (fillType): New attribute, (gradientPaintTransformer): Likewise, (XYSplineRenderer(int, FillType)): New constructor, (getFillType): New method, (setFillType): Likewise, (getGradientPaintTransformer): Likewise, (setGradientPaintTransformer): Likewise, (initialise): Use new XYSplineState class, (drawPrimaryLineAsPath): Add filling options, (equals): Check new attributes, (ControlPoint): Removed. 2013-09-17 David Gilbert * org/jfree/chart/renderer/category/GradientBarPainter.java (paintBar): Fix coordinate bug for gradient paint. ---------- JFREECHART 1.0.16 RELEASED ------------------------ 2013-09-12 David Gilbert * org/jfree/chart/LocalizationBundle.properties (FILE_EXISTS_CONFIRM_OVERWRITE): New entry, (PDF_Files): Likewise, (SVG_Files): Likewise, * org/jfree/chart/ChartPanel.java (SAVE_AS_PNG_COMMAND): New field, (SAVE_AS_SVG_COMMAND): Likewise, (SAVE_AS_PDF_COMMAND): Likewise, (actionPerformed): Handle SVG and PDF options, (saveAsSVG): New private method, (generateSVG): New method, (createSVGGraphics2D): New private method, (saveAsPDF): Likewise, (isOrsonPDFAvailable): Likewise, (writeAsPDF): Likewise, (createPopupMenu): Add SVG and PDF options when available, * org/jfree/chart/plot/PiePlot.java (draw): Check for KEY_SUPPRESS_SHADOW_GENERATION rendering hint, * org/jfree/chart/plot/CategoryPlot.java (draw): Likewise, * org/jfree/chart/plot/XYPlot.java (draw): Likewise. 2013-09-12 David Gilbert * org/jfree/chart/JFreeChart.java (KEY_SUPPRESS_SHADOW_GENERATION): new field. 2013-09-12 David Gilbert * org/jfree/chart/axis/DateAxis.java (zoomRange): Prevent axis range from falling below 1 millisecond. 2013-08-30 David Gilbert * org/jfree/chart/renderer/xy/StackedXYAreaRenderer.java (drawItem): Set stroke and paint for drawing lines (bugfix). 2013-08-16 David Gilbert * org/jfree/chart/plot/CombinedDomainCategoryPlot.java (setShadowGenerator): New method override, * org/jfree/chart/plot/CombinedRangeCategoryPlot.java (setShadowGenerator): Likewise, * org/jfree/chart/plot/CombinedDomainXYPlot.java (setShadowGenerator): Likewise, * org/jfree/chart/plot/CombinedRangeXYPlot.java (setShadowGenerator): Likewise. 2013-08-15 David Gilbert * org/jfree/chart/plot/PiePlot.java (lookupSectionPaint): Replace reflection code with Java 1.6 equivalent. 2013-08-10 David Gilbert * org/jfree/data/general/DatasetUtilities.java (findYValue): New method, (findItemIndicesForX): Likewise. 2013-08-04 David Gilbert * org/jfree/chart/ChartFactory.java (createPieChart): Simplified version (less parameters), (createPieChart3D): Likewise, (createBarChart): Likewise, (createStackedBarChart): Likewise, (createBarChart3D): Likewise, (createStackedBarChart3D): Likewise, (createAreaChart): Likewise, (createStackedAreaChart): Likewise, (createLineChart): Likewise, (createLineChart3D): Likewise, (createGanttChart): Likewise, (createScatterPlot): Likewise, (createXYBarChart): Likewise, (createXYAreaChart): Likewise, (createStackedXYAreaChart): Likewise, (createXYLineChart): Likewise, (createXYStepChart): Likewise, (createXYStepAreaChart): Likewise, (createTimeSeriesChart): Likewise, (createBubbleChart): Likewise. 2013-08-01 David Gilbert * org/jfree/chart/axis/Axis.java (labelLocation): New field, (Axis): Initialise new field, (getLabelLocation): New method, (setLabelLocation): Likewise, (labelLocationX): Likewise, (labelLocationY): Likewise, (labelAnchorH): Likewise, (labelAnchorV): Likewise, (drawLabel): Take into account position, (drawAttributedLabel): Likewise, * org/jfree/chart/axis/AxisLabelLocation.java: New class. 2013-08-01 David Gilbert * org/jfree/chart/axis/Axis.java (attributedLabel): New field, (setLabel): Simplified, (getAttributedLabel): New method, (setAttributedLabel(String)): Likewise, (setAttributedLabel(AttributedString)): Likewise, (createAttributedLabel(String)): New private method, (getLabelEnclosure): Use attributedLabel if not null,ยจ (drawAttributedLabel): New method, (equals): Check new attributedLabel field, (hashCode): Call super, (writeObject): Write attributedLabel, (readObject): Read attributedLabel, * org/jfree/chart/axis/NumberAxis.java (draw): Use attributedLabel if not null, * org/jfree/chart/axis/NumberAxis3D.java: Likewise, * org/jfree/chart/axis/CategoryAxis.java: Likewise, * org/jfree/chart/axis/CategoryAxis3D.java: Likewise, * org/jfree/chart/axis/SubCategoryAxis.java: Likewise, * org/jfree/chart/axis/DateAxis.java: Likewise, * org/jfree/chart/axis/LogAxis.java: Likewise, * org/jfree/chart/axis/PeriodAxis.java: Likewise, * org/jfree/chart/utils/AttrStringUtils.java: New class. 2013-08-01 David Gilbert * org/jfree/experimental/swt/SWTGraphics2D.java (SWTGraphics2D): Set default stroke, (setPaint): Do nothing for null, (setColor): Likewise, (setBackground): Store color for later, don't update GC now, (getBackground): Return stored color, (setComposite): Throw IllegalArgumentException for null, (setStroke): Likewise, (clipRect): Fix to apply intersect operation, (rotate(double)): Reimplemented, (rotate(double, double, double)): Implemented, (shear): Reimplemented, (clearRect): Do nothing if background color is null, (drawGlyphVector): Implemented, (drawString(String, int, int)): Delegate, (drawString(String, float, float)): Check for null string, (hit): Implemented. 2013-07-25 David Gilbert * org/jfree/chart/axis/CategoryAxis.java (categoryLabelURLs): New field, (CategoryAxis): Initialise URL storage, (addCategoryLabelURL): New method, (getCategoryLabelURL): Likewise, (removeCategoryLabelURL): Likewise, (clearCategoryLabelURLs): Likewise, (drawCategoryLabels): Add URL info, (clone): Clone URLs, (equals): Test URLs. 2013-07-25 David Gilbert Bug 1107: * org/jfree/chart/axis/PeriodAxis.java (PeriodAxis): Use timezone when creating default PeriodAxisLabelInfo, (drawTickLabels): Apply timezone to date formatter. 2013-07-25 David Gilbert * org/jfree/chart/axis/PeriodAxisLabelInfo.java (PeriodAxisLabelInfo): clone dateFormat, (getDateFormat): return clone, * org/jfree/chart/axis/PeriodAxis.java (drawTickLabels): fetch dateFormat only once. 2013-07-05 David Gilbert * org/jfree/chart/plot/PolarPlot.java (setRadiusMinorGridlinesVisible): Fire change event. ---------- JFREECHART 1.0.15 RELEASED ------------------------ 2013-07-04 David Gilbert * org/jfree/chart/renderer/DefaultPolarItemRenderer.java (drawAngularGridLines): Check for inverted axis, (drawRadialGridLines): Likewise. 2013-07-01 David Gilbert * org/jfree/chart/annotation/TextAnnotation.java (setText): Fire change event. 2012-09-18 David Gilbert Bug 3508799: * org/jfree/chart/renderer/DefaultPolarItemRenderer.java (getLegendItem): Populate seriesKey. 2012-09-15 David Gilbert * org/jfree/chart/plot/CombinedDomainXYPlot.java (add(XYPlot, int)): Use ParamChecks class, (remove): Likewise, (findSubPlot): Likewise. 2012-09-04 David Gilbert Bug 3555275: * org/jfree/chart/axis/ValueAxis.java (reserveSpace): Return correct value for axes with a fixed dimension specified. 2012-08-23 David Gilbert Bug 3561093: * org/jfree/chart/renderer/RendererUtilities.java (findLiveItemsLowerBound): changed while loop expression, (findLiveItemsUpperBound): likewise. 2012-07-28 David Gilbert * org/jfree/data/general/Series.java (setKey): Update exception argument and Javadocs, * org/jfree/data/general/XYSeriesCollection.java (vetoableChange) : Call getSeriesIndex() rather than getSeries(), * tests/org/jfree/data/xy/junit/XYSeriesCollectionTests.java (testSeriesRename): New test method. 2012-07-17 David Gilbert * org/jfree/data/time/Month.java (getFirstMillisecond): Use getTimeInMillis(); (getLastMillisecond): Likewise; * org/jfree/data/time/Year.java Likewise; * org/jfree/data/time/Quarter.java Likewise; * org/jfree/data/time/Week.java Likewise; * org/jfree/data/time/Day.java Likewise, * org/jfree/data/time/Hour.java Likewise, * org/jfree/data/time/Minute.java Likewise, * org/jfree/data/time/Second.java Likewise; * org/jfree/data/time/Millisecond.java Likewise. 2012-07-17 David Gilbert * org/jfree/chart/renderer/AbstractRenderer.java Remove use of BooleanUtilities throughout; * org/jfree/chart/renderer/xy/XYLineAndShapeRenderer.java Likewise. 2012-07-12 David Gilbert (from Leo Leung) * org/jfree/chart/LocalisationBundle_ja.properties: Updated translations. 2012-07-05 David Gilbert * org/jfree/chart/encoders/ImageEncoderFactory.java (encoders): Change type to Map, (init) : Remove JDK 1.3 specific code. 2012-07-05 David Gilbert * org/jfree/chart/ChartPanel.java (setMouseWheelEnabled): Remove reflection only needed for JRE 1.3.1. 2012-07-02 David Gilbert Translations by Leo Leung: * org/jfree/chart/LocalisationBundle_ja.properties: New translation file; * org/jfree/chart/editor/LocalisationBundle_ja.properties: Likewise; * org/jfree/chart/plot/LocalisationBundle_ja.properties: Likewise. 2012-07-01 David Gilbert * org/jfree/chart/plot/PiePlot.java (drawSimpleLabels): Generate label once only (DG); 2012-07-01 David Gilbert Bug 3521736 (optimisation) * org/jfree/chart/renderer/xy/DeviationRenderer.java (drawItem): Provide initial capacity for GeneralPath. 2012-06-11 David Gilbert Patch 3204823 by DaveLaw * org/jfree/chart/plot/PiePlot3D.java (drawSide): Use new PaintAlpha class, * org/jfree/chart/renderer/category/BarRenderer3D.java (drawItem): Likewise, * org/jfree/chart/renderer/category/StackedBarRenderer3D.java (drawStackHorizontal): Likewise, (drawStackVertical): Likewise, * org/jfree/chart/util/PaintAlpha.java: New class. 2012-05-10 David Gilbert * org/jfree/chart/renderer/xy/XYBarRenderer.java (findDomainBounds): call new method in super-class to take account of non-visible series, (findRangeBounds): likewise; * tests/org/jfree/chart/renderer/xy/junit/XYBarRendererTests.java (testFindDomainBounds2): new test; (testFindRangeBounds2): Likewise. 2012-03-11 Martin Hoeller Patch 3500621 by Simon Kaczor * org/jfree/chart/title/LegendTitle (sortOrder): New field, (getSortOrder): New method, (setSortOrder): Likewise, (fetchLgendItems): Updated to support new sort order, (equals): Likewise. * tests/org/jfree/chart/title/LegendTitle (testEquals): Adapted for new field. 2012-02-13 Martin Hoeller Bug 3425881/Patch 3450234 by Patrick Schlott/Christoph Schroeder, reviewed by Richard West * org/jfree/chart/rendered/xy/XYDifferenceRenderer (drawItemPass0): Fix problems with identical x-values. 2012-02-08 Martin Hoeller Bug 3484403: * org/jfree/chart/axis/DateAxis (refreshTicksHorizontal): Fix endless loop, (refreshTicksVertical): Likewise; 2012-02-08 Martin Hoeller Bug 3484408: * ant/build.xml: fixed maven-bundle task. 2012-01-08 David Gilbert * source/org/jfree/chart/plot/dial/StandardDialScale.java (angleToValue): Implemented and removed FIXME. 2012-01-08 David Gilbert Bug 3445507: * source/org/jfree/data/time/TimeSeriesCollection.java (getRangeBounds(boolean)): New method, (getRangeBounds(List, Range, boolean)): Fix combining of ranges. 2012-01-08 David Gilbert * source/org/jfree/data/Range.java (combineIgnoringNaN): New method. 2012-01-08 David Gilbert Patch 3463807 by Sebastiao Correia * swt/org/jfree/experimental/chart/swt/ChartComposite.java (dispose): Dispose the popup if not null. 2011-12-21 Martin Hoeller Patch 3447161 by Ulrich Voigt/Martin Hoeller: * org/jfree/chart/plot/CombinedDomainXYPlot.java: (panRangeAxes): new method; * org/jfree/chart/plot/CombinedRangeXYPlot.java (panDomainAxes): new method; 2011-12-16 Martin Hoeller Add support to hide minor gridlines for PolarPlot: * org/jfree/chart/plot/PolarPlot.java (radiusMinorGridlinesVisible): New field, (isRadiusMinorGridlinesVisible): New method, (setRadiusMinorGridlinesVisible): Likewise, (buildRadialTicks): Likewise, (drawGridlines): Updated to support new flag; 2011-11-12 Martin Hoeller Improvements to axis and plot editors: * org/jfree/chart/editor/DefaultValueAxisEditor.java: New file; * org/jfree/chart/editor/DefaultLogAxisEditor.java: New file; * org/jfree/chart/editor/DefaultPolarPlotEditor.java: New file; * org/jfree/chart/editor/DefaultChartEditor.java: (constructor): added support for DefaultPolarPlotEditor; * org/jfree/chart/editor/DefaultAxisEditor.java (constructor): added support for DefaultLogAxisEditor; * org/jfree/chart/editor/DefaultNumberAxisEditor.java: refactoring; * org/jfree/chart/editor/DefaultPlotEditor.java (createPlotPanel): new method, (createPlotTabs): new method; * org/jfree/chart/editor/LocalizationBundle_ru.properties: addition * org/jfree/chart/editor/LocalizationBundle_pt_PT.properties: addition * org/jfree/chart/editor/LocalizationBundle_de.properties: addition * org/jfree/chart/editor/LocalizationBundle_zh_CN.properties: addition * org/jfree/chart/editor/LocalizationBundle_pt_BR.properties: addition * org/jfree/chart/editor/LocalizationBundle_es.properties: addition * org/jfree/chart/editor/LocalizationBundle_fr.properties: addition * org/jfree/chart/editor/LocalizationBundle_nl.properties: addition * org/jfree/chart/editor/LocalizationBundle_pl.properties: addition * org/jfree/chart/editor/LocalizationBundle.properties: addition 2011-12-03 David Gilbert Bug 2879650: * org/jfree/chart/servlet/DisplayChart.java (service): Don't display file path in exception. 2011-12-03 David Gilbert Bug 3446965: * org/jfree/data/time/TimeSeries.java (addOrUpdate): correct update of this.maxY. ---------- JFREECHART 1.0.14 RELEASED ------------------------ 2011-11-20 David Gilbert Bug 3440237: * org/jfree/chart/plot/CategoryPlot.java (CategoryPlot): initialise shadow generator as null; (PiePlot): likewise; 2011-11-13 David Gilbert Patch 3435734 by Martin Hoeller: * org/jfree/chart/renderer/category/LineRenderer3D.java (drawItem): Draw lines in pass 0 and item labels in pass 1; 2011-11-12 Martin Hoeller Bug 3432721: * org/jfree/chart/plot/PolarPlot.java (translateToJava2D): Fix calculation to work with any axis, (translateValueThetaRadiusToJava2D): eliminate duplicate code; * tests/org/jfree/chart/plot/PolarPlotTests.java (testTranslateToJava2D_NumberAxis): New method, (testTranslateToJava2D_NumberAxisAndMargin): New method, (testTranslateToJava2D_LogAxis): New method; 2011-11-09 Martin Hoeller Translations provided by Petr Kopac: * org/jfree/chart/LocalizationBundle_cs.properties: New file; * org/jfree/chart/plot/LocalizationBundle_cs.properties: New file; * org/jfree/chart/editor/LocalizationBundle_cs.properties: New file; 2011-11-09 Martin Hoeller Bug 3433405: * org/jfree/chart/renderer/category/LineRenderer3D.java (drawItem): Fixed eventually wrong item label position; 2011-11-01 David Gilbert Bug 3432020: * org/jfree/chart/renderer/xy/AbstractXYItemRenderer.java (clone): Remove duplicated lines. 2011-10-30 David Gilbert * org/jfree/chart/renderer/category/IntervalBarRenderer.java (drawInterval): Fix calculation of bar edge; * org/jfree/chart/renderer/category/StatisticalBarRenderer.java (drawHorizontalItem): Fix calculation of bar edge; (drawVerticalItem): Likewise; 2011-10-30 David Gilbert * org/jfree/chart/StandardChartTheme.java (StandardChartTheme(String, boolean)): New method. 2011-10-28 Martin Hoeller Bug 2810220: * org/jfree/chart/renderer/category/StatisticalBarRenderer.java (drawHorizontalItem): Fixed offset problem with maximalBarWidth, (drawVerticalItem): Likewise; 2011-10-28 Martin Hoeller Bug 3428870: * org/jfree/chart/annotations/TextAnnotation.java (setRotationAnchor): Added missing argument check, Bug #3428870; 2011-10-28 Martin Hoeller Bug 3429707: * org/jfree/chart/axis/LogAxis.java (refreshTicksHorizontal): Fixed endless loop for 0 TickUnit, (refreshTicksVertical): Likewise; 2011-10-19 David Gilbert Bug 3072674: * org/jfree/data/statistics/DefaultStatisticalCategoryDataset.java (getRangeLowerBound): Check for NaN, (getRangeUpperBound): Likewise, (getRangeBounds): Call getRangeLowerBound() and getRangeUpperBound(). 2011-10-19 David Gilbert Bug 3026341: * org/jfree/chart/renderer/xy/XYShapeRenderer.java (findDomainBounds): Check for null, (findRangeBounds): Likewise. 2011-10-18 David Gilbert Bug 3190615: * org/jfree/data/xy/CategoryTableXYDataset.java (clear): New method. 2011-10-16 David Gilbert * org/jfree/chart/plot/PiePlot.java (drawItem): Use new Paint lookup, (getArcCenter): New protected method, (lookupSectionPaint): Handle GradientPaint. 2011-10-16 David Gilbert * org/jfree/chart/util/ParamChecks.java: New class; * org/jfree/data/general/Series.java (vetoableChangeSupport): New field, (Series(Comparable, String)): Initialise vetoableChangeSupport, (setKey): Fire vetoable property change, (clone): Initialise vetoableChangeSupport, (addVetoableChangeListener): New method; * org/jfree/data/xy/XYSeriesCollection.java (XYSeriesCollection(XYSeries)): Register listener, (addSeries): Check for duplicate key, register listener, (removeSeries): Deregister listener, (removeAllSeries): Likewise, (getSeriesIndex): New method, (vetoableChange): New method. 2011-10-16 Martin Hoeller * org/jfree/chart/renderer/DefaultPolarItemRenderer.java (readObject): Handle fillComposite serialization; (writeObject): Likewise. 2011-10-15 David Gilbert * org/jfree/chart/renderer/xy/XYLineAndShapeRenderer.java (getLegendItem): Added early returns to reduce indentation, updated Javadoc. 2011-10-13 Martin Hoeller * pom.xml added 2011-10-11 David Gilbert * org/jfree/data/time/TimeSeries.java (update(RegularTimePeriod, double)): new method. 2011-10-11 Martin Hoeller Patch 3421088: * org/jfree/chart/renderer/category/BoxAndWhiskerRenderer.java (drawVerticalItem): bugfix for misaligned whiskers. 2011-10-11 David Gilbert Bug 3237879: * org/jfree/chart/plot/RingPlot.java (drawItem): Check sectionOutlineVisible flag. 2011-10-10 Martin Hoeller Bug 3165708: * org/jfree/chart/PolarChartPanel.java: localization fix 2011-10-10 Martin Hoeller Bug 3353913: * org/jfree/chart/plot/CompassPlot.java: localization fix * org/jfree/chart/plot/PiePlot3D.java: localization fix * org/jfree/chart/plot/LocalizationBundle_de.properties: addition * org/jfree/chart/plot/LocalizationBundle_ru.properties: addition * org/jfree/chart/plot/LocalizationBundle_nl.properties: addition * org/jfree/chart/plot/LocalizationBundle_pl.properties: addition * org/jfree/chart/plot/LocalizationBundle_zh_CN.properties: addition * org/jfree/chart/plot/LocalizationBundle_es.properties: addition * org/jfree/chart/plot/LocalizationBundle_pt_PT.properties: addition * org/jfree/chart/plot/LocalizationBundle_fr.properties: addition * org/jfree/chart/plot/LocalizationBundle.properties: addition * org/jfree/chart/ChartPanel.java: localization fix * org/jfree/chart/LocalizationBundle_de.properties: addition * org/jfree/chart/LocalizationBundle_zh_TW.properties: addition * org/jfree/chart/LocalizationBundle_zh_CN.properties: addition * org/jfree/chart/LocalizationBundle_pt_BR.properties: addition * org/jfree/chart/LocalizationBundle_es.properties: addition * org/jfree/chart/LocalizationBundle_ru.properties: addition * org/jfree/chart/LocalizationBundle_pt_PT.properties: addition * org/jfree/chart/LocalizationBundle_fr.properties: addition * org/jfree/chart/LocalizationBundle_nl.properties: addition * org/jfree/chart/LocalizationBundle_pl.properties: addition * org/jfree/chart/LocalizationBundle_it.properties: addition * org/jfree/chart/LocalizationBundle.properties: addition 2011-10-07 Martin Hoeller Bug 3035289/Patch 3035325: * source/org/jfree/chart/renderer/xy/StackedXYBarRenderer.java (drawItem): check if series and item are visible 2011-10-07 Martin Hoeller * source/org/jfree/chart/renderer/PolarItemRenderer.java (useFillPaint): New field, (legendLine): Likewise; (connectFirstAndLastPoint): New method, (toolTipGeneratorList): Likewise, (baseToolTipGenerator): Likewise, (urlGenerator): Likewise, (legendItemToolTipGenerator): Likewise, (legendItemURLGenerator): Likewise, (getConnectFirstAndLastPoint): Likewise, (setConnectFirstAndLastPoint): Likewise, (getUseFillPaint): Likewise, (setUseFillPaint): Likewise, (getLegendLine): Likewise, (setLegendLine): Likewise, (getToolTipGenerator): Likewise, (getSeriesToolTipGenerator): Likewise, (setSeriesToolTipGenerator): Likewise, (getBaseToolTipGenerator): Likewise, (setBaseToolTipGenerator): Likewise, (getURLGenerator): Likewise, (setURLGenerator): Likewise, (getLegendItemToolTipGenerator): Likewise, (setLegendItemToolTipGenerator): Likewise, (getLegendItemURLGenerator): Likewise, (setLegendItemURLGenerator): Likewise. * source/org/jfree/chart/renderer/DefaultPolarItemRenderer.java (getToolTipGenerator): New method, (getSeriesToolTipGenerator): Likewise, (setSeriesToolTipGenerator): Likewise, (getBaseToolTipGenerator): Likewise, (setBaseToolTipGenerator): Likewise, (getURLGenerator): Likewise, (setURLGenerator): Likewise. * source/org/jfree/chart/plot/PolarPlot.java (angleOffset): New field, (counterClockwise): Likewise; (getAxisCount): New method, (getDatasetCount): Likewise, (getAngleOffset): Likewise, (setAngleOffset): Likewise, (isCounterClockwise): Likewise, (setCounterClockwise): Likewise, (getAxisIndex): Likewise, 2011-10-06 David Gilbert * source/org/jfree/chart/renderer/xy/AbstractXYItemRenderer.java (lineTo): New method; (moveTo): New method; * source/org/jfree/chart/renderer/xy/XYAreaRenderer.java (drawItem): Replace GeneralPath lineTo() and moveTo(); * source/org/jfree/chart/renderer/xy/XYAreaRenderer2.java (drawItem): Replace GeneralPath lineTo() and moveTo(); 2011-10-06 David Gilbert Bug 3418287 * tests/org/jfree/chart/util/junit/RelativeDateFormatTests.java (setUp): New method; (tearDown): New method. 2010-03-30 David Gilbert Patch 2954302: * source/org/jfree/chart/annotation/CategoryPointerAnnotation.java (draw): Modified calculation of pointer line. 2010-02-16 David Gilbert Patch 2952086 by Martin Hoeller: * source/org/jfree/chart/renderer/xy/XYShapeRenderer.java (findZBounds): New method, * source/org/jfree/data/general/DatasetUtilities.java (findZBounds(XYZDataset): New method, (findZBounds(XYZDataset, boolean)): Likewise, (findZBounds(XYZDataset, List, Range, boolean)): Likewise, * tests/org/jfree/chart/renderer/xy/junit/XYShapeRendererTests.java (testFindZBounds): New method. 2010-02-09 David Gilbert Bug 2946521: * source/org/jfree/chart/plot/dial/StandardDialScale.java (StandardDialScale): Check 'majorTickIncrement' argument. 2010-02-09 David Gilbert Bug 2947660: * source/org/jfree/chart/renderer/category/AbstractCategoryRenderer.java (getLegendItems): Fix null check. 2009-12-09 David Gilbert * source/org/jfree/chart/renderer/DefaultPolarItemRenderer.java (getLegendItem): Handle multiple datasets, * source/org/jfree/chart/plot/PolarPlot.java (fixedLegendItems): New field, (getFixedLegendItems): New method, (setFixedLegendItems): Likewise, (getIndexOf(PolarItemRenderer)): Likewise, (getLegendItems): Handle multiple datasets, (equals): Updated for new fields. 2009-12-08 David Gilbert * source/org/jfree/chart/renderer/xy/XYBoxAndWhiskerRenderer.java (drawVerticalItems): Check for null outliers. 2009-12-08 David Gilbert * source/org/jfree/data/statistics/HistogramDataset.java (addSeries): Fire dataset change event. 2009-11-27 David Gilbert * source/org/jfree/chart/plot/PolarPlot.java (axis): Removed, (dataset): Likewise, (renderer): Likewise, (axes): New field, (axisLocations): Likewise, (datasets): Likewise, (renderers): Likewise, (datasetToAxesMap): Likewise, (PolarPlot(XYDataset, ValueAxis, PolarItemRenderer)): Initialise new fields, (getAxis): Delegate to new method, (ValueAxis getAxis(int)): New method, (setAxis(ValueAxis)): Delegate to new method, (setAxis(int, ValueAxis)): New method, (setAxis(int, ValueAxis, boolean)): Likewise, (getAxisLocation): New method, (getAxisLocation(int)): Likewise, (setAxisLocation(PolarAxisLocation)): Likewise, (setAxisLocation(PolarAxisLocation, boolean)): Likewise, (getDataset): Delegate to new method, (getDataset(int)): New method, (setDataset(XYDataset)): Delegate to new method, (setDataset(int, XYDataset)): New method, (indexOf(XYDataset)): New method, (getRenderer): Delegate to new method, (getRenderer(int)): New method, (setRenderer(PolarItemRenderer)): Delegate to new method, (setRenderer(int, PolarItemRenderer)): New method, (setRenderer(int, PolarItemRenderer, boolean)): New method, (mapDatasetToAxis(int, int)): New method, (mapDatasetToAxes(int, List)): New method, (checkAxisIndices(List)): New private method, (getAxisForDataset(int)): New method, (draw): Updated to support multiple datasets, axes and renderers, (drawAxis): Handle alternative axis locations, (render): Handle multiple datasets, (drawGridlines): Fetch primary axis, (zoom): Added FIXME, (getDataRange): Likewise, (datasetChanged): Likewise, (getLegendItems): Likewise, (getSeriesCount): Deprecated, (equals): Updated for new fields, (clone): Likewise, (readObject): Likewise, (zoomRangeAxes): Added FIXME, (translateToJava2D): New method, (translateValueThetaRadiusToJava2D): Deprecated, (getMaxRadius): Likewise, (drawAxis): Likewise, * source/org/jfree/chart/renderer/DefaultPolarItemRenderer.java (drawSeries): Fetch appropriate axis, (drawAngularGridLines): Update for deprecated method, * source/org/jfree/chart/plot/PolarAxisLocation.java: New file. 2009-11-04 David Gilbert * source/org/jfree/chart/MouseWheelHandler.java (mouseWheelMoved): Handle PiePlot, * source/org/jfree/chart/demo/PieChartDemo1.java (createDemoPanel): Enable mouse wheel, * source/org/jfree/chart/plot/PiePlot.java (handleMouseWheelRotation): New method. 2009-11-03 David Gilbert * source/org/jfree/chart/renderer/AbstractCategoryItemRenderer.java (getLegendItems): Check series rendering order in plot, * source/org/jfree/chart/plot/CategoryPlot.java (getLegendItems): Use getLegendItems() method in each renderer. 2009-11-02 David Gilbert Bug 2876406: * source/org/jfree/data/time/TimeTableXYDataset.java (add): Changed String parameter to Comparable, (remove): Likewise. 2009-09-28 David Gilbert Patch 2868608 by Peter Becker: * source/org/jfree/chart/renderer/BoxAndWhiskerRenderer.java (whiskerWidth): New field, (BoxAndWhiskerRenderer): Set new field default, (getWhiskerWidth): New method, (setWhiskerWidth): Likewise, (drawHorizontalItem): Use new field, (drawVerticalItem): Likewise, (equals): Check new flag. 2009-09-28 David Gilbert Patch 2868585 by Peter Becker: * source/org/jfree/chart/renderer/BoxAndWhiskerRenderer.java (useOutlinePaintForWhiskers): New field, (getUseOutlinePaintForWhiskers): New method, (setUseOutlinePaintForWhiskers): Likewise, (drawHorizontalItem): Use new flag, (drawVerticalItem): Likewise, (equals): Check new flag. 2009-09-28 David Gilbert Bug 2868557: * source/org/jfree/chart/renderer/BoxAndWhiskerRenderer.java (setMedianVisible): Fire change event. 2009-09-16 David Gilbert Bug 2849731: * source/org/jfree/chart/DatasetUtilities.java (iterateRangeBounds(XYDataset, boolean)): For IntervalXYDataset, include regular value and account for nulls / Double.NaN. 2009-09-10 David Gilbert Bug 2849731: * source/org/jfree/chart/DatasetUtilities.java (iterateRangeBounds(CategoryDataset, boolean)): For IntervalCategoryDataset look at regular value, and account for nulls. 2009-09-10 David Gilbert Bug fix by Jim Goodwin: * source/org/jfree/chart/MouseWheelHandler.java (handleZoomable): Respect domain/rangeZoomable fields in ChartPanel. 2009-09-04 David Gilbert Patch 2850344 by Martin Hoeller: * source/org/jfree/chart/plot/PolarPlot.java (margin): New field, (PolarPlot): Initialise new field, (getMargin): New method, (setMargin): Likewise, (refreshAngleTicks): Set label anchors according to angle, (draw): Use margin attribute, (equals): Updated for margin, (translateValueThetaRadiusToJava2D): Use new margin attribute, * source/org/jfree/chart/renderer/DefaultPolarRenderer.java (drawOutlineWhenFilled): New attribute, (fillComposite): Likewise, (shapesVisible): Likewise, (DefaultPolarItemRenderer): Initialise new fields, (drawSeries): Use new attributes, (drawAngularGridlines): Use new tick label anchors, (getDrawOutlineWhenFilled): New method, (setDrawOutlineWhenFilled): Likewise, (getFillComposite): Likewise, (setFillComposite): Likewise, (getShapesVisible): Likewise, (setShapesVisible): Likewise, (equals): Updated for new fields. 2009-09-03 David Gilbert * source/org/jfree/chart/plot/PiePlot.java (drawSimpleLabels): Make use of simpleLabelOffset attribute. 2009-09-01 David Gilbert Bug 2840132: * source/org/jfree/chart/renderer/AbstractXYItemRenderer.java (drawAnnotations): Set renderer index. 2009-08-31 David Gilbert * source/org/jfree/data/time/TimeSeries.java (createCopy): Clear cached minY and maxY values. 2009-08-31 David Gilbert * source/org/jfree/chart/plot/Plot.java (DEFAULT_OUTLINE_STROKE): Changed default cap and join. 2009-07-13 David Gilbert * source/org/jfree/chart/plot/Plot.java (drawBackgroundImage): Clip to data area. 2009-07-08 David Gilbert * source/org/jfree/chart/axis/NumberAxis.java (createStandardTickUnits): Added additional units for small tick sizes. 2009-07-07 David Gilbert * source/org/jfree/chart/renderer/category/StackedBarRenderer3D.java (ignoreZeroValues): New flag, (getIgnoreZeroValues): New method, (setIgnoreZeroValues): Likewise, (createStackedValueList): Removed static modifier and check value of new flag, (equals): Check value of new flag, (hashCode): New method override. 2009-07-06 David Gilbert * source/org/jfree/chart/plot/CategoryPlot.java (clone): Update plot references in cloned renderers, * source/org/jfree/chart/plot/XYPlot.java (clone): Likewise. 2009-07-06 David Gilbert * source/org/jfree/chart/ChartPanel.java (paintComponent): Clear off screen buffer to fully transparent. 2009-06-29 David Gilbert * source/org/jfree/chart/JFreeChart.java (draw): Check the visibility of the main chart title before drawing it. 2009-06-29 David Gilbert * source/org/jfree/chart/axis/CategoryAxis.java (draw): Add axis entity before drawing labels. 2009-06-26 David Gilbert * source/org/jfree/data/time/TimeSeriesCollection.java (clone): New method override. 2009-06-26 David Gilbert * source/org/jfree/data/time/ohlc/OHLCSeriesCollection.java (removeSeries(int)): New method, (removeSeries(OHLCSeries)): Likewise, (removeAllSeries): Likewise. 2009-06-24 David Gilbert Patch 2809117 by Peter Kolb: * source/org/jfree/chart/annotations/AbstractAnnotation.java: New file, * source/org/jfree/chart/annotations/AbstractXYAnnotation.java: Now extends AbstractAnnotation, * source/org/jfree/chart/annotations/Annotation.java: New file, * source/org/jfree/chart/annotations/CategoryAnnotation.java: Now extends Annotation, * source/org/jfree/chart/annotations/CategoryLineAnnotation.java Now extends AbstractAnnotation, (setCategory1): Fire change event, (setValue1): Likewise, (setCategory2): Likewise, (setValue2): Likewise, (setPaint): Likewise, (setStroke): Likewise, * source/org/jfree/chart/annotations/CategoryPointerAnnotation.java (setAngle): Fire change event, (setTipRadius): Likewise, (setBaseRadius): Likewise, (setLabelOffset): Likewise, (setArrowLength): Likewise, (setArrowWidth): Likewise, (setArrowStroke): Likewise, (setArrowPaint): Likewise, * source/org/jfree/chart/annotations/CategoryTextAnnotation.java (setCategory): Fire change event, (setCategoryAnchor): Likewise, (setValue): Likewise, * source/org/jfree/chart/annotations/TextAnnotation.java (setFont): Fire change event, (setPaint): Likewise, (setTextAnchor): Likewise, (setRotationAnchor): Likewise, (setRotationAngle): Likewise, * source/org/jfree/chart/annotations/XYAnnotation.java: Now extends Annotation, * source/org/jfree/chart/annotations/XYPointerAnnotation.java (setAngle): Fire change event, (setTipRadius): Likewise, (setBaseRadius): Likewise, (setLabelOffset): Likewise, (setArrowLength): Likewise, (setArrowWidth): Likewise, (setArrowStroke): Likewise, (setArrowPaint): Likewise, * source/org/jfree/chart/annotations/XYTextAnnotation.java (setFont): Fire change event, (setPaint): Likewise, (setTextAnchor): Likewise, (setRotationAnchor): Likewise, (setRotationAngle): Likewise, (setX): Likewise, (setY): Likewise, (setBackgroundPaint): Likewise, (setOutlinePaint): Likewise, (setOutlineStroke): Likewise, (setOutlineVisible): Likewise, * source/org/jfree/chart/annotations/XYTitleAnnotation.java (setMaxWidth): Fire change event, (setMaxHeight): Likewise, * source/org/jfree/chart/event/AnnotationChangeEvent.java: New file, * source/org/jfree/chart/event/AnnotationChangeListener.java: New file, * source/org/jfree/chart/plot/CategoryPlot.java (annotationChanged): New method, (addAnnotation): Add listener, (removeAnnotation): Clear listener, (clearAnnotations): Clear listeners, * source/org/jfree/chart/plot/Plot.java (annotationChanged): New method, * source/org/jfree/chart/plot/XYPlot.java (annotationChanged): New method, (addAnnotation): Add listener, (removeAnnotation): Clear listener, (clearAnnotations): Clear listeners, * source/org/jfree/chart/renderer/xy/AbstractXYItemRenderer.java (annotationChanged): New method, (addAnnotation): Add listener, (removeAnnotation): Clear listener, (removeAnnotations): Clear listeners. 2009-06-17 David Gilbert * source/org/jfree/data/time/ohlc/OHLCSeries.java (remove(int)): New method override. 2009-06-11 David Gilbert * source/org/jfree/chart/renderer/xy/XYAreaRenderer.java (useFillPaint): New attribute, (gradientTransformer): Likewise, (XYAreaRenderer): Initialise new fields, (getUseFillPaint): New method, (setUseFillPaint): Likewise, (getGradientTransformer): Likewise, (setGradientTransformer): Likewise, (drawItem): Handle gradient transform, (equals): Updated for new fields, (hashCode): New method. 2009-06-10 David Gilbert * source/org/jfree/data/xy/XYDataItem.java (clone): Rewritten so it doesn't declare CloneNotSupportedException, * source/org/jfree/data/xy/XYSeries.java (add(XYDataItem, boolean)): Clone item before adding, (getDataItem(int)): Return a clone, (getRawDataItem): New method, (getX): Call getRawDataItem(), (getY): Likewise, (update): Likewise, (addOrUpdate(Number, Number)): Delegate to new method, (addOrUpdate(XYDataItem)): New method, (hashCode): Call getRawDataItem(), * source/org/jfree/data/XYSeriesCollection.java (getX): Simplified, (getY): Likewise, * source/org/jfree/data/DefaultTableXYDataset.java (getX): Simplified, (getY): Likewise. 2009-06-10 David Gilbert * source/org/jfree/data/time/TimeSeries.java (addOrUpdate(RegularTimePeriod, Number)): Delegate to new method, (addOrUpdate(TimeSeriesDataItem)): New method. 2009-06-09 David Gilbert * source/org/jfree/data/time/TimeSeries.java (getDataItem(int)): Return a clone, (getDataItem(RegularTimePeriod)): Likewise, (getRawDataItem(int)): New method, (getRawDataItem(RegularTimePeriod)): Likewise, (getTimePeriod): Call getRawDataItem(), (getValue): Likewise, (add(TimeSeriesDataItem, boolean)): Clone the item, (addAndOrUpdate): Call getRawDataItem(), (equals): Tidied up, (hashCode): Call getRawDataItem(), * source/org/jfree/data/time/MovingAverage.java (createMovingAverage): Updates for changes in TimeSeries.java (createPointMovingAverage): Likewise, * source/org/jfree/data/time/TimeSeriesCollection.java (getXValue): Use direct method in TimeSeries, (getX): Likewise, (getStartX): Likewise, (getEndX): Likewise, (getY): Likewise, * source/org/jfree/data/time/TimeSeriesDataItem.java (equals): Cleanup. 2009-06-09 David Gilbert Bug 2802014: * source/org/jfree/chart/plot/dial/DialValueIndicator.java (maxTemplateValue): New field, (DialValueIndicator): Initialise new field, (getMaxTemplateValue): New method, (setMaxTemplateValue): Likewise, (draw): Rewrite for indicator bounds, now supports clipping also, (fixToRange): New private method, (equals): Check new field. 2009-06-08 David Gilbert * source/org/jfree/chart/ChartPanel.java (setMouseWheelEnabled): Use correct check for disable branch. 2009-06-01 David Gilbert * source/org/jfree/chart/ChartPanel.java (mousePressed): Return immediately if chart is null. 2009-06-01 David Gilbert * source/org/jfree/chart/plot/MultiplePiePlot.java (getLegendItems): Set the series key and index for each item, * source/org/jfree/chart/plot/SpiderWebPlot.java (getLegendItems): Likewise. 2009-05-28 David Gilbert * source/org/jfree/data/function/PowerFunction2D.java: Implemented Serializable, (getA): New method, (getB): Likewise, (equals): New method override, (hashCode): Likewise, * tests/org/jfree/data/function/junit/PowerFunction2DTests.java: New file. 2009-05-28 David Gilbert * source/org/jfree/data/function/NormalDistributionFunction2D.java: Implemented Serializable, (equals): New method override, (hashCode): Likewise, * tests/org/jfree/data/function/junit/NormalDistributionFunction2DTests.java: New file. 2009-05-28 David Gilbert * source/org/jfree/data/function/LineFunction2D.java: Implemented Serializable, (getIntercept): New method, (getSlope): Likewise, (equals): New method override, (hashCode): Likewise, * tests/org/jfree/data/function/junit/LineFunction2DTests.java: New file. 2009-05-28 David Gilbert * source/org/jfree/chart/renderer/xy/StackedXYBarRenderer.java (drawItem): Fixed bar alignment for inverted domain axis. 2009-05-28 David Gilbert Patch 2795746 by Peter Kolb: * source/org/jfree/data/function/PolynomialFunction2D.java: New file, * source/org/jfree/data/statistics/Regression.java (getPolynomialRegression): New method, (calculateSubmatrix): New private method, * tests/org/jfree/data/function/junit/DataFunctionPackageTests.java: New test file, * tests/org/jfree/data/function/junit/PolynomialFunction2DTests.java: Likewise. 2009-05-27 David Gilbert * source/org/jfree/chart/renderer/category/AreaRenderer.java (drawItem): Use correct item label anchor for horizontal orientation. 2009-05-26 David Gilbert * source/org/jfree/data/time/TimeTableXYDataset.java (add): If period is a RegularTimePeriod, peg it to the timezone and locale specified in the constructor. 2009-05-26 David Gilbert Bug 1937486: * source/org/jfree/chart/renderer/category/AreaRenderer.java (drawItem): Handle AreaRendererEndType.LEVEL. 2009-05-26 David Gilbert * source/org/jfree/data/time/TimeSeriesCollection.java: Implemented XYRangeInfo, (getRangeBounds): New method. 2009-05-26 David Gilbert * source/org/jfree/data/time/TimeSeries.java (minY): New field, (maxY): Likewise, (TimeSeries(Comparable, String, String)): Initialise new fields, (getMinY): New method, (getMaxY): Likewise, (add(TimeSeriesDataItem, boolean)): Update min/maxY, (update(RegularTimePeriod, Number)): Delegate, (update(int, Number)): Update bounds, (addOrUpdate): Update bounds, (removeAgedItems): Likewise, (clear): Clear bounds, (delete(RegularTimePeriod)): Update bounds, (delete(int, int)): Delegate to new method, (delete(int, int, boolean)): New method, (updateBoundsForAddedItem): New method, (updateBoundsForRemovedItem): Likewise, (findBoundsByIteration): Likewise, (minIgnoreNaN): Likewise, (maxIgnoreNaN): Likewise, * tests/org/jfree/data/time/junit/TimeSeriesTests.java (testDelete3): New test, (testDelete_RegularTimePeriod): Likewise, (testSetMaximumItemCount): Updated to check min/maxY, (testAddOrUpdate2): New method, (testAddOrUpdate3): Likewise, (testRemoveAgedItems4): Likewise, (testRemoveAgedItems5): Likewise, (testGetMinY): Likewise, (testGetMaxY): Likewise, (testClear): Likewise, (testAdd): Likewise, (testUpdate_RegularTimePeriod): Likewise. 2009-05-19 David Gilbert * source/org/jfree/data/time/TimeSeriesCollection.java: Implemented XYDomainInfo, (getDomainBounds(List, boolean)): New method, * tests/org/jfree/data/time/junit/TimeSeriesCollectionTests.java (testFindDomainBounds): New test method. 2009-05-18 David Gilbert * source/org/jfree/chart/renderer/xy/XYLineAndShapeRenderer.java (drawPrimaryLine): Clip line and only draw if visible. 2009-05-18 David Gilbert * source/org/jfree/chart/annotations/XYPointerAnnotation.java (hashCode): Return result. 2009-05-16 David Gilbert Patch 2791407 by Peter Kolb: * source/org/jfree/chart/renderer/category/BarRenderer.java (findRangeBounds): Call method in super class, not DatasetUtilities, * source/org/jfree/chart/renderer/category/IntervalBarRenderer.java (findRangeBounds): Override to include dataset interval, * source/org/jfree/chart/renderer/category/ScatterRenderer.java (findRangeBounds): Override to include dataset interval, * source/org/jfree/chart/renderer/category/StatisticalBarRenderer.java (findRangeBounds): Override to include dataset interval, * source/org/jfree/data/general/DatasetUtilities.java (iterateToFindRangeBounds): Handle MultiValueCategoryDataset. 2009-05-12 David Gilbert * source/org/jfree/chart/renderer/xy/XYShapeRenderer.java (equals): Simplified because paintScale, guideLinePaint and guideLineStroke are never null. 2009-05-10 David Gilbert * source/org/jfree/chart/plot/XYPlot.java (equals): Check fixedLegendItems, (clone): Clone fixedLegendItems, * tests/org/jfree/chart/plot/junit/XYPlotTests.java (testEquals): Added test for fixedLegendItems, (testCloning3): New test. 2009-05-05 David Gilbert * source/org/jfree/chart/ChartPanel.java (doCopy): Account for insets, and pass scaling parameters to ChartTransferable, * source/org/jfree/chart/ChartTransferable.java (minDrawWidth): New field, (minDrawHeight): Likewise, (maxDrawWidth): Likewise, (maxDrawHeight): Likewise, (ChartTransferable): New constructor, (getTransferData): Delegate to new utility method, (createBufferedImage): New method that can apply scaling. 2009-04-28 David Gilbert * source/org/jfree/chart/renderer/xy/SamplingXYLineRenderer.java (State.startSeriesPass): Reset interval path. 2009-04-28 David Gilbert * source/org/jfree/chart/renderer/AbstractRenderer.java (legendShape): Renamed legendShapeList, (treatLegendShapeAsLine): New field, (AbstractRenderer): Initialise new field, (getTreatLegendShapeAsLine): New method, (setTreatLegendShapeAsLine): Likewise, (equals): Check treatLegendShapeAsLine field, * source/org/jfree/chart/renderer/xy/AbstractXYItemRenderer.java (getLegendItem): Use different legend item if 'treatLegendShapeAsLine' flag is set, * source/org/jfree/chart/LegendItem.java (setDescription): New method, (setToolTipText): Likewise, (setURLText): Likewise, (setShapeVisible): Likewise, (setShape): Likewise, (setOutlineStroke): Likewise, (setLineVisible): Likewise, (setLine): Likewise, * source/org/jfree/chart/renderer/xy/SamplingXYLineRenderer.java (SamplingXYLineRenderer): Configure renderer for lines in legend item, (getLegendLine): Deprecated, (setLegendLine): Likewise. 2009-04-27 David Gilbert * source/org/jfree/chart/util/LogFormat.java (format(long, StringBuffer, FieldPosition)): Use powerLabel attribute. 2009-04-27 David Gilbert * source/org/jfree/chart/panel/CrosshairOverlay.java (addDomainCrosshair): Fire change event, (addRangeCrosshair): Likewise. 2009-04-27 David Gilbert * source/org/jfree/chart/annotation/XYPointerAnnotation.java (draw): Altered drawing of arrow line. ---------- JFREECHART 1.0.13 RELEASED ------------------------ 2009-04-20 David Gilbert * source/org/jfree/data/general/DatasetUtilities.java (iterateToFindRangeBounds): Handle BoxAndWhiskerCategoryDataset. 2009-04-16 David Gilbert * source/org/jfree/chart/title/PaintScaleLegend.java (draw): Adjusted fill rectangles. 2009-04-16 David Gilbert * 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 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 * 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 Bug 2740447: * source/org/jfree/chart/ChartPanel.java (paintComponent): Set chartBuffer background to match panel. 2009-04-09 David Gilbert * source/org/jfree/chart/StandardChartTheme.java (getSmallFont): New method, (setSmallFont): Likewise. 2009-04-09 David Gilbert * 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 * 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 * source/org/jfree/chart/annotation/XYTextAnnotation.java (draw): Set font before calculating hotspot area. 2009-04-01 David Gilbert * source/org/jfree/data/general/DatasetUtilities.java (iterateToFindRangeBounds): Handle StatisticalCategoryDataset. 2009-04-01 David Gilbert * 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 * 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 * 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 * source/org/jfree/renderer/LookupPaintScale.java (PaintItem): Changed to static. 2009-03-28 David Gilbert * source/org/jfree/renderer/xy/AbstractXYItemRenderer.java (findRangeBounds): Handle case where plot is null. 2009-03-27 David Gilbert * source/org/jfree/renderer/xy/YIntervalRenderer.java (findRangeBounds): Use new inherited method. 2009-03-27 David Gilbert * 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 * 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 * 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 * source/org/jfree/chart/axis/ValueAxis.java (equals): Only check range if autoRange is false. 2009-03-26 David Gilbert * 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 * source/org/jfree/chart/MouseWheelHandler.java: Implemented Serializable. 2009-03-26 David Gilbert * 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 * 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 * 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 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 * 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 * source/org/jfree/chart/renderer/category/BarRenderer3D.java (drawRangeLine): New method override. 2009-03-18 David Gilbert * 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 * source/org/jfree/data/category/SlidingCategoryDataset.java (getColumnKeys): Fixed loop index. 2009-03-10 David Gilbert * 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 * source/org/jfree/chart/renderer/xy/SamplingXYLineRenderer.java: New class. 2009-03-06 David Gilbert * 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 * 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 * 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 * 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 * source/org/jfree/data/xy/XYSeriesCollection.java (getDomainOrder): New method override. 2009-02-27 David Gilbert Bug 2583891: * swt/org/jfree/experimental/swt/SWTGraphics2D.java (fillPolygon): Implemented. 2009-02-27 David Gilbert * source/org/jfree/data/general/CombinationDataset.java: Deprecated. 2009-02-27 David Gilbert 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 Bug 2617557: * source/org/jfree/chart/plot/dial/StandardDialScale.java (draw): Use tickLabelPaint. 2009-02-27 David Gilbert * source/org/jfree/chart/renderer/RendererUtilities.java (findLiveItemsLowerBound): Added argument checks, (findLiveItemsUpperBound): Correct calculation of mid. 2009-02-22 David Gilbert * source/org/jfree/chart/renderer/xy/GradientXYBarPainter.java (paintBar): Use correct outline paint. 2009-02-13 David Gilbert * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * source/org/jfree/data/general/CombinedDataset.java: Deprecated, * source/org/jfree/data/general/SubSeriesDataset.java: Likewise. 2009-02-04 David Gilbert Bug 2564636: * source/org/jfree/data/time/Month.java (Month(Date, TimeZone, Locale)): Use locale. 2009-02-04 David Gilbert * 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 * source/org/jfree/chart/renderer/category/StackedBarRenderer.java (drawItem): Check for hidden series. 2009-02-04 David Gilbert * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * source/org/jfree/chart/renderer/category/StatisticalLineAndShapeRenderer.java (drawItem): Put drawing code in separate passes. 2009-01-23 David Gilbert 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 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 * source/org/jfree/chart/renderer/category/LevelRenderer.java (LevelRenderer): Set default legend shape, (hashCode): New method. 2009-01-21 David Gilbert * 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 * 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 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 * 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 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 * 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 * 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 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 * 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 * source/org/jfree/chart/plot/MultiplePiePlot.java (MultiplePiePlot): Set ignoreNullValues to true. 2009-01-09 David Gilbert * 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 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 * 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 Bug 2452078: * source/org/jfree/chart/ChartFactory.java (createStackedAreaChart): Set category margin to zero. 2008-12-18 David Gilbert 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 * 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 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 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 * 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 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 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 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 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 * source/org/jfree/chart/axis/CategoryAxis.java (refreshTicks): Set correct for for category label. 2008-10-23 David Gilbert * source/org/jfree/chart/ChartFactory.java (setChartTheme): Check if theme is "Legacy" and reset default bar painters. 2008-10-15 David Gilbert * source/org/jfree/chart/LegendItem.java (LegendItem(String, Paint)): New constructor. 2008-10-08 David Gilbert 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 * 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 * source/org/jfree/chart/renderer/category/BoxAndWhiskerRenderer.java (drawItem): Check item visibility. 2008-09-26 David Gilbert * source/org/jfree/chart/axis/Axis.java (fireChangeEvent): New method, also updated various other methods to call fireChangeEvent(). 2008-09-26 David Gilbert * source/org/jfree/chart/renderer/category/WaterfallRenderer.java (drawItem): Fixed bar misalignment when maxBarWidth is applied. 2008-09-26 David Gilbert * source/org/jfree/chart/renderer/xy/VectorRenderer.java (drawItem): Add chart entity. 2008-09-25 David Gilbert 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 * source/org/jfree/chart/renderer/xy/HighLowRenderer.java (drawItem): Check for non-null entity collection. 2008-09-24 David Gilbert 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 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 * 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 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 * 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 * 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 * 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 * source/org/jfree/chart/ChartPanel.java (paintComponent): Modified chart buffer creation. 2008-09-18 David Gilbert * 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 * source/org/jfree/chart/annotations/XYDataImageAnnotation.java: New class. 2008-09-17 David Gilbert * source/org/jfree/chart/title/PaintScaleLegend.java (PaintScaleLegend(PaintScale, ValueAxis)): Change axis range to reflect scale bounds. 2008-09-17 David Gilbert * 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 * 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 * source/org/jfree/chart/StandardChartTheme.java (applyToCategoryAxis): Check for SubCategoryAxis and set sublabel font and paint. 2008-09-03 David Gilbert * 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 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 * 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 * 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 * source/org/jfree/chart/renderer/xy/XYDotRenderer.java (drawItem): Check for item visibility. 2008-08-15 David Gilbert 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 Bug 2033721: * source/org/jfree/chart/renderer/WaferMapRenderer.java (getLegendCollection): Use lookupSeriesPaint. 2008-08-15 David Gilbert Bug 2051168: * source/org/jfree/chart/plot/PiePlot.java (getLegendItems): Populate with series key and index. 2008-08-15 David Gilbert * 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 * 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 * 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 * source/org/jfree/chart/renderer/AbstractRenderer.java (clearSeriesPaints): New method, (clearSeriesStrokes): Likewise. 2008-08-15 David Gilbert * source/org/jfree/chart/plot/PiePlot.java (clearSectionPaints): New method, (clearSectionOutlinePaints): Likewise, (clearSectionOutlineStrokes): Likewise. 2008-08-15 David Gilbert * source/org/jfree/chart/axis/SymbolAxis.java (drawGridBandsHorizontal): Use gridBandAlternatePaint, (drawGridBandsVertical): Likewise. 2008-08-15 David Gilbert * source/org/jfree/chart/plot/CategoryPlot.java (getRendererCount): New method, * source/org/jfree/chart/plot/XYPlot.java (getRendererCount): Likewise. 2008-08-15 David Gilbert * source/org/jfree/chart/title/LegendTitle.java (getWrapper): New method. 2008-08-15 David Gilbert * source/org/jfree/chart/plot/Plot.java (setDrawingSupplier(DrawingSupplier, boolean)): New method. 2008-08-11 David Gilbert * 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 * 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 * source/org/jfree/chart/plot/XYPlot.java (drawQuadrants): Check for null axes, (render): Likewise. 2008-07-11 David Gilbert Bug 1994355: * swt/org/jfree/experimental/swt/ChartComposite.java (addSWTListener): Changed argument type. 2008-07-11 David Gilbert 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 * source/org/jfree/chart/plot/CategoryPlot.java (draw): Check outline visibility. 2008-07-10 David Gilbert * source/org/jfree/data/time/ohlc/OHLCSeriesCollection.java (getXPosition): New method, (setXPosition): Likewise, (equals): Updated for xPosition attribute. 2008-07-09 David Gilbert * 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 * 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 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * source/org/jfree/chart/axis/DateTickUnit.java (addToDate(Date)): Deprecated. 2008-06-06 David Gilbert * source/org/jfree/data/time/Millisecond.java (compareTo): Added handling for general RegularTimePeriod. 2008-06-06 David Gilbert * source/org/jfree/chart/axis/Axis.java (setTickLabelInsets(RectangleInsets)): Delegate to new method, (setTickLabelInsets(RectangleInsets, boolean)): New method. 2008-06-02 David Gilbert * 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 * source/org/jfree/chart/renderer/xy/StackedXYAreaRenderer2.java (drawItem): Handle PlotOrientation.HORIZONTAL. 2008-06-02 David Gilbert * source/org/jfree/chart/plot/SpiderWebPlot.java (getLegendItems): Return early if dataset is null. 2008-06-02 David Gilbert * source/org/jfree/chart/plot/SpiderWebPlot.java (drawRadarPoly): Check dataExtractOrder when generating chart entities. 2008-06-02 David Gilbert 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 * 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 * 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 * 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 * source/org/jfree/data/statistics/HistogramDataset.java (clone): Reimplemented. 2008-05-22 David Gilbert * 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 * source/org/jfree/chart/renderer/xy/XYStepAreaRenderer.java (drawItem): Use addEntity(). 2008-05-14 David Gilbert * 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 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 * 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 * 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 * source/org/jfree/chart/block/EmptyBlock.java (arrange): Use constraint. 2008-05-09 David Gilbert * source/org/jfree/data/category/DefaultCategoryDataset.java: Implemented PublicCloneable. 2008-05-08 David Gilbert * source/org/jfree/chart/ChartPanel.java (chartMouseListeners): Marked this field transient, (chartBuffer): Likewise, (writeObject): New method, (readObject): Likewise. 2008-05-08 David Gilbert * 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 * 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 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 * source/org/jfree/chart/title/ShortTextTitle.java: New file, * tests/org/jfree/chart/title/junit/ShortTextTitleTests.java: Likewise. 2008-05-01 David Gilbert 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 * 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 * 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 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 Bug 1942059: * source/org/jfree/chart/axis/CategoryAxis.java (calculateTextBlockWidth): Use correct insets. 2008-04-23 David Gilbert * source/org/jfree/chart/labels/BubbleXYItemLabelGenerator.java, * source/org/jfree/chart/labels/StandardPieSectionLabelGenerator.java: Implemented PublicCloneable. 2008-04-23 David Gilbert * 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 * source/org/jfree/chart/LegendItem.java (LegendItem(String)): New constructor, (clone): Implemented. 2008-04-23 David Gilbert * source/org/jfree/chart/annotations/CategoryLineAnnotation.java, * source/org/jfree/chart/annotations/CategoryTextAnnotation.java: Implemented PublicCloneable. 2008-04-23 David Gilbert * 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 * source/org/jfree/chart/renderer/xy/VectorRenderer.java, * source/org/jfree/chart/renderer/xy/XYBlockRenderer.java: Implemented PublicCloneable. 2008-04-22 David Gilbert * 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 * source/org/jfree/data/xy/DefaultTableXYDataset.java: Implemented PublicCloneable, plus (clone): New method override. 2008-04-22 David Gilbert * source/org/jfree/data/xy/DefaultOHLCDataset.java: Implemented PublicCloneable, plus (clone): New method override. 2008-04-22 David Gilbert * source/org/jfree/data/xy/CategoryTableXYDataset.java: Implemented PublicCloneable, plus (clone): New method override. 2008-04-21 David Gilbert * source/org/jfree/chart/title/ImageTitle.java (equals): New method override. 2008-04-18 David Gilbert 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 * 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 * 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 * 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 * source/org/jfree/data/xy/XIntervalSeriesCollection.java (getStartXValue): New method override, (getEndXValue): Likewise. 2008-04-10 David Gilbert * source/org/jfree/data/xy/XIntervalSeries.java (getXLowValue): New method, (getXHighValue): Likewise. 2008-04-08 David Gilbert 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 * source/org/jfree/chart/renderer/xy/HighLowRenderer.java (findRangeBounds): New method override. 2008-04-08 David Gilbert * 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 * source/org/jfree/chart/block/BorderArrangement.java (arrangeFF): Check for negative width remaining. 2008-04-08 David Gilbert * 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 * 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 * 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 * source/org/jfree/data/DefaultKeyedValue.java (equals): Simplified to reflect that this.key is never null. 2008-04-07 David Gilbert * source/org/jfree/chart/renderer/xy/XYBlockRenderer.java (drawItem): Inserted code to add entities. 2008-03-31 David Gilbert * source/org/jfree/chart/plot/PiePlot.java (equals): Updated for labelLinkStyle field. 2008-03-31 David Gilbert 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 * 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 * source/org/jfree/chart/plot/PiePlot.java (drawLeftLabels): Adjust label area for interiorGap, (drawRightLabels): Likewise. 2008-03-31 David Gilbert * 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 * 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 * 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 * source/org/jfree/data/general/DatasetUtilities.java (iterateCategoryRangeBounds): Deprecated, (iterateRangeBounds(CategoryDataset)): New method, (iterateRangeBounds(CategoryDataset, boolean)): Likewise. 2008-03-28 David Gilbert * 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 * source/org/jfree/data/general/DatasetUtilities.java (sampleFunction2D): Fixed sample count bug. 2008-03-27 David Gilbert 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 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 * 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 Patch 1918209: * source/org/jfree/chart/axis/LogAxis.java (createTickLabel): Changed from private to protected. 2008-03-25 David Gilbert * 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 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 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 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 Bug 1920854: * source/org/jfree/chart/plot/PiePlot3D.java (draw): Move label drawing outside section loop. 2008-03-19 David Gilbert Patch 1902418: * source/org/jfree/chart/axis/LogAxis.java (refreshTicksVertical): Change tick type for major tick labels. 2008-03-19 David Gilbert * 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 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 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 * 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 Bug 1880114: * org/jfree/chart/renderer/xy/VectorRenderer.java (drawItem): Modify arrow-head for plot orientation. 2008-02-18 David Gilbert 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 * org/jfree/data/DefaultKeyedValue.java (DefaultKeyedValue(Comparable, Number)): Check for null key. 2008-02-15 David Gilbert Patch 1868745: * source/org/jfree/chart/axis/LogAxis.java (refreshTicksHorizontal): Adjust label anchor according to axis position, (refreshTicksVertical): Likewise. 2008-02-15 David Gilbert 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 Bug 1873160: * source/org/jfree/chart/plot/DialPlot.java (draw): Fix clipping issues. 2008-02-14 David Gilbert Bug 1892419: * source/org/jfree/chart/axis/LogAxis.java (LogAxis(String)): Change default number of minor ticks. 2008-02-14 David Gilbert 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 * source/org/jfree/chart/renderer/category/BoxAndWhiskerRenderer.java (drawHorizontalItem): Call addEntity() to handle entity generation, (drawVerticalItem): Likewise. 2008-02-14 David Gilbert 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 * source/org/jfree/chart/plot/CombinedDomainXYPlot.java (draw): Reset fixed range axis space for subplots. 2008-01-18 David Gilbert * 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 * source/org/jfree/data/time/TimeSeriesCollection.java (getSeries): Changed argument from String to Comparable. 2008-01-15 David Gilbert 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 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 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 * source/org/jfree/chart/plot/XYPlot.java (drawQuadrants): Fix painting error when quadrant origin is outside plot area. 2008-01-03 David Gilbert * 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 Fixes bug 1848961: * source/org/jfree/chart/renderer/category/GroupedStackedBarRenderer.java (calculateBarW0): Use correct dataset index. 2007-12-19 David Gilbert * 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 * source/org/jfree/chart/title/TextTitle.java (arrange): Implement additional options, (arrangeNN): New method, (arrangeFN): Likewise, (arrangeRN): Likewise. 2007-12-18 David Gilbert 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 * source/org/jfree/chart/plot/IntervalMarker.java (IntervalMarker(double, double, Paint)): New constructor. 2007-12-05 David Gilbert * source/org/jfree/chart/HashUtilities.java (hashCode(int, BooleanList)): New method, (hashCode(int, PaintList)): Likewise, (hashCode(int, StrokeList)): Likewise. 2007-12-05 David Gilbert * 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 * 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 * 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 * source/org/jfree/chart/renderer/AbstractRenderer.java (hashCode): Compute using more fields. 2007-12-04 David Gilbert * 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 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 Bug 1460195: * source/org/jfree/chart/entity/ChartEntity.java (getImageMapAreaTag): Add 'nohref' attribute when there is no URL. 2007-12-03 David Gilbert * 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 * source/org/jfree/data/xy/XYDataItem.java (getXValue): New method, (getYValue): Likewise, (toString): Likewise. 2007-11-30 David Gilbert * source/org/jfree/chart/LocalizationBundle_it.properties: Fixed errors. 2007-11-29 David Gilbert * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 Fix for bug 1832432: * source/org/jfree/data/time/TimeSeries.java (clone): Reimplemented. 2007-11-21 David Gilbert * 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 * source/org/jfree/chart/axis/DateAxis.java (previousStandardDate): Return dates already fetched. 2007-11-21 David Gilbert * source/org/jfree/chart/renderer/CategoryAxis.java (equalPaintMaps): Use entrySet rather than keySet. 2007-11-21 David Gilbert * source/org/jfree/chart/renderer/PieLabelRecord.java (equals): Implemented. 2007-11-21 David Gilbert * source/org/jfree/chart/renderer/Outlier.java (equals): Implemented. 2007-11-21 David Gilbert * 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 * 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 * 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 * 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 * 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 * 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 * 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 * source/org/jfree/chart/axis/ModuloAxis.java (equals): Implemented. 2007-11-13 David Gilbert * 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 * 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 * source/org/jfree/chart/plot/dial/AbstractDialLayer.java (hashCode): Implemented. 2007-11-12 David Gilbert * 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 * 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 Patch 1827829 from Richard West: * source/org/jfree/chart/renderer/xy/XYBarRenderer.java (drawItemLabel): Fixed NPE. 2007-11-12 David Gilbert * 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 * 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 * source/org/jfree/chart/ChartPanel.java (paintComponent): Clear refreshBuffer flag before drawing chart. 2007-11-06 David Gilbert * source/org/jfree/data/statistics/DefaultMultiValueCategoryDataset.java (getValues): Return EMPTY_LIST rather than null. 2007-11-05 David Gilbert * 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 * source/org/jfree/chart/plot/XYPlot.java (setFixedDomainAxisSpace): Fire change event, (setFixedRangeAxisSpace): Likewise. 2007-11-05 David Gilbert 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 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 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 * 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 * 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 * source/org/jfree/chart/plot/dial/SimpleDialFrame.java: Renamed StandardDialFrame.java. 2007-10-26 David Gilbert * 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 * source/org/jfree/chart/renderer/xy/XYSplineAndShapeRenderer.java: Renamed XYSplineRenderer. 2007-10-25 David Gilbert * source/org/jfree/chart/renderer/xy/XYSplineAndShapeRenderer.java (drawPrimaryLineAsPath): Check for duplicated control points, (ControlPoint.equals): New method override. 2007-10-25 David Gilbert * source/org/jfree/chart/plot/CategoryPlot.java (getDomainAxisIndex): Added argument check, (getRangeAxisIndex): Likewise. 2007-10-25 David Gilbert * source/org/jfree/chart/axis/StandardTickUnitSource.java: Implemented Serializable, (StandardTickUnitSource): Added explicit constructor, (equals): New method override, (hashCode): Likewise. 2007-10-25 David Gilbert * 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 * 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 * 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 * 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 * swt/org/jfree/experimental/swt/SWTGraphics2D.java (drawRoundRect): Implemented, (fillRoundRect): Likewise, (clearRect): Implemented. 2007-10-23 David Gilbert * swt/org/jfree/experimental/swt/SWTGraphics2D.java (drawArc): Implemented, (fillArc): Likewise. 2007-10-23 David Gilbert * swt/org/jfree/experimental/swt/SWTGraphics2D.java (drawOval): Implemented, (fillOval): Likewise. 2007-10-23 David Gilbert * swt/org/jfree/experimental/swt/SWTGraphics2D.java (drawPolyline): Implemented. 2007-10-23 David Gilbert * swt/org/jfree/experimental/swt/SWTGraphics2D.java (drawPolygon): Implemented. 2007-10-23 David Gilbert * 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 * 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 * 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 * source/swt/org/jfree/experimental/swt/SWTUtils.java (toAwtMouseEvent): Improved mouse event conversion. 2007-10-22 Henry Proudhon * swt/org/jfree/experimental/swt/SWTGraphics2D.java (composite): New field, (setComposite): Implemented, (getComposite): Return from field. 2007-10-22 Henry Proudhon * swt/org/jfree/experimental/swt/SWTGraphics2D.java (getClip): Implemented. 2007-10-17 David Gilbert * 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 * source/org/jfree/chart/labels/AbstractXYItemLabelGenerator.java: (nullXString): Removed, (createItemArray): Removed check for null x-value. 2007-10-16 David Gilbert * 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 * 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 * 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 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 * 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 * 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 * 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 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * source/org/jfree/chart/renderer/category/MinMaxCategoryRenderer.java (drawItem): Simplified entity generation code. 2007-09-28 David Gilbert * 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 * source/org/jfree/chart/renderer/category/StatisticalLineAndShapeRenderer.java (drawItem): Apply new offset option to x-coordinates. 2007-09-27 David Gilbert * 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 * source/org/jfree/chart/renderer/category/StatisticalLineAndShapeRenderer.java (drawItem): Simplified entity generation code. 2007-09-26 David Gilbert * 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 * source/org/jfree/chart/renderer/xy/XYBarRenderer.java (drawItem): Apply margin in a way that works for inverted axes. 2007-09-26 David Gilbert * 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 * source/org/jfree/data/general/Series.java (getItemCount): New abstract method, (isEmpty): New method. 2007-09-26 David Gilbert * source/org/jfree/chart/plot/XYPlot.java (getQuadrantPaint): Improve exception text, (setQuadrantPaint): Likewise, (getDomainAxisForDataset): Likewise, (getRangeAxisForDataset): Likewise. 2007-09-26 David Gilbert * 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 * 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 * source/org/jfree/chart/ChartPanel.java (paintComponent): Clear chart buffer before refreshing. 2007-09-24 David Gilbert * 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 * source/org/jfree/data/statistics/SimpleHistogramDataset.java: API doc updates. 2007-08-28 David Gilbert * 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 * 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 * 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 Fix for bug 1766646: * source/org/jfree/chart/renderer/xy/XYBlockRenderer.java (findDomainBounds): Check for null, (findRangeBounds): Likewise. 2007-08-03 David Gilbert * source/org/jfree/chart/LegendItem.java (LegendItem): Initialise GradientPaintTransformer. 2007-08-02 David Gilbert * 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 Bug 1763413: * source/org/jfree/chart/axis/PeriodAxis.java (drawTickLabels): Calculate tick label width correctly for inverted axis. 2007-07-25 David Gilbert 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 * source/org/jfree/chart/renderer/xy/XYSplineAndShapeRenderer.java: New file, contributed by Klaus Rheinwald. 2007-07-25 David Gilbert * 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 * 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 * source/org/jfree/chart/plot/CombinedRangeXYPlot.java (remove): Actually remove the subplot. 2007-07-11 David Gilbert * experimental/org/jfree/experimental/chart/axis/LogAxis.java (setSmallestValue): Added event notification, (zoomRange): New method override. 2007-07-11 David Gilbert * 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 * 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 * 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 * 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 * source/org/jfree/data/statistics/SimpleHistogramDataset.java (SimpleHistogramDataset): Check for null argument. 2007-07-10 David Gilbert * source/org/jfree/chart/plot/CategoryPlot.java (getRangeAxisIndex): New method. ---------- JFREECHART 1.0.6 RELEASED ------------------------ 2007-06-15 David Gilbert * swt/org/jfree/experimental/swt/SWTGraphics2D.java (getSwtColorFromPool): Removed JDK 1.5 specific code. 2007-06-15 David Gilbert * 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 * 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 * 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 * source/org/jfree/chart/renderer/xy/XYBoxAndWhiskerRenderer.java (XYBoxAndWhiskerRenderer(double)): Replaced deprecated method call, (drawHorizontalItem): Call addEntity(), (drawVerticalDataItem): Likewise. 2007-06-14 David Gilbert * 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 * experimental/org/jfree/chart/renderer/xy/XYSmoothLineAndShapeRenderer.java: New class. 2007-06-14 David Gilbert * 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 * source/org/jfree/data/statistics/DefaultBoxAndWhiskerCategoryDataset.java (add): Assign max outlier value to maxValue. 2007-06-13 David Gilbert * 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 * 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 * 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 * source/org/jfree/chart/renderer/xy/ClusteredXYBarRenderer.java (drawItem): Simplified chart entity generation, (equals): Reorganised. 2007-06-11 David Gilbert * source/org/jfree/chart/ChartFactory.java (createBarChart): Replaced deprecated method calls, (createWaterfallChart): Likewise, (createBoxAndWhiskerChart): Likewise. 2007-06-11 David Gilbert * source/org/jfree/chart/renderer/xy/CandlestickRenderer.java (CandlestickRenderer(double, boolean, XYToolTipGenerator)): Replaced call to deprecated setToolTipGenerator() method. 2007-06-11 David Gilbert * 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 * 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 * 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 * 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 * 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 * 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 * source/org/jfree/chart/ChartPanel.java (paintComponent): Fixed coordinates for drawing buffer image (DG); 2007-06-05 David Gilbert * 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 * 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 * 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 * source/org/jfree/chart/axis/SubCategoryAxis.java (addSubCategory): Added argument check and event notification. 2007-05-25 David Gilbert * 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 * 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 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 * 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 * 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 * source/org/jfree/chart/ChartPanel.java (updateUI): Update UI for popup menu if there is one. 2007-05-24 David Gilbert * source/org/jfree/chart/ChartMouseEvent.java: API doc updates, * source/org/jfree/chart/ChartMouseListener.java: Likewise. 2007-05-19 Henry Proudhon * 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 * 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 * 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 * swt/org/jfree/experimental/chart/swt/ChartComposite.java (paintControl): check for null chart 2007-05-18 David Gilbert * 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 * source/org/jfree/chart/plot/MultiplePiePlot.java (setPieChart(JFreeChart)): Added argument checks. 2007-05-17 David Gilbert * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * source/org/jfree/chart/renderer/DefaultPolarItemRenderer.java (drawSeries): Fixed lookup for series paint and stroke, (getLegendItem): Likewise. 2007-05-04 David Gilbert * source/org/jfree/data/time/TimeSeriesCollection.java (getDomainOrder): New method override. 2007-05-03 David Gilbert * 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 * 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 * source/org/jfree/chart/renderer/xy/XYLine3DRenderer.java (equals): New method override, (readObject): New method, (writeObject): New method. 2007-04-30 David Gilbert * 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 * source/org/jfree/data/general/DefaultPieDataset.java (insertValue(int, Comparable, double)): New method, (insertValue(int, Comparable, Double)): Likewise. 2007-04-30 David Gilbert * 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 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * source/org/jfree/chart/plot/Plot.java (drawBackgroundImage): Changed from protected to public. 2007-04-03 David Gilbert * 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 * 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 * 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 * source/org/jfree/chart/renderer/xy/XYErrorRenderer.java (drawItem): Check item visibility. 2007-03-23 David Gilbert * 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 * 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 * source/org/jfree/chart/renderer/xy/StackedXYAreaRenderer.java (setShapePaint): Fire change event, (setShapeStroke): Likewise. 2007-03-22 David Gilbert * 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 * source/org/jfree/chart/renderer/AbstractRenderer.java (fireChangeEvent): Fire new event every time. 2007-03-22 David Gilbert * 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 * 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 * source/org/jfree/chart/axis/AxisLocation.java (getOpposite): New method. 2007-03-22 David Gilbert * source/org/jfree/chart/JFreeChart.java (getAntiAlias): Simplified, (getTextAntiAlias): New method, (setTextAntiAlias(boolean)): New method, (setTextAntiAlias(Object)): New method. 2007-03-22 David Gilbert * source/org/jfree/data/time/TimeSeries.java (getDataItem(RegularTimePeriod)): Simplified. 2007-03-21 David Gilbert * 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 * 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 * 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 * source/org/jfree/chart/axis/DateTickUnit.java (units): New private field, (toString): New method override. 2007-03-20 David Gilbert * 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 * 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 * 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 * 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 * 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 * 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 * 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 * source/org/jfree/chart/renderer/xy/DeviationRenderer.java (drawItem): Removed calls to Java 1.6 methods. 2007-03-15 David Gilbert * 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 * 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 * source/org/jfree/chart/plot/CategoryPlot.java (draw): Moved annotation drawing up to point where clipping still applies. 2007-03-13 David Gilbert * 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 * source/org/jfree/chart/renderer/category/MinMaxCategoryRenderer.java (drawItem): Handle horizontal plot orientation. 2007-03-09 David Gilbert * 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 * 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 * source/org/jfree/chart/renderer/xy/XYDifferenceRenderer.java (drawItemPass1): Fix entity generation. 2007-03-08 David Gilbert * 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 * 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 * 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 * 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 * 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 * source/org/jfree/chart/axis/CategoryAxis.java (drawCategoryLabels): Fix offset. 2007-03-06 David Gilbert * 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 * 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 * 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 * 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 * source/org/jfree/chart/renderer/xy/XYBarRenderer.java (drawItem): Reworked bar calculation to fix bug when rendering against LogarithmicAxis. 2007-03-05 David Gilbert * 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 * 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 * 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 * 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 * 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 * 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 * 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 * source/org/jfree/chart/axis/SymbolAxis.java (refreshTicksVertical): Pull check for tickLabelsOverlapping outside first check. 2007-02-28 David Gilbert * source/org/jfree/chart/plot/XYPlot.java (setRangeAxisLocation(int, AxisLocation, boolean)): Fixed copy-and-paste error. 2007-02-27 David Gilbert * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * source/org/jfree/chart/plot/RingPlot.java (setSectionDepth): Added event notification. 2007-02-14 David Gilbert * 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 * 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 * 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 * 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 * 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 * swt/org/jfree/experimental/chart/swt/demo/SWTBarChartDemo1.java (main): Set offscreen buffer flag to true. 2007-02-07 David Gilbert * 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 * swt/org/jfree/experimental/chart/swt/editor/SWTAxisEditor.java (SWTAxisEditor(Composite, Axis, int)): Check for null axis label. 2007-02-06 David Gilbert * 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 * 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 * 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 * source/org/jfree/chart/plot/SpiderWebPlot.java (getPlotValue): Changed to protected. 2007-02-05 David Gilbert * source/org/jfree/chart/renderer/xy/XYDifferenceRenderer.java (drawItemPass1): Added extra call to updateCrosshairValues(). 2007-02-05 David Gilbert * 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 * source/org/jfree/chart/plot/SpiderWebPlot.java (draw): Draw axes before first polygon, (drawRadarPoly): Remove axis drawing code. 2007-02-05 David Gilbert * 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 * 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 * source/org/jfree/chart/renderer/xy/StackedXYAreaRenderer.java (drawItem): Fixed crosshair y-value. 2007-02-02 David Gilbert * 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 * 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 * ant/build.xml: Updated version numbers, * ant/build-swt.xml: Likewise. 2007-02-02 David Gilbert * NEWS: updated, * source/org/jfree/chart/resources/JFreeChartResources.java (CONTENTS): Updated version number and date. 2007-02-02 David Gilbert * 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 * 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 * 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 * 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 * 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 * 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 * 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 * experimental/org/jfree/experimental/chart/title/PaintScaleLegend.java (arrange): Implemented arrangement for no constraints. 2007-01-31 Henry Proudhon * 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 * 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 * 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 * source/org/jfree/data/general/DefaultValueDataset.java (DefaultValueDataset(Number)): Call super() explicitly, (equals): Tidied up. 2007-01-30 David Gilbert * 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 * 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 * swt/org/jfree/experimental/swt/SWTGraphics2D.java (fillRect): switch between foregroung and background colors to correct bug in FastScatterPlotDemo. 2007-01-26 David Gilbert * tests/org/jfree/chart/JFreeChartTestSuite.java (suite): Added OHLCPackageTests. 2007-01-25 David Gilbert * 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 * 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 * 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 * 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 * 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 * 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 * source/org/jfree/chart/axis/DateAxis.java (nextStandardDate): Use time zone for calendar. 2007-01-18 David Gilbert * 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 * 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 * 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 * 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 * 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 * 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 * 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 * source/org/jfree/chart/plot/MultiplePiePlot.java (prefetchSectionPaints): Check for paint settings in underlying PiePlot. 2007-01-17 David Gilbert * 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 * swt/org/jfree/experimental/swt/SWTUtils.java (toAwtFont): Call getHeight() rather than accessing height field directly. 2007-01-16 David Gilbert * source/org/jfree/chart/plot/CompassPlot.java: Updated API docs. 2007-01-16 David Gilbert * source/org/jfree/chart/renderer/category/StackedBarRenderer3D.java (createStackedValueList): New method, (drawItem): Reimplemented, (drawStackHorizontal): New method, (drawStackVertical): New method. 2007-01-16 David Gilbert * 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 * source/org/jfree/chart/annotations/TextAnnotation.java (setText): Added argument check, (setFont): Likewise, (setPaint): Likewise, (setTextAnchor): Likewise, (hashCode): Reimplemented. 2007-01-15 David Gilbert * source/org/jfree/chart/axis/DateAxis.java (getTimeZone): New method, (setTimeZone): Likewise. 2007-01-15 David Gilbert * 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 * 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 * 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 * 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 * source/org/jfree/data/time/Week.java (next): Don't go past maximum week in year. 2007-01-10 David Gilbert * 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 * source/org/jfree/chart/servlet/ChartDeleter.java: Implemented Serializable. 2006-12-19 David Gilbert * source/org/jfree/chart/ChartUtilities.java: API doc updates and source reformatting. 2006-12-13 David Gilbert * 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 * source/org/jfree/chart/renderer/xy/ClusteredXYBarRenderer.java (drawItem): Add support for GradientPaint. 2006-12-11 David Gilbert * source/org/jfree/chart/axis/NumberAxis.java (estimateMaximumTickLabelWidth): Use format override if set. 2006-12-11 Henry Proudhon * swt/org/jfree/experimental/chart/swt/ChartComposite.java (MouseUp event) fix popup menu location, patch sent by Fabrizio Giustina. 2006-12-11 David Gilbert * 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 * 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 * 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 * 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 * 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 * source/org/jfree/chart/renderer/category/BarRenderer.java (initialise): Calculate clip bounds from correct axis. 2006-12-04 David Gilbert * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * source/org/jfree/chart/plot/CategoryPlot.java (draw): Set clip earlier to stop markers exceeding plot bounds. 2006-11-29 David Gilbert * source/org/jfree/chart/ChartFactory.java (createXYBarChart): Use time based tool tips if DateAxis is requested. 2006-11-28 Henry Proudhon * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * source/org/jfree/chart/plot/XYPlot.java (setDomainGridlineStroke): Check for null argument, (setDomainGridlinePaint): Likewise, (setRangeGridlinePaint): Likewise. 2006-11-23 David Gilbert * 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 * 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 * source/org/jfree/chart/plot/XYPlot.java: Added API doc cross references. 2006-11-22 David Gilbert * source/org/jfree/chart/plot/CategoryPlot.java (setColumnRenderingOrder): Added argument check, event notification, and updated API docs, (setRowRenderingOrder): Likewise. 2006-11-20 David Gilbert * 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 * 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 * source/org/jfree/chart/util/RelativeDateFormat.java: New file, * source/org/jfree/chart/util/package.html: New file. 2006-11-16 David Gilbert * source/org/jfree/chart/renderer/xy/StackedXYAreaRenderer2.java (roundXCoordinates): New field, (drawItem): Add optional rounding of x-coordinates. 2006-11-16 David Gilbert * 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 * swt/README: New file, * ant/build-swt.xml: New file. 2006-11-14 David Gilbert * source/org/jfree/chart/plot/ThermometerPlot.java (draw): Use margin. 2006-11-14 David Gilbert * source/org/jfree/chart/axis/SegmentedTimeline.java (toTimelineValue): Iterate through exception segments to avoid potential stack overflow. 2006-11-10 David Gilbert * 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 * 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 * 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 * 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 * ant/build.xml: Updated for reorganised source directories. 2006-11-03 David Gilbert * 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 * 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 * 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 * 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 * 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 * 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 * 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 * source/org/jfree/chart/annotations/XYShapeAnnotation.java (draw): Calculate transform on shape bounds. 2006-10-23 David Gilbert * source/org/jfree/chart/plot/XYPlot.java: (setDomainCrosshairStroke): Check null argument, (setDomainCrosshairPaint): Likewise, plus various API doc updates. 2006-10-23 David Gilbert * source/org/jfree/chart/renderer/category/AbstractCategoryItemRenderer.java: (drawRangeMarker): Added code to draw outlines. 2006-10-23 David Gilbert * source/org/jfree/chart/resources/JFreeChartResources.java (CONTENTS): Updated version number to 1.0.3. 2006-10-23 David Gilbert * 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 * 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 * 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 * source/org/jfree/data/jdbc/JDBCXYDataset.java: (getLegendItemCount): Deprecated, (getLegendItemLabels): Deprecated. 2006-10-13 David Gilbert * 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 * 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 * source/org/jfree/chart/renderer/category/BoxAndWhiskerRenderer.java: Source reformatting and API doc updates. 2006-10-12 David Gilbert * 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 * 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 * 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 * 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 * source/org/jfree/chart/renderer/xy/XYStepRenderer.java (drawItem): Fixed step for horizontal orientation. 2006-10-06 David Gilbert * 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 * 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 * source/org/jfree/data/xy/DefaultXYZDataset.java: Fixed API doc warnings. 2006-10-05 David Gilbert * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * source/org/jfree/data/xy/DefaultXYDataset.java: Fixed API doc warnings. 2006-10-03 David Gilbert * 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 * source/org/jfree/chart/plot/PiePlot.java (getSectionKey): Replace call to JRE 1.5 method. 2006-10-03 David Gilbert * source/org/jfree/data/time/DayTests.java (testGetSerialIndex): New method. 2006-10-03 David Gilbert * 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 * 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 * 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 * source/org/jfree/chart/axis/CategoryAxis.java (draw): Replaced call to deprecated method. 2006-09-28 David Gilbert * source/org/jfree/data/general/DefaultPieDataset.java (sortByKeys): New method, (sortByValues): New method. 2006-09-27 David Gilbert * 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 * 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 * 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 * 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 * source/org/jfree/chart/renderer/xy/XYBubbleRenderer.java (drawItem): Don't use hard-coded outline paint and stroke. 2006-09-13 David Gilbert * source/org/jfree/chart/servlet/ServletUtilities.java (sendTempFile(File, HttpServletResponse, String)): Specify English locale for response header date format. 2006-09-13 David Gilbert * source/org/jfree/chart/ChartPanel.java (mouseClicked): Return early if chart is null, (mouseMoved): Check for null chart. 2006-09-13 David Gilbert * 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 * 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 * 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 * source/org/jfree/chart/ChartPanel.java (actionPerformed): Updated for method name change, (attemptEditChartProperties): Renamed doEditChartProperties() and made public. 2006-09-04 David Gilbert * 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 * 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 * 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 * 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 * README.txt: Provide link to iText, * ant/build.xml: Restore 'compile-experimental' to 'all', but exclude SWT classes. 2006-08-25 David Gilbert * NEWS: Updated for release, * README.txt: Likewise, * ant/build.xml: Removed 'compile-experimental' from 'all'. 2006-08-24 David Gilbert * 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 * 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 * 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 * 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 * 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 * 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 * 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 * source/org/jfree/chart/plot/CombinedDomainXYPlot.java (setFixedRangeAxisSpace): New method override. 2006-08-23 David Gilbert * 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 * 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 * 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 * source/org/jfree/chart/renderer/category/LayeredBarRenderer.java (calculateBarWidth): Respect maximumBarWidth setting. 2006-08-17 David Gilbert * 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 * 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 * ant/build.xml: Added source="1.3" target="1.3" to compile. 2006-08-04 David Gilbert * source/org/jfree/chart/renderer/category/BarRenderer.java (calculateBarL0L1}: Changed clipping slightly. 2006-08-04 David Gilbert * 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 * source/org/jfree/chart/block/AbstractBlock.java (getContentXOffset): Added API docs, (getContentYOffset): Likewise. 2006-08-04 David Gilbert * source/org/jfree/chart/annotation/CategoryLineAnnotation.java (CategoryLineAnnotation): Fixed API doc warnings. 2006-08-03 David Gilbert * 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 * source/org/jfree/data/category/junit/CategoryToPieDatasetTests.java (testGetIndex): New test method. 2006-08-03 David Gilbert * source/org/jfree/data/statistics/DefaultStatisticalCategoryDataset.java (getRangeBounds): Minor fix to previous patch. 2006-08-03 David Gilbert * 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 * 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 * source/org/jfree/data/statistics/HistogramDataset.java: API doc updates. 2006-08-02 David Gilbert * source/org/jfree/chart/annotations/XYBoxAnnotation.java: API doc correction and source code reformatting. 2006-08-02 David Gilbert * 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 * 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 * source/org/jfree/chart/DrawableLegendItem.java: Deprecated class. 2006-08-01 David Gilbert * source/org/jfree/chart/ChartPanel.java (restoreAutoRangeBounds): Check for instance of Zoomable rather than ValueAxisPlot. 2006-08-01 David Gilbert * source/org/jfree/chart/plot/DefaultDrawingSupplier.java: Reformatted and updated API docs. 2006-08-01 David Gilbert * 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 * 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 * source/org/jfree/data/xy/XYSeries.java (add(Number, Number, boolean)): Removed redundant argument check. 2006-07-26 David Gilbert * source/org/jfree/chart/axis/junit/NumberAxisTests.java (testAutoRange4): New method. 2006-07-26 David Gilbert * 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 * 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 * 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 * source/org/jfree/chart/demo/TimeSeriesDemo1.java (createDataset): Removed call to deprecated method. 2006-07-20 David Gilbert * 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 * 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 * source/org/jfree/chart/annotations/XYPointerAnnotation.java (draw): Swap coordinates for PlotOrientation.HORIZONTAL. 2006-07-12 David Gilbert * source/org/jfree/chart/renderer/category/StatisticalBarRenderer.java (drawHorizontalItem): Added item label drawing, (drawVerticalItem): Likewise. 2006-07-12 David Gilbert * 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 * 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 * 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 * 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 * source/org/jfree/chart/renderer/xy/XYLineAndShapeRenderer.java: Source reformatting. 2006-07-06 David Gilbert * source/org/jfree/data/general/AbstractSeriesDataset.java: API doc updates, * source/org/jfree/data/general/SeriesDataset.java: Likewise. 2006-07-06 David Gilbert * 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 * 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 * 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 * 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 * source/org/jfree/chart/urls/TimeSeriesURLGenerator.java: (generateURL): Swapped getX() --> getXValue() (DG); 2006-07-06 David Gilbert * source/org/jfree/chart/renderer/xy/StandardXYItemRenderer.java: Reformatted. 2006-07-06 David Gilbert * 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 * source/org/jfree/chart/plot/Marker.java: Reformatting and API doc updates. 2006-06-30 David Gilbert * 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 * 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 * 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 * source/org/jfree/chart/renderer/xy/XYStepRenderer.java (drawItem): Handle item labels. 2006-06-15 David Gilbert * 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 * 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 * source/org/jfree/data/junit/WeekTests.java (testBug1498805): New method. 2006-05-25 David Gilbert * 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 * 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 * source/org/jfree/data/general/Series.java: Updated API docs. 2006-05-19 David Gilbert * source/org/jfree/chart/renderer/category/StatisticalBarRenderer.java (drawHorizontalItem): Add entity for bar, (drawVerticalItem): Add entity for bar. 2006-05-03 David Gilbert * 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 * 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 * 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 * 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 * source/org/jfree/chart/renderer/category/StatisticalLineAndShapeRenderer.java: (drawItem): Handle horizontal orientation correctly. 2006-04-06 David Gilbert * 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 * 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 * 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 * source/org/jfree/chart/plot/SpiderWebPlot.java (drawRadarPoly): Check for value >= to zero, not > zero (see patch 1462727). 2006-04-05 David Gilbert 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 * source/org/jfree/data/jdbc/JDBCCategoryDataset.java (executeQuery(Connection, String)): Fixed update loop (bug 1445748). 2006-03-02 David Gilbert * source/org/jfree/chart/renderer/AbstractCategoryItemRenderer.java (getLegendItems): Check seriesVisibleInLegend flag before creating each legend item. 2006-02-28 David Gilbert * source/org/jfree/chart/plot/PiePlot.java (drawRightLabels): Fixed distribution of labels, * NEWS: Added bug fix entry for 1440415. 2006-02-28 David Gilbert * ant/build.xml (compile): Remove manifest specification; * NEWS: Added bug fix entry. 2006-02-20 David Gilbert * 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 * 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 * 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 * 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 * 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 * 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 * 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 * source/org/jfree/chart/annotations/XYTextAnnotation.java (equals): Check x and y attributes (fixes bug 1415480). 2006-01-26 David Gilbert * source/org/jfree/chart/renderer/xy/XYBubbleRenderer.java (drawItem): Check item label visible flag. 2006-01-26 David Gilbert * source/org/jfree/chart/ChartFactory.java (createScatterPlot): Corrected API documentation. 2006-01-23 David Gilbert * source/org/jfree/chart/renderer/category/LevelRenderer.java (getMaxItemWidth): Deprecated, (setMaxItemWidth): Likewise, (getMaximumItemWidth): New method, (setMaximumItemWidth): Likewise. 2006-01-18 David Gilbert * 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 * source/org/jfree/chart/axis/NumberAxis3D.java (draw): Check plot is a CategoryPlot before casting (fixes bug 1408904). 2006-01-11 David Gilbert * source/org/jfree/chart/axis/CategoryAxis.java (drawCategoryLabels): Fixed null pointer exception (see bug report 1403043). 2006-01-11 David Gilbert * 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 * 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 * source/org/jfree/chart/servlet/ServletUtilities.java: Updated API docs and reformatted source code. 2006-01-09 David Gilbert * 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 * 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 * source/org/jfree/chart/plot/RingPlot.java (drawItem): fix entity shape (bug 1386328). 2005-12-13 David Gilbert * 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 * 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 * 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 * source/org/jfree/chart/renderer/xy/XYDifferenceRenderer.java: Reformatted. 2005-12-10 David Gilbert * 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 * 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 * 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 * source/org/jfree/chart/renderer/xy/StackedXYAreaRenderer.java: Reformatted. ---------- JFREECHART 1.0.0 RELEASED ------------------------ 2005-12-02 David Gilbert * README.txt: Update for 1.0.0 release, * source/org/jfree/chart/resources/JFreeChartResources.java (CONTENTS): Updated version number. 2005-12-02 David Gilbert * source/org/jfree/chart/ChartPanel.java (chartChanged): Don't update domainZoomable and rangeZoomable. 2005-12-02 David Gilbert * 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 * 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 * 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 * 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 * source/org/jfree/chart/renderer/category/MinMaxCategoryRenderer.java (drawItem): Fixed null pointer exception. 2005-12-02 David Gilbert * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * source/org/jfree/chart/renderer/xy/XYItemRenderer.java (getLegendItemLabelGenerator): Added method to interface, (setLegendItemLabelGenerator): Likewise. 2005-11-30 David Gilbert * source/org/jfree/chart/labels/StandardPieSectionLabelGenerator.java (getAttributedLabel): Change argument name to 'section', (setAttributedLabel): Likewise. 2005-11-30 David Gilbert * 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 * 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 * README.txt: Updated for 1.0.0-rc3 release, * ant/build.xml: Copy across Maven file. 2005-11-28 David Gilbert * 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 * 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 * 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 * 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 * 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 * 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 * source/org/jfree/chart/encoders/KeypointPNGEncoderAdapter.java: Updated API docs. 2005-11-24 David Gilbert * source/org/jfree/chart/ChartFactory.java (createHistogram): Set autoRangeIncludesZero to false on domain axis. 2005-11-24 David Gilbert * ant/build.xml: Updated version numbers. 2005-11-24 David Gilbert * 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 * 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 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 * 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 * source/org/jfree/data/statistics/HistogramDataset.java (getSeriesKey): Cast return value to Comparable. 2005-11-21 David Gilbert * 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 * source/org/jfree/chart/renderer/xy/XYLineAndShapeRenderer.java (setDrawSeriesLineAsPath): Send RendererChangeEvent if flag changes. 2005-11-21 David Gilbert * source/org/jfree/data/function/NormalDistributionFunction2D.java (getMean): New method, (getStandardDeviation): New method, (getValue): Reformatted. 2005-11-17 David Gilbert * 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 * 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 * 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 * source/org/jfree/chart/renderer/category/MinMaxCategoryRenderer.java: Reformatted and reordered methods. 2005-11-10 David Gilbert * 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 * source/org/jfree/chart/ChartColor.java (createDefaultPaintArray): removed orange color, fix for bug 1328408). 2005-11-02 David Gilbert * source/org/jfree/data/time/Month.java (Month(int, Year)): changed '&&' to '||' in argument check, fixes bug 1345383. 2005-11-02 David Gilbert * 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 * 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 * 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 * 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 * source/org/jfree/chart/renderer/xy/HighLow.java: Removed unused class. 2005-10-27 David Gilbert * source/org/jfree/data/general/junit/DatasetUtilities.java (testIterateXYRangeBounds2): added API doc comment. 2005-10-25 David Gilbert * 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 * source/org/jfree/chart/resources/JFreeChartResources.java (CONTENTS): updated 'project.version'. 2005-10-25 David Gilbert * source/org/jfree/chart/plot/Marker.java (Marker(Paint, Stroke, Paint, Stroke, float)): changed from public to protected. 2005-10-25 David Gilbert * 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 * source/org/jfree/chart/axis/TickUnits.java (getCeilingTickUnit): don't pass null to other method. 2005-10-14 David Gilbert * source/org/jfree/chart/renderer/xy/XYBarRenderer.java (drawItem): fixed bar coordinates to work with inverted axes. 2005-10-14 David Gilbert * source/org/jfree/chart/ChartPanel.java (chartChanged): update plot orientation, it may have changed. 2005-10-07 David Gilbert * 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 * source/org/jfree/chart/renderer/xy/XYBoxAndWhiskerRenderer.java (drawItem): removed setPaint() call. 2005-10-06 David Gilbert * 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 * source/org/jfree/chart/renderer/xy/StackedXYAreaRenderer2.java (drawItem): add an entity to the collection if supplied. 2005-10-03 David Gilbert * 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 * 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.