From: <mu...@us...> - 2008-09-18 23:32:28
|
Revision: 1621 http://jfreechart.svn.sourceforge.net/jfreechart/?rev=1621&view=rev Author: mungady Date: 2008-09-19 06:32:26 +0000 (Fri, 19 Sep 2008) Log Message: ----------- Synchronised with 1.0.x branch. Modified Paths: -------------- trunk/source/org/jfree/chart/JFreeChart.java trunk/source/org/jfree/chart/title/Title.java trunk/tests/org/jfree/chart/title/junit/TitleTests.java Modified: trunk/source/org/jfree/chart/JFreeChart.java =================================================================== --- trunk/source/org/jfree/chart/JFreeChart.java 2008-09-19 06:31:33 UTC (rev 1620) +++ trunk/source/org/jfree/chart/JFreeChart.java 2008-09-19 06:32:26 UTC (rev 1621) @@ -144,6 +144,7 @@ * TextTitle) (DG); * 23-Apr-2008 : Added new contributor (Diego Pierangeli) (DG); * 16-May-2008 : Added new contributor (Michael Siemer) (DG); + * 19-Sep-2008 : Check for title visibility (DG); * */ @@ -1206,10 +1207,12 @@ Iterator iterator = this.subtitles.iterator(); while (iterator.hasNext()) { Title currentTitle = (Title) iterator.next(); - EntityCollection e = drawTitle(currentTitle, g2, nonTitleArea, - (entities != null)); - if (e != null) { - entities.addAll(e); + if (currentTitle.isVisible()) { + EntityCollection e = drawTitle(currentTitle, g2, nonTitleArea, + (entities != null)); + if (e != null) { + entities.addAll(e); + } } } Modified: trunk/source/org/jfree/chart/title/Title.java =================================================================== --- trunk/source/org/jfree/chart/title/Title.java 2008-09-19 06:31:33 UTC (rev 1620) +++ trunk/source/org/jfree/chart/title/Title.java 2008-09-19 06:32:26 UTC (rev 1621) @@ -55,6 +55,7 @@ * 02-Feb-2005 : Changed Spacer --> RectangleInsets for padding (DG); * 03-May-2005 : Fixed problem in equals() method (DG); * 20-Jun-2007 : Removed JCommon dependency (DG); + * 19-Sep-2008 : Added visibility flag (DG); * */ @@ -107,6 +108,13 @@ public static final RectangleInsets DEFAULT_PADDING = new RectangleInsets( 1, 1, 1, 1); + /** + * A flag that controls whether or not the title is visible. + * + * @since 1.0.11 + */ + public boolean visible; + /** The title position. */ private RectangleEdge position; @@ -188,6 +196,7 @@ throw new IllegalArgumentException("Null 'spacer' argument."); } + this.visible = true; this.position = position; this.horizontalAlignment = horizontalAlignment; this.verticalAlignment = verticalAlignment; @@ -198,6 +207,35 @@ } /** + * Returns a flag that controls whether or not the title should be + * drawn. The default value is <code>true</code>. + * + * @return A boolean. + * + * @see #setVisible(boolean) + * + * @since 1.0.11 + */ + public boolean isVisible() { + return this.visible; + } + + /** + * Sets a flag that controls whether or not the title should be drawn, and + * sends a {@link TitleChangeEvent} to all registered listeners. + * + * @param visible the new flag value. + * + * @see #isVisible() + * + * @since 1.0.11 + */ + public void setVisible(boolean visible) { + this.visible = visible; + notifyListeners(new TitleChangeEvent(this)); + } + + /** * Returns the position of the title. * * @return The title position (never <code>null</code>). @@ -321,7 +359,6 @@ * be thrown by subclasses. */ public Object clone() throws CloneNotSupportedException { - Title duplicate = (Title) super.clone(); duplicate.listenerList = new EventListenerList(); // RectangleInsets is immutable => same reference in clone OK @@ -379,10 +416,10 @@ if (!(obj instanceof Title)) { return false; } - if (!super.equals(obj)) { + Title that = (Title) obj; + if (this.visible != that.visible) { return false; } - Title that = (Title) obj; if (this.position != that.position) { return false; } @@ -395,7 +432,7 @@ if (this.notify != that.notify) { return false; } - return true; + return super.equals(obj); } /** Modified: trunk/tests/org/jfree/chart/title/junit/TitleTests.java =================================================================== --- trunk/tests/org/jfree/chart/title/junit/TitleTests.java 2008-09-19 06:31:33 UTC (rev 1620) +++ trunk/tests/org/jfree/chart/title/junit/TitleTests.java 2008-09-19 06:32:26 UTC (rev 1621) @@ -36,6 +36,7 @@ * ------- * 17-Feb-2004 : Version 1 (DG); * 20-Jun-2007 : Removed JCommon dependencies (DG); + * 18-Sep-2008 : Updated testEquals() (DG); * */ @@ -99,6 +100,11 @@ t2.setVerticalAlignment(VerticalAlignment.BOTTOM); assertTrue(t1.equals(t2)); + t1.setVisible(false); + assertFalse(t1.equals(t2)); + t2.setVisible(false); + assertTrue(t1.equals(t2)); + } /** This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |