You can subscribe to this list here.
2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(165) |
Nov
(296) |
Dec
(92) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2006 |
Jan
(84) |
Feb
(20) |
Mar
(20) |
Apr
(42) |
May
(26) |
Jun
(30) |
Jul
(77) |
Aug
(151) |
Sep
(61) |
Oct
(259) |
Nov
(160) |
Dec
(76) |
2007 |
Jan
(159) |
Feb
(155) |
Mar
(183) |
Apr
(113) |
May
(110) |
Jun
(178) |
Jul
(56) |
Aug
(21) |
Sep
(50) |
Oct
(251) |
Nov
(218) |
Dec
(42) |
2008 |
Jan
(14) |
Feb
(37) |
Mar
(60) |
Apr
(77) |
May
(146) |
Jun
(256) |
Jul
(72) |
Aug
(51) |
Sep
(283) |
Oct
(22) |
Nov
(55) |
Dec
(53) |
2009 |
Jan
(56) |
Feb
(45) |
Mar
(56) |
Apr
(98) |
May
(84) |
Jun
(87) |
Jul
(32) |
Aug
(6) |
Sep
(19) |
Oct
|
Nov
(10) |
Dec
(6) |
2010 |
Jan
(2) |
Feb
(6) |
Mar
(2) |
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
(1) |
Sep
|
Oct
(1) |
Nov
|
Dec
|
2011 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
(158) |
Nov
(17) |
Dec
(15) |
2012 |
Jan
(9) |
Feb
(3) |
Mar
(1) |
Apr
|
May
(1) |
Jun
(1) |
Jul
(22) |
Aug
(1) |
Sep
(29) |
Oct
(1) |
Nov
|
Dec
|
2013 |
Jan
(5) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(259) |
Aug
(125) |
Sep
(24) |
Oct
(8) |
Nov
(132) |
Dec
(3) |
2014 |
Jan
(3) |
Feb
(26) |
Mar
(17) |
Apr
(8) |
May
|
Jun
(31) |
Jul
(126) |
Aug
(22) |
Sep
(1) |
Oct
|
Nov
|
Dec
|
2015 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(21) |
Oct
|
Nov
(1) |
Dec
|
2016 |
Jan
(19) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <mu...@us...> - 2013-11-21 11:57:21
|
Revision: 2972 http://sourceforge.net/p/jfreechart/code/2972 Author: mungady Date: 2013-11-21 11:57:19 +0000 (Thu, 21 Nov 2013) Log Message: ----------- 2013-11-21 David Gilbert <dav...@ob...> * org/jfree/chart/util/DirectionalGradientPaintTransformer.java: New file. Added Paths: ----------- branches/jfreechart-1.0.x-branch/source/org/jfree/chart/util/DirectionalGradientPaintTransformer.java Added: branches/jfreechart-1.0.x-branch/source/org/jfree/chart/util/DirectionalGradientPaintTransformer.java =================================================================== --- branches/jfreechart-1.0.x-branch/source/org/jfree/chart/util/DirectionalGradientPaintTransformer.java (rev 0) +++ branches/jfreechart-1.0.x-branch/source/org/jfree/chart/util/DirectionalGradientPaintTransformer.java 2013-11-21 11:57:19 UTC (rev 2972) @@ -0,0 +1,133 @@ +/* =========================================================== + * JFreeChart : a free chart library for the Java(tm) platform + * =========================================================== + * + * (C) Copyright 2000-2013, by Object Refinery Limited and Contributors. + * + * Project Info: http://www.jfree.org/jfreechart/index.html + * + * This library is free software; you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation; either version 2.1 of the License, or + * (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public + * License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, + * USA. + * + * [Oracle and Java are registered trademarks of Oracle and/or its affiliates. + * Other names may be trademarks of their respective owners.] + * + * ---------------------------------------- + * DirectionalGradientPaintTransformer.java + * ---------------------------------------- + * (C) Copyright 2013 by Peter Kolb and Contributors. + * + * Original Author: Peter Kolb; + * Contributor(s): David Gilbert (for Object Refinery Limited); + * + * Changes: + * -------- + * 21-Nov-2013 : Version 1, with modifications by DG (PK); + * + */ + +package org.jfree.chart.util; + +import java.awt.GradientPaint; +import java.awt.geom.Rectangle2D; +import java.awt.Shape; +import org.jfree.ui.GradientPaintTransformer; + +/** + * Transforms a <code>GradientPaint</code> to range over the width of a target + * shape. The orientation of the resulting <code>GradientPaint</code> + * depend on the coordinates of the original paint: + * <p> + * <ul> + * <li> If the original paint starts at 0,0 and ends at a point 0, y != 0, + * the resulting paint will have a vertical orientation. + * <li> If the original paint starts at 0,0 and ends at a point x !=0, 0, + * the resulting paint will have a horizontal orientation. + * <li> If the original paint starts at 0,0 and ends at a point x != 0, y != 0, + * the resulting paint will have a diagonal orientation from the upper left to + * the lower right edge. Lines of equal color will have a 45 ∞ angle, + * pointing upwards from left to right. + * <li> If the original paint starts at a point x != 0, y != 0, + * the resulting paint will have a diagonal orientation from the lower left to + * the upper right edge. Lines of equal color will have a 45 ∞ angle, + * pointing downwards from left to right. + * </ul> + * <p> + * In all cases, the cyclic flag of the original paint will be taken into + * account. + * + * @author Peter Kolb + * @since 1.0.17 + */ +public class DirectionalGradientPaintTransformer + implements GradientPaintTransformer { + + /** + * Transforms a <code>GradientPaint</code> instance to fit some target + * shape. + * + * @param paint the original paint (not <code>null</code>). + * @param target the reference area (not <code>null</code>). + * + * @return A transformed paint. + */ + @Override + public GradientPaint transform(GradientPaint paint, Shape target) { + //get the coordinates of the original GradientPaint + final double px1 = paint.getPoint1().getX(); + final double py1 = paint.getPoint1().getY(); + final double px2 = paint.getPoint2().getX(); + final double py2 = paint.getPoint2().getY(); + //get the coordinates of the shape that is to be filled + final Rectangle2D bounds = target.getBounds(); + final float bx = (float)bounds.getX(); + final float by = (float)bounds.getY(); + final float bw = (float)bounds.getWidth(); + final float bh = (float)bounds.getHeight(); + //reserve variables to store the coordinates of the resulting GradientPaint + float rx1, ry1, rx2, ry2; + if (px1 == 0 && py1 == 0) { + //start point is upper left corner + rx1 = bx; + ry1 = by; + if (px2 != 0.0f && py2 != 0.0f) { + //end point is lower right corner --> diagonal gradient + float offset = (paint.isCyclic()) ? (bw + bh) / 4.0f + : (bw + bh) / 2.0f ; + rx2 = bx + offset; + ry2 = by + offset; + } + else { + //end point is either lower left corner --> vertical gradient + //or end point is upper right corner --> horizontal gradient + rx2 = (px2 == 0) ? rx1 : (paint.isCyclic() ? (rx1 + bw / 2.0f) + : (rx1 + bw)); + ry2 = (py2 == 0) ? ry1 : (paint.isCyclic() ? (ry1 + bh / 2.0f) + : (ry1 + bh)); + } + } + else { + //start point is lower left right corner --> diagonal gradient + rx1 = bx; + ry1 = by + bh; + float offset = (paint.isCyclic()) ? (bw + bh) / 4.0f + : (bw + bh) / 2.0f; + rx2 = bx + offset; + ry2 = by + bh - offset; + } + return new GradientPaint(rx1, ry1, paint.getColor1(), rx2, ry2, + paint.getColor2(), paint.isCyclic()); + } +} \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mu...@us...> - 2013-11-21 11:57:15
|
Revision: 2971 http://sourceforge.net/p/jfreechart/code/2971 Author: mungady Date: 2013-11-21 11:57:12 +0000 (Thu, 21 Nov 2013) Log Message: ----------- 2013-11-21 David Gilbert <dav...@ob...> * org/jfree/chart/util/DirectionalGradientPaintTransformer.java: New file. Modified Paths: -------------- branches/jfreechart-1.0.x-branch/ChangeLog Modified: branches/jfreechart-1.0.x-branch/ChangeLog =================================================================== --- branches/jfreechart-1.0.x-branch/ChangeLog 2013-11-21 11:31:49 UTC (rev 2970) +++ branches/jfreechart-1.0.x-branch/ChangeLog 2013-11-21 11:57:12 UTC (rev 2971) @@ -1,5 +1,9 @@ 2013-11-21 David Gilbert <dav...@ob...> + * org/jfree/chart/util/DirectionalGradientPaintTransformer.java: New file. + +2013-11-21 David Gilbert <dav...@ob...> + * org/jfree/data/time/ohlc/OHLCSeries.java (add(OHLCItem)): New method. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mu...@us...> - 2013-11-21 11:31:52
|
Revision: 2970 http://sourceforge.net/p/jfreechart/code/2970 Author: mungady Date: 2013-11-21 11:31:49 +0000 (Thu, 21 Nov 2013) Log Message: ----------- 2013-11-21 David Gilbert <dav...@ob...> * org/jfree/data/time/ohlc/OHLCSeries.java (add(OHLCItem)): New method.. Modified Paths: -------------- branches/jfreechart-1.0.x-branch/source/org/jfree/data/time/ohlc/OHLCItem.java branches/jfreechart-1.0.x-branch/source/org/jfree/data/time/ohlc/OHLCSeries.java Modified: branches/jfreechart-1.0.x-branch/source/org/jfree/data/time/ohlc/OHLCItem.java =================================================================== --- branches/jfreechart-1.0.x-branch/source/org/jfree/data/time/ohlc/OHLCItem.java 2013-11-21 11:31:15 UTC (rev 2969) +++ branches/jfreechart-1.0.x-branch/source/org/jfree/data/time/ohlc/OHLCItem.java 2013-11-21 11:31:49 UTC (rev 2970) @@ -44,7 +44,8 @@ import org.jfree.data.time.RegularTimePeriod; /** - * An item representing data in the form (period, open, high, low, close). + * An item representing data in the form <code>(time-period, open, high, low, + * close)</code>. * * @since 1.0.4 */ Modified: branches/jfreechart-1.0.x-branch/source/org/jfree/data/time/ohlc/OHLCSeries.java =================================================================== --- branches/jfreechart-1.0.x-branch/source/org/jfree/data/time/ohlc/OHLCSeries.java 2013-11-21 11:31:15 UTC (rev 2969) +++ branches/jfreechart-1.0.x-branch/source/org/jfree/data/time/ohlc/OHLCSeries.java 2013-11-21 11:31:49 UTC (rev 2970) @@ -27,7 +27,7 @@ * --------------- * OHLCSeries.java * --------------- - * (C) Copyright 2006-2009, by Object Refinery Limited. + * (C) Copyright 2006-2013, by Object Refinery Limited. * * Original Author: David Gilbert (for Object Refinery Limited); * Contributor(s): -; @@ -36,11 +36,13 @@ * ------- * 04-Dec-2006 : Version 1 (DG); * 17-Jun-2009 : Added remove(int) method (DG); + * 21-Nov-2013 : Added add(OHLCItem) method - feature request #385 (DG); * */ package org.jfree.data.time.ohlc; +import org.jfree.chart.util.ParamChecks; import org.jfree.data.ComparableObjectItem; import org.jfree.data.ComparableObjectSeries; import org.jfree.data.time.RegularTimePeriod; @@ -84,6 +86,7 @@ * * @return The data item. */ + @Override public ComparableObjectItem getDataItem(int index) { return super.getDataItem(index); } @@ -108,6 +111,20 @@ } super.add(new OHLCItem(period, open, high, low, close), true); } + + /** + * Adds a data item to the series. The values from the item passed to + * this method will be copied into a new object. + * + * @param item the item (<code>null</code> not permitted). + * + * @since 1.0.17 + */ + public void add(OHLCItem item) { + ParamChecks.nullNotPermitted(item, "item"); + add(item.getPeriod(), item.getOpenValue(), item.getHighValue(), + item.getLowValue(), item.getCloseValue()); + } /** * Removes the item with the specified index. @@ -116,6 +133,7 @@ * * @since 1.0.14 */ + @Override public ComparableObjectItem remove(int index) { return super.remove(index); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mu...@us...> - 2013-11-21 11:31:20
|
Revision: 2969 http://sourceforge.net/p/jfreechart/code/2969 Author: mungady Date: 2013-11-21 11:31:15 +0000 (Thu, 21 Nov 2013) Log Message: ----------- 2013-11-21 David Gilbert <dav...@ob...> * org/jfree/data/time/ohlc/OHLCSeries.java (add(OHLCItem)): New method. Modified Paths: -------------- branches/jfreechart-1.0.x-branch/ChangeLog Modified: branches/jfreechart-1.0.x-branch/ChangeLog =================================================================== --- branches/jfreechart-1.0.x-branch/ChangeLog 2013-11-21 11:24:23 UTC (rev 2968) +++ branches/jfreechart-1.0.x-branch/ChangeLog 2013-11-21 11:31:15 UTC (rev 2969) @@ -1,5 +1,24 @@ 2013-11-21 David Gilbert <dav...@ob...> + * org/jfree/data/time/ohlc/OHLCSeries.java + (add(OHLCItem)): New method. + +2013-11-21 David Gilbert <dav...@ob...> + + * 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 <dav...@ob...> + + * org/jfree/data/xy/XYSeriesCollection.java + (removeSeries(int)): Ensure VetoableListener is deregistered. + +2013-11-21 David Gilbert <dav...@ob...> + * org/jfree/data/time/TimeSeriesCollection.java (getSeriesIndex): New method, (addSeries): Register VetoableListener, This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mu...@us...> - 2013-11-21 11:24:26
|
Revision: 2968 http://sourceforge.net/p/jfreechart/code/2968 Author: mungady Date: 2013-11-21 11:24:23 +0000 (Thu, 21 Nov 2013) Log Message: ----------- Added @Override tags. Modified Paths: -------------- branches/jfreechart-1.0.x-branch/source/org/jfree/data/time/ohlc/OHLC.java Modified: branches/jfreechart-1.0.x-branch/source/org/jfree/data/time/ohlc/OHLC.java =================================================================== --- branches/jfreechart-1.0.x-branch/source/org/jfree/data/time/ohlc/OHLC.java 2013-11-21 11:16:49 UTC (rev 2967) +++ branches/jfreechart-1.0.x-branch/source/org/jfree/data/time/ohlc/OHLC.java 2013-11-21 11:24:23 UTC (rev 2968) @@ -45,8 +45,8 @@ import org.jfree.chart.HashUtilities; /** - * A high low data record (immutable). This class is used internally by the - * {@link OHLCItem} class. + * A data record containing open-high-low-close data (immutable). This class + * is used internally by the {@link OHLCItem} class. * * @since 1.0.4 */ @@ -122,6 +122,7 @@ * * @return A boolean. */ + @Override public boolean equals(Object obj) { if (obj == this) { return true; @@ -150,6 +151,7 @@ * * @return A hash code. */ + @Override public int hashCode() { int result = 193; result = HashUtilities.hashCode(result, this.open); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mu...@us...> - 2013-11-21 11:16:52
|
Revision: 2967 http://sourceforge.net/p/jfreechart/code/2967 Author: mungady Date: 2013-11-21 11:16:49 +0000 (Thu, 21 Nov 2013) Log Message: ----------- 2013-11-21 David Gilbert <dav...@ob...> * 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. Modified Paths: -------------- branches/jfreechart-1.0.x-branch/source/org/jfree/data/general/AbstractDataset.java Modified: branches/jfreechart-1.0.x-branch/source/org/jfree/data/general/AbstractDataset.java =================================================================== --- branches/jfreechart-1.0.x-branch/source/org/jfree/data/general/AbstractDataset.java 2013-11-21 10:29:03 UTC (rev 2966) +++ branches/jfreechart-1.0.x-branch/source/org/jfree/data/general/AbstractDataset.java 2013-11-21 11:16:49 UTC (rev 2967) @@ -53,6 +53,8 @@ * 11-Sep-2003 : Cloning Fixes (NB); * 01-Jun-2005 : Added hasListener() method for unit testing (DG); * 03-Jul-2013 : Use ParamChecks (DG); + * 21-Nov-2013 : Added notify flag to allow suppressing change events + * temporarily (DG); * */ @@ -86,6 +88,12 @@ /** Storage for registered change listeners. */ private transient EventListenerList listenerList; + + /** + * A flag that can be used to temporarily suppress dataset change event + * notifications. + */ + private boolean notify; /** * Constructs a dataset. By default, the dataset is assigned to its own @@ -94,6 +102,7 @@ protected AbstractDataset() { this.group = new DatasetGroup(); this.listenerList = new EventListenerList(); + this.notify = true; } /** @@ -122,6 +131,37 @@ } /** + * Returns the value of the notify flag. The default value is + * <code>true</code>. If this is <code>false</code>, calls to the + * {@link #fireDatasetChanged()} method will NOT trigger a dataset + * change event. + * + * @return A boolean. + * + * @since 1.0.17 + */ + public boolean getNotify() { + return this.notify; + } + + /** + * Sets the notify flag, which controls whether or not the {@link #fireDatasetChanged()} + * method notifies listeners. Setting this flag to <code>true</code> will + * trigger a <code>DatasetChangeEvent</code> because there may be + * queued up changes. + * + * @param notify the new flag value. + * + * @since 1.0.17 + */ + public void setNotify(boolean notify) { + this.notify = notify; + if (notify) { + fireDatasetChanged(); + } + } + + /** * Registers an object to receive notification of changes to the dataset. * * @param listener the object to register. @@ -164,12 +204,16 @@ } /** - * Notifies all registered listeners that the dataset has changed. + * Notifies all registered listeners that the dataset has changed, + * provided that the <code>notify</code> flag has not been set to + * <code>false</code>. * * @see #addChangeListener(DatasetChangeListener) */ protected void fireDatasetChanged() { - notifyListeners(new DatasetChangeEvent(this, this)); + if (this.notify) { + notifyListeners(new DatasetChangeEvent(this, this)); + } } /** This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mu...@us...> - 2013-11-21 10:29:06
|
Revision: 2966 http://sourceforge.net/p/jfreechart/code/2966 Author: mungady Date: 2013-11-21 10:29:03 +0000 (Thu, 21 Nov 2013) Log Message: ----------- Added @Override tags. Modified Paths: -------------- branches/jfreechart-1.0.x-branch/source/org/jfree/data/general/AbstractDataset.java Modified: branches/jfreechart-1.0.x-branch/source/org/jfree/data/general/AbstractDataset.java =================================================================== --- branches/jfreechart-1.0.x-branch/source/org/jfree/data/general/AbstractDataset.java 2013-11-21 10:14:55 UTC (rev 2965) +++ branches/jfreechart-1.0.x-branch/source/org/jfree/data/general/AbstractDataset.java 2013-11-21 10:29:03 UTC (rev 2966) @@ -103,6 +103,7 @@ * * @see #setGroup(DatasetGroup) */ + @Override public DatasetGroup getGroup() { return this.group; } @@ -114,6 +115,7 @@ * * @see #getGroup() */ + @Override public void setGroup(DatasetGroup group) { ParamChecks.nullNotPermitted(group, "group"); this.group = group; @@ -126,6 +128,7 @@ * * @see #removeChangeListener(DatasetChangeListener) */ + @Override public void addChangeListener(DatasetChangeListener listener) { this.listenerList.add(DatasetChangeListener.class, listener); } @@ -138,6 +141,7 @@ * * @see #addChangeListener(DatasetChangeListener) */ + @Override public void removeChangeListener(DatasetChangeListener listener) { this.listenerList.remove(DatasetChangeListener.class, listener); } @@ -178,7 +182,6 @@ * @see #removeChangeListener(DatasetChangeListener) */ protected void notifyListeners(DatasetChangeEvent event) { - Object[] listeners = this.listenerList.getListenerList(); for (int i = listeners.length - 2; i >= 0; i -= 2) { if (listeners[i] == DatasetChangeListener.class) { @@ -186,7 +189,6 @@ event); } } - } /** @@ -199,6 +201,7 @@ * @throws CloneNotSupportedException if the dataset does not support * cloning. */ + @Override public Object clone() throws CloneNotSupportedException { AbstractDataset clone = (AbstractDataset) super.clone(); clone.listenerList = new EventListenerList(); @@ -249,6 +252,7 @@ * * @exception InvalidObjectException If the object cannot validate itself. */ + @Override public void validateObject() throws InvalidObjectException { fireDatasetChanged(); } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mu...@us...> - 2013-11-21 10:14:57
|
Revision: 2965 http://sourceforge.net/p/jfreechart/code/2965 Author: mungady Date: 2013-11-21 10:14:55 +0000 (Thu, 21 Nov 2013) Log Message: ----------- Updated to OrsonPDF 1.3-eval. Added Paths: ----------- branches/jfreechart-1.0.x-branch/lib/orsonpdf-1.3-eval.jar Removed Paths: ------------- branches/jfreechart-1.0.x-branch/lib/orsonpdf-1.2-eval.jar Deleted: branches/jfreechart-1.0.x-branch/lib/orsonpdf-1.2-eval.jar =================================================================== (Binary files differ) Added: branches/jfreechart-1.0.x-branch/lib/orsonpdf-1.3-eval.jar =================================================================== (Binary files differ) Index: branches/jfreechart-1.0.x-branch/lib/orsonpdf-1.3-eval.jar =================================================================== --- branches/jfreechart-1.0.x-branch/lib/orsonpdf-1.3-eval.jar 2013-11-21 10:13:46 UTC (rev 2964) +++ branches/jfreechart-1.0.x-branch/lib/orsonpdf-1.3-eval.jar 2013-11-21 10:14:55 UTC (rev 2965) Property changes on: branches/jfreechart-1.0.x-branch/lib/orsonpdf-1.3-eval.jar ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +application/octet-stream \ No newline at end of property This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mu...@us...> - 2013-11-21 10:13:50
|
Revision: 2964 http://sourceforge.net/p/jfreechart/code/2964 Author: mungady Date: 2013-11-21 10:13:46 +0000 (Thu, 21 Nov 2013) Log Message: ----------- Updated to JFreeSVG 1.4 Added Paths: ----------- branches/jfreechart-1.0.x-branch/lib/jfreesvg-1.4.jar Removed Paths: ------------- branches/jfreechart-1.0.x-branch/lib/jfreesvg-1.2.jar Deleted: branches/jfreechart-1.0.x-branch/lib/jfreesvg-1.2.jar =================================================================== (Binary files differ) Added: branches/jfreechart-1.0.x-branch/lib/jfreesvg-1.4.jar =================================================================== (Binary files differ) Index: branches/jfreechart-1.0.x-branch/lib/jfreesvg-1.4.jar =================================================================== --- branches/jfreechart-1.0.x-branch/lib/jfreesvg-1.4.jar 2013-11-21 10:11:43 UTC (rev 2963) +++ branches/jfreechart-1.0.x-branch/lib/jfreesvg-1.4.jar 2013-11-21 10:13:46 UTC (rev 2964) Property changes on: branches/jfreechart-1.0.x-branch/lib/jfreesvg-1.4.jar ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +application/octet-stream \ No newline at end of property This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mu...@us...> - 2013-11-21 10:11:47
|
Revision: 2963 http://sourceforge.net/p/jfreechart/code/2963 Author: mungady Date: 2013-11-21 10:11:43 +0000 (Thu, 21 Nov 2013) Log Message: ----------- Updated JCommon to 1.0.21. Added Paths: ----------- branches/jfreechart-1.0.x-branch/lib/jcommon-1.0.21.jar Removed Paths: ------------- branches/jfreechart-1.0.x-branch/lib/jcommon-1.0.20.jar Deleted: branches/jfreechart-1.0.x-branch/lib/jcommon-1.0.20.jar =================================================================== (Binary files differ) Added: branches/jfreechart-1.0.x-branch/lib/jcommon-1.0.21.jar =================================================================== (Binary files differ) Index: branches/jfreechart-1.0.x-branch/lib/jcommon-1.0.21.jar =================================================================== --- branches/jfreechart-1.0.x-branch/lib/jcommon-1.0.21.jar 2013-11-21 09:28:54 UTC (rev 2962) +++ branches/jfreechart-1.0.x-branch/lib/jcommon-1.0.21.jar 2013-11-21 10:11:43 UTC (rev 2963) Property changes on: branches/jfreechart-1.0.x-branch/lib/jcommon-1.0.21.jar ___________________________________________________________________ Added: svn:mime-type ## -0,0 +1 ## +application/octet-stream \ No newline at end of property This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mu...@us...> - 2013-11-21 09:28:57
|
Revision: 2962 http://sourceforge.net/p/jfreechart/code/2962 Author: mungady Date: 2013-11-21 09:28:54 +0000 (Thu, 21 Nov 2013) Log Message: ----------- New test. Added Paths: ----------- branches/jfreechart-1.0.x-branch/tests/org/jfree/chart/util/HMSNumberFormatTest.java Added: branches/jfreechart-1.0.x-branch/tests/org/jfree/chart/util/HMSNumberFormatTest.java =================================================================== --- branches/jfreechart-1.0.x-branch/tests/org/jfree/chart/util/HMSNumberFormatTest.java (rev 0) +++ branches/jfreechart-1.0.x-branch/tests/org/jfree/chart/util/HMSNumberFormatTest.java 2013-11-21 09:28:54 UTC (rev 2962) @@ -0,0 +1,61 @@ +/* =========================================================== + * JFreeChart : a free chart library for the Java(tm) platform + * =========================================================== + * + * (C) Copyright 2000-2013, by Object Refinery Limited and Contributors. + * + * Project Info: http://www.jfree.org/jfreechart/index.html + * + * This library is free software; you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation; either version 2.1 of the License, or + * (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public + * License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, + * USA. + * + * [Oracle and Java are registered trademarks of Oracle and/or its affiliates. + * Other names may be trademarks of their respective owners.] + * + * ------------------------ + * HMSNumberFormatTest.java + * ------------------------ + * (C) Copyright 2013, by Object Refinery Limited and Contributors. + * + * Original Author: David Gilbert (for Object Refinery Limited); + * Contributor(s): -; + * + * Changes + * ------- + * 21-Nov-2013 : Version 1 (DG); + * + */ + +package org.jfree.chart.util; + +import static org.junit.Assert.assertEquals; +import org.junit.Test; + +/** + * Tests for the {@link HMSNumberFormat} class. + */ +public class HMSNumberFormatTest { + + @Test + public void testGeneral() { + HMSNumberFormat formatter = new HMSNumberFormat(); + assertEquals("00:00:00", formatter.format(0)); + assertEquals("00:00:59", formatter.format(59)); + assertEquals("00:01:01", formatter.format(61)); + assertEquals("00:59:59", formatter.format(3599)); + assertEquals("01:00:00", formatter.format(3600)); + assertEquals("01:00:01", formatter.format(3601)); + } +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mu...@us...> - 2013-11-21 09:02:29
|
Revision: 2961 http://sourceforge.net/p/jfreechart/code/2961 Author: mungady Date: 2013-11-21 09:02:27 +0000 (Thu, 21 Nov 2013) Log Message: ----------- 2013-11-21 David Gilbert <dav...@ob...> * org/jfree/data/xy/XYSeriesCollection.java (removeSeries(int)): Ensure VetoableListener is deregistered. Modified Paths: -------------- branches/jfreechart-1.0.x-branch/source/org/jfree/data/xy/XYSeriesCollection.java Modified: branches/jfreechart-1.0.x-branch/source/org/jfree/data/xy/XYSeriesCollection.java =================================================================== --- branches/jfreechart-1.0.x-branch/source/org/jfree/data/xy/XYSeriesCollection.java 2013-11-21 09:02:05 UTC (rev 2960) +++ branches/jfreechart-1.0.x-branch/source/org/jfree/data/xy/XYSeriesCollection.java 2013-11-21 09:02:27 UTC (rev 2961) @@ -58,6 +58,8 @@ * 06-Mar-2009 : Fixed equals() implementation (DG); * 10-Jun-2009 : Simplified code in getX() and getY() methods (DG); * 02-Jul-2013 : Use ParamChecks (DG); + * 21-Nov-2013 : Fixed bug where removeSeries(int) was not deregistering + * vetoable listener (DG); * */ @@ -172,12 +174,10 @@ if ((series < 0) || (series >= getSeriesCount())) { throw new IllegalArgumentException("Series index out of bounds."); } - - // fetch the series, remove the change listener, then remove the series. - XYSeries ts = (XYSeries) this.data.get(series); - ts.removeChangeListener(this); - this.data.remove(series); - fireDatasetChanged(); + XYSeries s = (XYSeries) this.data.get(series); + if (s != null) { + removeSeries(s); + } } /** This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mu...@us...> - 2013-11-21 09:02:07
|
Revision: 2960 http://sourceforge.net/p/jfreechart/code/2960 Author: mungady Date: 2013-11-21 09:02:05 +0000 (Thu, 21 Nov 2013) Log Message: ----------- Extend test to cover removeSeries(int). Modified Paths: -------------- branches/jfreechart-1.0.x-branch/tests/org/jfree/data/xy/XYSeriesTest.java Modified: branches/jfreechart-1.0.x-branch/tests/org/jfree/data/xy/XYSeriesTest.java =================================================================== --- branches/jfreechart-1.0.x-branch/tests/org/jfree/data/xy/XYSeriesTest.java 2013-11-21 09:00:32 UTC (rev 2959) +++ branches/jfreechart-1.0.x-branch/tests/org/jfree/data/xy/XYSeriesTest.java 2013-11-21 09:02:05 UTC (rev 2960) @@ -799,5 +799,11 @@ // the key to anything we want... c.removeSeries(s1); s1.setKey("S2"); + + // check that removing by index also works + s1.setKey("S1"); + c.addSeries(s1); + c.removeSeries(1); + s1.setKey("S2"); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mu...@us...> - 2013-11-21 09:00:36
|
Revision: 2959 http://sourceforge.net/p/jfreechart/code/2959 Author: mungady Date: 2013-11-21 09:00:32 +0000 (Thu, 21 Nov 2013) Log Message: ----------- Added @override tags. Modified Paths: -------------- branches/jfreechart-1.0.x-branch/source/org/jfree/data/time/TimeSeriesCollection.java Modified: branches/jfreechart-1.0.x-branch/source/org/jfree/data/time/TimeSeriesCollection.java =================================================================== --- branches/jfreechart-1.0.x-branch/source/org/jfree/data/time/TimeSeriesCollection.java 2013-11-21 08:58:04 UTC (rev 2958) +++ branches/jfreechart-1.0.x-branch/source/org/jfree/data/time/TimeSeriesCollection.java 2013-11-21 09:00:32 UTC (rev 2959) @@ -235,6 +235,7 @@ * * @return {@link DomainOrder#ASCENDING} */ + @Override public DomainOrder getDomainOrder() { return DomainOrder.ASCENDING; } @@ -277,6 +278,7 @@ * * @return The series count. */ + @Override public int getSeriesCount() { return this.data.size(); } @@ -339,6 +341,7 @@ * * @return The key for a series. */ + @Override public Comparable getSeriesKey(int series) { // check arguments...delegated // fetch the series name... @@ -435,6 +438,7 @@ * * @return The item count. */ + @Override public int getItemCount(int series) { return getSeries(series).getItemCount(); } @@ -447,6 +451,7 @@ * * @return The x-value. */ + @Override public double getXValue(int series, int item) { TimeSeries s = (TimeSeries) this.data.get(series); RegularTimePeriod period = s.getTimePeriod(item); @@ -461,6 +466,7 @@ * * @return The value. */ + @Override public Number getX(int series, int item) { TimeSeries ts = (TimeSeries) this.data.get(series); RegularTimePeriod period = ts.getTimePeriod(item); @@ -496,6 +502,7 @@ * * @return The value. */ + @Override public synchronized Number getStartX(int series, int item) { TimeSeries ts = (TimeSeries) this.data.get(series); return new Long(ts.getTimePeriod(item).getFirstMillisecond( @@ -510,6 +517,7 @@ * * @return The value. */ + @Override public synchronized Number getEndX(int series, int item) { TimeSeries ts = (TimeSeries) this.data.get(series); return new Long(ts.getTimePeriod(item).getLastMillisecond( @@ -524,6 +532,7 @@ * * @return The value (possibly <code>null</code>). */ + @Override public Number getY(int series, int item) { TimeSeries ts = (TimeSeries) this.data.get(series); return ts.getValue(item); @@ -537,6 +546,7 @@ * * @return The value (possibly <code>null</code>). */ + @Override public Number getStartY(int series, int item) { return getY(series, item); } @@ -549,6 +559,7 @@ * * @return The value (possibly <code>null</code>). */ + @Override public Number getEndY(int series, int item) { return getY(series, item); } @@ -589,6 +600,7 @@ * * @return The minimum value. */ + @Override public double getDomainLowerBound(boolean includeInterval) { double result = Double.NaN; Range r = getDomainBounds(includeInterval); @@ -606,6 +618,7 @@ * * @return The maximum value. */ + @Override public double getDomainUpperBound(boolean includeInterval) { double result = Double.NaN; Range r = getDomainBounds(includeInterval); @@ -623,6 +636,7 @@ * * @return The range. */ + @Override public Range getDomainBounds(boolean includeInterval) { Range result = null; Iterator iterator = this.data.iterator(); @@ -657,6 +671,7 @@ * * @since 1.0.13 */ + @Override public Range getDomainBounds(List visibleSeriesKeys, boolean includeInterval) { Range result = null; @@ -714,6 +729,7 @@ * * @since 1.0.14 */ + @Override public Range getRangeBounds(List visibleSeriesKeys, Range xRange, boolean includeInterval) { Range result = null; @@ -721,8 +737,7 @@ while (iterator.hasNext()) { Comparable seriesKey = (Comparable) iterator.next(); TimeSeries series = getSeries(seriesKey); - Range r = null; - r = new Range(series.getMinY(), series.getMaxY()); + Range r = new Range(series.getMinY(), series.getMaxY()); // FIXME: Here we are ignoring the xRange result = Range.combineIgnoringNaN(result, r); } @@ -767,6 +782,7 @@ * * @return A boolean. */ + @Override public boolean equals(Object obj) { if (obj == this) { return true; @@ -792,6 +808,7 @@ * * @return The hashcode */ + @Override public int hashCode() { int result; result = this.data.hashCode(); @@ -810,6 +827,7 @@ * * @throws java.lang.CloneNotSupportedException */ + @Override public Object clone() throws CloneNotSupportedException { TimeSeriesCollection clone = (TimeSeriesCollection) super.clone(); clone.data = (List) ObjectUtilities.deepClone(this.data); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mu...@us...> - 2013-11-21 08:58:07
|
Revision: 2958 http://sourceforge.net/p/jfreechart/code/2958 Author: mungady Date: 2013-11-21 08:58:04 +0000 (Thu, 21 Nov 2013) Log Message: ----------- New test. Modified Paths: -------------- branches/jfreechart-1.0.x-branch/tests/org/jfree/data/time/TimeSeriesTest.java Modified: branches/jfreechart-1.0.x-branch/tests/org/jfree/data/time/TimeSeriesTest.java =================================================================== --- branches/jfreechart-1.0.x-branch/tests/org/jfree/data/time/TimeSeriesTest.java 2013-11-21 08:57:33 UTC (rev 2957) +++ branches/jfreechart-1.0.x-branch/tests/org/jfree/data/time/TimeSeriesTest.java 2013-11-21 08:58:04 UTC (rev 2958) @@ -1069,5 +1069,39 @@ item.setValue(new Double(99.9)); assertFalse(item.equals(series.getDataItem(0))); } + + @Test + public void testSetKey() { + TimeSeries s1 = new TimeSeries("S"); + s1.setKey("S1"); + assertEquals("S1", s1.getKey()); + + TimeSeriesCollection c = new TimeSeriesCollection(); + c.addSeries(s1); + TimeSeries s2 = new TimeSeries("S2"); + c.addSeries(s2); + + // now we should be allowed to change s1's key to anything but "S2" + s1.setKey("OK"); + assertEquals("OK", s1.getKey()); + + try { + s1.setKey("S2"); + fail("Expect an exception here."); + } catch (IllegalArgumentException e) { + // OK + } + + // after s1 is removed from the collection, we should be able to set + // the key to anything we want... + c.removeSeries(s1); + s1.setKey("S2"); + + // check that removing by index also works + s1.setKey("S1"); + c.addSeries(s1); + c.removeSeries(1); + s1.setKey("S2"); + } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mu...@us...> - 2013-11-21 08:57:36
|
Revision: 2957 http://sourceforge.net/p/jfreechart/code/2957 Author: mungady Date: 2013-11-21 08:57:33 +0000 (Thu, 21 Nov 2013) Log Message: ----------- 2013-11-21 David Gilbert <dav...@ob...> * 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. Modified Paths: -------------- branches/jfreechart-1.0.x-branch/ChangeLog Modified: branches/jfreechart-1.0.x-branch/ChangeLog =================================================================== --- branches/jfreechart-1.0.x-branch/ChangeLog 2013-11-21 08:57:19 UTC (rev 2956) +++ branches/jfreechart-1.0.x-branch/ChangeLog 2013-11-21 08:57:33 UTC (rev 2957) @@ -1,5 +1,15 @@ 2013-11-21 David Gilbert <dav...@ob...> + * 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 <dav...@ob...> + Bug #1084: * org/jfree/chart/block/BorderArrangement.java (add): Treat key that is not a RectangleEdge as null. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mu...@us...> - 2013-11-21 08:57:22
|
Revision: 2956 http://sourceforge.net/p/jfreechart/code/2956 Author: mungady Date: 2013-11-21 08:57:19 +0000 (Thu, 21 Nov 2013) Log Message: ----------- 2013-11-21 David Gilbert <dav...@ob...> * 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. Modified Paths: -------------- branches/jfreechart-1.0.x-branch/source/org/jfree/data/time/TimeSeriesCollection.java Modified: branches/jfreechart-1.0.x-branch/source/org/jfree/data/time/TimeSeriesCollection.java =================================================================== --- branches/jfreechart-1.0.x-branch/source/org/jfree/data/time/TimeSeriesCollection.java 2013-11-21 08:41:51 UTC (rev 2955) +++ branches/jfreechart-1.0.x-branch/source/org/jfree/data/time/TimeSeriesCollection.java 2013-11-21 08:57:19 UTC (rev 2956) @@ -88,6 +88,9 @@ package org.jfree.data.time; +import java.beans.PropertyChangeEvent; +import java.beans.PropertyVetoException; +import java.beans.VetoableChangeListener; import java.io.Serializable; import java.util.ArrayList; import java.util.Calendar; @@ -101,6 +104,7 @@ import org.jfree.data.DomainOrder; import org.jfree.data.Range; import org.jfree.data.general.DatasetChangeEvent; +import org.jfree.data.general.Series; import org.jfree.data.xy.AbstractIntervalXYDataset; import org.jfree.data.xy.IntervalXYDataset; import org.jfree.data.xy.XYDataset; @@ -116,7 +120,7 @@ */ public class TimeSeriesCollection extends AbstractIntervalXYDataset implements XYDataset, IntervalXYDataset, DomainInfo, XYDomainInfo, - XYRangeInfo, Serializable { + XYRangeInfo, VetoableChangeListener, Serializable { /** For serialization. */ private static final long serialVersionUID = 834149929022371137L; @@ -342,6 +346,28 @@ } /** + * Returns the index of the series with the specified key, or -1 if no + * series has that key. + * + * @param key the key (<code>null</code> not permitted). + * + * @return The index. + * + * @since 1.0.17 + */ + public int getSeriesIndex(Comparable key) { + ParamChecks.nullNotPermitted(key, "key"); + int seriesCount = getSeriesCount(); + for (int i = 0; i < seriesCount; i++) { + TimeSeries series = (TimeSeries) this.data.get(i); + if (key.equals(series.getKey())) { + return i; + } + } + return -1; + } + + /** * Adds a series to the collection and sends a {@link DatasetChangeEvent} to * all registered listeners. * @@ -351,6 +377,7 @@ ParamChecks.nullNotPermitted(series, "series"); this.data.add(series); series.addChangeListener(this); + series.addVetoableChangeListener(this); fireDatasetChanged(); } @@ -364,6 +391,7 @@ ParamChecks.nullNotPermitted(series, "series"); this.data.remove(series); series.removeChangeListener(this); + series.removeVetoableChangeListener(this); fireDatasetChanged(); } @@ -390,6 +418,7 @@ for (int i = 0; i < this.data.size(); i++) { TimeSeries series = (TimeSeries) this.data.get(i); series.removeChangeListener(this); + series.removeVetoableChangeListener(this); } // remove all the series from the collection and notify listeners. @@ -701,6 +730,37 @@ } /** + * Receives notification that the key for one of the series in the + * collection has changed, and vetos it if the key is already present in + * the collection. + * + * @param e the event. + * + * @since 1.0.17 + */ + @Override + public void vetoableChange(PropertyChangeEvent e) + throws PropertyVetoException { + // if it is not the series name, then we have no interest + if (!"Key".equals(e.getPropertyName())) { + return; + } + + // to be defensive, let's check that the source series does in fact + // belong to this collection + Series s = (Series) e.getSource(); + if (getSeriesIndex(s.getKey()) == -1) { + throw new IllegalStateException("Receiving events from a series " + + "that does not belong to this collection."); + } + // check if the new series name already exists for another series + Comparable key = (Comparable) e.getNewValue(); + if (getSeriesIndex(key) >= 0) { + throw new PropertyVetoException("Duplicate key2", e); + } + } + + /** * Tests this time series collection for equality with another object. * * @param obj the other object. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mu...@us...> - 2013-11-21 08:41:54
|
Revision: 2955 http://sourceforge.net/p/jfreechart/code/2955 Author: mungady Date: 2013-11-21 08:41:51 +0000 (Thu, 21 Nov 2013) Log Message: ----------- New test. Modified Paths: -------------- branches/jfreechart-1.0.x-branch/tests/org/jfree/data/xy/XYSeriesTest.java Modified: branches/jfreechart-1.0.x-branch/tests/org/jfree/data/xy/XYSeriesTest.java =================================================================== --- branches/jfreechart-1.0.x-branch/tests/org/jfree/data/xy/XYSeriesTest.java 2013-11-21 08:36:21 UTC (rev 2954) +++ branches/jfreechart-1.0.x-branch/tests/org/jfree/data/xy/XYSeriesTest.java 2013-11-21 08:41:51 UTC (rev 2955) @@ -48,11 +48,12 @@ import static org.junit.Assert.assertTrue; import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertEquals; import org.jfree.chart.TestUtilities; import org.jfree.data.general.SeriesException; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.fail; import org.junit.Test; /** @@ -772,4 +773,31 @@ assertEquals(2.0, s1.getMaxY(), EPSILON); } + @Test + public void testSetKey() { + XYSeries s1 = new XYSeries("S"); + s1.setKey("S1"); + assertEquals("S1", s1.getKey()); + + XYSeriesCollection c = new XYSeriesCollection(); + c.addSeries(s1); + XYSeries s2 = new XYSeries("S2"); + c.addSeries(s2); + + // now we should be allowed to change s1's key to anything but "S2" + s1.setKey("OK"); + assertEquals("OK", s1.getKey()); + + try { + s1.setKey("S2"); + fail("Expect an exception here."); + } catch (IllegalArgumentException e) { + // OK + } + + // after s1 is removed from the collection, we should be able to set + // the key to anything we want... + c.removeSeries(s1); + s1.setKey("S2"); + } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mu...@us...> - 2013-11-21 08:36:25
|
Revision: 2954 http://sourceforge.net/p/jfreechart/code/2954 Author: mungady Date: 2013-11-21 08:36:21 +0000 (Thu, 21 Nov 2013) Log Message: ----------- Add @override tags. Modified Paths: -------------- branches/jfreechart-1.0.x-branch/source/org/jfree/data/xy/XYSeriesCollection.java Modified: branches/jfreechart-1.0.x-branch/source/org/jfree/data/xy/XYSeriesCollection.java =================================================================== --- branches/jfreechart-1.0.x-branch/source/org/jfree/data/xy/XYSeriesCollection.java 2013-11-21 07:54:50 UTC (rev 2953) +++ branches/jfreechart-1.0.x-branch/source/org/jfree/data/xy/XYSeriesCollection.java 2013-11-21 08:36:21 UTC (rev 2954) @@ -128,6 +128,7 @@ * * @return The domain order. */ + @Override public DomainOrder getDomainOrder() { int seriesCount = getSeriesCount(); for (int i = 0; i < seriesCount; i++) { @@ -218,6 +219,7 @@ * * @return The series count. */ + @Override public int getSeriesCount() { return this.data.size(); } @@ -298,6 +300,7 @@ * @throws IllegalArgumentException if <code>series</code> is not in the * specified range. */ + @Override public Comparable getSeriesKey(int series) { // defer argument checking return getSeries(series).getKey(); @@ -335,6 +338,7 @@ * @throws IllegalArgumentException if <code>series</code> is not in the * range <code>0</code> to <code>getSeriesCount() - 1</code>. */ + @Override public int getItemCount(int series) { // defer argument checking return getSeries(series).getItemCount(); @@ -348,6 +352,7 @@ * * @return The value. */ + @Override public Number getX(int series, int item) { XYSeries s = (XYSeries) this.data.get(series); return s.getX(item); @@ -361,6 +366,7 @@ * * @return The starting X value. */ + @Override public Number getStartX(int series, int item) { return this.intervalDelegate.getStartX(series, item); } @@ -373,6 +379,7 @@ * * @return The ending X value. */ + @Override public Number getEndX(int series, int item) { return this.intervalDelegate.getEndX(series, item); } @@ -385,6 +392,7 @@ * * @return The value (possibly <code>null</code>). */ + @Override public Number getY(int series, int index) { XYSeries s = (XYSeries) this.data.get(series); return s.getY(index); @@ -398,6 +406,7 @@ * * @return The starting Y value. */ + @Override public Number getStartY(int series, int item) { return getY(series, item); } @@ -410,6 +419,7 @@ * * @return The ending Y value. */ + @Override public Number getEndY(int series, int item) { return getY(series, item); } @@ -421,6 +431,7 @@ * * @return A boolean. */ + @Override public boolean equals(Object obj) { if (obj == this) { return true; @@ -442,6 +453,7 @@ * * @throws CloneNotSupportedException if there is a problem. */ + @Override public Object clone() throws CloneNotSupportedException { XYSeriesCollection clone = (XYSeriesCollection) super.clone(); clone.data = (List) ObjectUtilities.deepClone(this.data); @@ -455,6 +467,7 @@ * * @return A hash code. */ + @Override public int hashCode() { int hash = 5; hash = HashUtilities.hashCode(hash, this.intervalDelegate); @@ -470,6 +483,7 @@ * * @return The minimum value. */ + @Override public double getDomainLowerBound(boolean includeInterval) { if (includeInterval) { return this.intervalDelegate.getDomainLowerBound(includeInterval); @@ -499,6 +513,7 @@ * * @return The maximum value. */ + @Override public double getDomainUpperBound(boolean includeInterval) { if (includeInterval) { return this.intervalDelegate.getDomainUpperBound(includeInterval); @@ -531,6 +546,7 @@ * @return The range (or <code>null</code> if the dataset contains no * values). */ + @Override public Range getDomainBounds(boolean includeInterval) { if (includeInterval) { return this.intervalDelegate.getDomainBounds(includeInterval); @@ -614,7 +630,7 @@ } /** - * Sets the flag that indicates wether the interval width is automatically + * Sets the flag that indicates whether the interval width is automatically * calculated or not. * * @param b a boolean. @@ -632,6 +648,7 @@ * @return The range (or <code>null</code> if the dataset contains no * values). */ + @Override public Range getRangeBounds(boolean includeInterval) { double lower = Double.POSITIVE_INFINITY; double upper = Double.NEGATIVE_INFINITY; @@ -663,6 +680,7 @@ * * @return The minimum value. */ + @Override public double getRangeLowerBound(boolean includeInterval) { double result = Double.NaN; int seriesCount = getSeriesCount(); @@ -689,6 +707,7 @@ * * @return The maximum value. */ + @Override public double getRangeUpperBound(boolean includeInterval) { double result = Double.NaN; int seriesCount = getSeriesCount(); @@ -716,6 +735,7 @@ * * @since 1.0.14 */ + @Override public void vetoableChange(PropertyChangeEvent e) throws PropertyVetoException { // if it is not the series name, then we have no interest This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mu...@us...> - 2013-11-21 07:54:53
|
Revision: 2953 http://sourceforge.net/p/jfreechart/code/2953 Author: mungady Date: 2013-11-21 07:54:50 +0000 (Thu, 21 Nov 2013) Log Message: ----------- 2013-11-21 David Gilbert <dav...@ob...> Bug #1084: * org/jfree/chart/block/BorderArrangement.java (add): Treat key that is not a RectangleEdge as null. Modified Paths: -------------- branches/jfreechart-1.0.x-branch/ChangeLog Modified: branches/jfreechart-1.0.x-branch/ChangeLog =================================================================== --- branches/jfreechart-1.0.x-branch/ChangeLog 2013-11-21 07:54:30 UTC (rev 2952) +++ branches/jfreechart-1.0.x-branch/ChangeLog 2013-11-21 07:54:50 UTC (rev 2953) @@ -1,5 +1,11 @@ 2013-11-21 David Gilbert <dav...@ob...> + Bug #1084: + * org/jfree/chart/block/BorderArrangement.java + (add): Treat key that is not a RectangleEdge as null. + +2013-11-21 David Gilbert <dav...@ob...> + Bug #1109: * org/jfree/chart/renderer/category/WaterfallBarRenderer.java (drawItem): Use positive bar paint when difference is 0. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mu...@us...> - 2013-11-21 07:54:33
|
Revision: 2952 http://sourceforge.net/p/jfreechart/code/2952 Author: mungady Date: 2013-11-21 07:54:30 +0000 (Thu, 21 Nov 2013) Log Message: ----------- 2013-11-21 David Gilbert <dav...@ob...> Bug #1084: * org/jfree/chart/block/BorderArrangement.java (add): Treat key that is not a RectangleEdge as null. Modified Paths: -------------- branches/jfreechart-1.0.x-branch/source/org/jfree/chart/block/BorderArrangement.java Modified: branches/jfreechart-1.0.x-branch/source/org/jfree/chart/block/BorderArrangement.java =================================================================== --- branches/jfreechart-1.0.x-branch/source/org/jfree/chart/block/BorderArrangement.java 2013-11-21 07:28:35 UTC (rev 2951) +++ branches/jfreechart-1.0.x-branch/source/org/jfree/chart/block/BorderArrangement.java 2013-11-21 07:54:30 UTC (rev 2952) @@ -27,7 +27,7 @@ * ---------------------- * BorderArrangement.java * ---------------------- - * (C) Copyright 2004-2008, by Object Refinery Limited. + * (C) Copyright 2004-2013, by Object Refinery Limited. * * Original Author: David Gilbert (for Object Refinery Limited); * Contributor(s): -; @@ -41,6 +41,7 @@ * 13-May-2005 : Fixed bugs in the arrange() method (DG); * 08-Apr-2008 : Fixed bug in arrangeFF() method where width is too small for * left and right blocks (DG); + * 21-Nov-2013 : Fixed bug #1084 (DG); * */ @@ -87,14 +88,17 @@ /** * Adds a block to the arrangement manager at the specified edge. + * If the key is not an instance of {@link RectangleEdge} the block will + * be added in the center. * * @param block the block (<code>null</code> permitted). * @param key the edge (an instance of {@link RectangleEdge}) or * <code>null</code> for the center block. */ + @Override public void add(Block block, Object key) { - if (key == null) { + if (!(key instanceof RectangleEdge)) { // catches null also this.centerBlock = block; } else { @@ -124,9 +128,9 @@ * * @return The block size. */ - public Size2D arrange(BlockContainer container, - Graphics2D g2, - RectangleConstraint constraint) { + @Override + public Size2D arrange(BlockContainer container, Graphics2D g2, + RectangleConstraint constraint) { RectangleConstraint contentConstraint = container.toContentConstraint(constraint); Size2D contentSize = null; @@ -487,6 +491,7 @@ /** * Clears the layout. */ + @Override public void clear() { this.centerBlock = null; this.topBlock = null; @@ -502,6 +507,7 @@ * * @return A boolean. */ + @Override public boolean equals(Object obj) { if (obj == this) { return true; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mu...@us...> - 2013-11-21 07:28:38
|
Revision: 2951 http://sourceforge.net/p/jfreechart/code/2951 Author: mungady Date: 2013-11-21 07:28:35 +0000 (Thu, 21 Nov 2013) Log Message: ----------- 2013-11-21 David Gilbert <dav...@ob...> Bug #1109: * org/jfree/chart/renderer/category/WaterfallBarRenderer.java (drawItem): Use positive bar paint when difference is 0. Modified Paths: -------------- branches/jfreechart-1.0.x-branch/ChangeLog Modified: branches/jfreechart-1.0.x-branch/ChangeLog =================================================================== --- branches/jfreechart-1.0.x-branch/ChangeLog 2013-11-21 07:28:23 UTC (rev 2950) +++ branches/jfreechart-1.0.x-branch/ChangeLog 2013-11-21 07:28:35 UTC (rev 2951) @@ -1,5 +1,11 @@ 2013-11-21 David Gilbert <dav...@ob...> + Bug #1109: + * org/jfree/chart/renderer/category/WaterfallBarRenderer.java + (drawItem): Use positive bar paint when difference is 0. + +2013-11-21 David Gilbert <dav...@ob...> + * org/jfree/chart/utils/HMSNumberFormat.java: New class. 2013-11-20 David Gilbert <dav...@ob...> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mu...@us...> - 2013-11-21 07:28:28
|
Revision: 2950 http://sourceforge.net/p/jfreechart/code/2950 Author: mungady Date: 2013-11-21 07:28:23 +0000 (Thu, 21 Nov 2013) Log Message: ----------- 2013-11-21 David Gilbert <dav...@ob...> Bug #1109: * org/jfree/chart/renderer/category/WaterfallBarRenderer.java (drawItem): Use positive bar paint when difference is 0. Modified Paths: -------------- branches/jfreechart-1.0.x-branch/source/org/jfree/chart/renderer/category/WaterfallBarRenderer.java Modified: branches/jfreechart-1.0.x-branch/source/org/jfree/chart/renderer/category/WaterfallBarRenderer.java =================================================================== --- branches/jfreechart-1.0.x-branch/source/org/jfree/chart/renderer/category/WaterfallBarRenderer.java 2013-11-21 07:19:05 UTC (rev 2949) +++ branches/jfreechart-1.0.x-branch/source/org/jfree/chart/renderer/category/WaterfallBarRenderer.java 2013-11-21 07:28:23 UTC (rev 2950) @@ -384,15 +384,11 @@ seriesPaint = getLastBarPaint(); } else { - if (valDiff < 0.0) { + if (valDiff >= 0.0) { + seriesPaint = getPositiveBarPaint(); + } else { seriesPaint = getNegativeBarPaint(); } - else if (valDiff > 0.0) { - seriesPaint = getPositiveBarPaint(); - } - else { - seriesPaint = getLastBarPaint(); - } } if (getGradientPaintTransformer() != null && seriesPaint instanceof GradientPaint) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mu...@us...> - 2013-11-21 07:19:08
|
Revision: 2949 http://sourceforge.net/p/jfreechart/code/2949 Author: mungady Date: 2013-11-21 07:19:05 +0000 (Thu, 21 Nov 2013) Log Message: ----------- Add @override tags. Modified Paths: -------------- branches/jfreechart-1.0.x-branch/source/org/jfree/chart/renderer/category/WaterfallBarRenderer.java Modified: branches/jfreechart-1.0.x-branch/source/org/jfree/chart/renderer/category/WaterfallBarRenderer.java =================================================================== --- branches/jfreechart-1.0.x-branch/source/org/jfree/chart/renderer/category/WaterfallBarRenderer.java 2013-11-21 06:31:12 UTC (rev 2948) +++ branches/jfreechart-1.0.x-branch/source/org/jfree/chart/renderer/category/WaterfallBarRenderer.java 2013-11-21 07:19:05 UTC (rev 2949) @@ -255,6 +255,7 @@ * * @return The range (or <code>null</code> if the dataset is empty). */ + @Override public Range findRangeBounds(CategoryDataset dataset) { if (dataset == null) { return null; @@ -307,16 +308,11 @@ * @param column the column index (zero-based). * @param pass the pass index. */ - public void drawItem(Graphics2D g2, - CategoryItemRendererState state, - Rectangle2D dataArea, - CategoryPlot plot, - CategoryAxis domainAxis, - ValueAxis rangeAxis, - CategoryDataset dataset, - int row, - int column, - int pass) { + @Override + public void drawItem(Graphics2D g2, CategoryItemRendererState state, + Rectangle2D dataArea, CategoryPlot plot, CategoryAxis domainAxis, + ValueAxis rangeAxis, CategoryDataset dataset, int row, int column, + int pass) { double previous = state.getSeriesRunningTotal(); if (column == dataset.getColumnCount() - 1) { @@ -440,6 +436,7 @@ * * @return A boolean. */ + @Override public boolean equals(Object obj) { if (obj == this) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <mu...@us...> - 2013-11-21 06:31:15
|
Revision: 2948 http://sourceforge.net/p/jfreechart/code/2948 Author: mungady Date: 2013-11-21 06:31:12 +0000 (Thu, 21 Nov 2013) Log Message: ----------- 2013-11-21 David Gilbert <dav...@ob...> * org/jfree/chart/utils/HMSNumberFormat.java: New class. Added Paths: ----------- branches/jfreechart-1.0.x-branch/source/org/jfree/chart/util/HMSNumberFormat.java Added: branches/jfreechart-1.0.x-branch/source/org/jfree/chart/util/HMSNumberFormat.java =================================================================== --- branches/jfreechart-1.0.x-branch/source/org/jfree/chart/util/HMSNumberFormat.java (rev 0) +++ branches/jfreechart-1.0.x-branch/source/org/jfree/chart/util/HMSNumberFormat.java 2013-11-21 06:31:12 UTC (rev 2948) @@ -0,0 +1,120 @@ +/* =========================================================== + * JFreeChart : a free chart library for the Java(tm) platform + * =========================================================== + * + * (C) Copyright 2000-2013, by Object Refinery Limited and Contributors. + * + * Project Info: http://www.jfree.org/jfreechart/index.html + * + * This library is free software; you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation; either version 2.1 of the License, or + * (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public + * License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, + * USA. + * + * [Oracle and Java are registered trademarks of Oracle and/or its affiliates. + * Other names may be trademarks of their respective owners.] + * + * -------------------- + * HMSNumberFormat.java + * -------------------- + * (C) Copyright 2013, by Object Refinery Limited and Contributors. + * + * Original Author: David Gilbert (for Object Refinery Limited); + * Contributor(s): -; + * + * Changes: + * -------- + * 28-Sep-2013 : Version 1 (RW); + * + */ + +package org.jfree.chart.util; + +import java.text.DecimalFormat; +import java.text.FieldPosition; +import java.text.NumberFormat; +import java.text.ParsePosition; + +/** + * A custom number formatter that formats numbers (in seconds) as HH:MM:SS. + * Created in response to: + * + * http://stackoverflow.com/questions/19028908/jfreechart-need-to-customize-y-axis-just-for-printing + * + * @since 1.0.17 + */ +public class HMSNumberFormat extends NumberFormat { + + private NumberFormat formatter = new DecimalFormat("00"); + + /** + * Creates a new instance. + */ + public HMSNumberFormat() { + // nothing to do + } + + /** + * Formats the specified number as a string of the form HH:MM:SS. The + * decimal fraction is ignored. + * + * @param number the number to format. + * @param toAppendTo the buffer to append to (ignored here). + * @param pos the field position (ignored here). + * + * @return The string buffer. + */ + @Override + public StringBuffer format(double number, StringBuffer toAppendTo, + FieldPosition pos) { + return format((long) number, toAppendTo, pos); + } + + /** + * Formats the specified number as a string of the form HH:MM:SS. + * + * @param number the number to format. + * @param toAppendTo the buffer to append to (ignored here). + * @param pos the field position (ignored here). + * + * @return The string buffer. + */ + @Override + public StringBuffer format(long number, StringBuffer toAppendTo, + FieldPosition pos) { + StringBuffer sb = new StringBuffer(); + long hours = number / 3600; + sb.append(this.formatter.format(hours)).append(":"); + long remaining = number - (hours * 3600); + long minutes = remaining / 60; + sb.append(this.formatter.format(minutes)).append(":"); + long seconds = remaining - (minutes * 60); + sb.append(this.formatter.format(seconds)); + return sb; + } + + /** + * Parsing is not implemented, so this method always returns + * <code>null</code>. + * + * @param source ignored. + * @param parsePosition ignored. + * + * @return Always <code>null</code>. + */ + @Override + public Number parse (String source, ParsePosition parsePosition) { + return null; // don't bother with parsing + } + +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |