diff --git a/xchart/src/main/java/com/xeiam/xchart/Chart.java b/xchart/src/main/java/com/xeiam/xchart/Chart.java index 6d4b306469422f4fed9df968bc2d5273581c14f6..20fd197177899c9ebb538c829b3b6b64ac807e4d 100644 --- a/xchart/src/main/java/com/xeiam/xchart/Chart.java +++ b/xchart/src/main/java/com/xeiam/xchart/Chart.java @@ -254,18 +254,6 @@ public class Chart { this.axisPair.yAxis.axisTitle.setText(title); } - // ChartPart visibility //////////////////////////////// - - /** - * Set the chart grid lines visibility - * - * @param isVisible - */ - public void setGridlinesVisible(boolean isVisible) { - - this.plot.plotSurface.setVisible(isVisible); - } - /** * Set the chart foreground color - the part the series are drawn on * diff --git a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTick.java b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTick.java index 030fe3320e086c64eba11717a7f5a8aa1b356c72..20207578887045c8bb6356b22614da439f1e4cd5 100644 --- a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTick.java +++ b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTick.java @@ -26,13 +26,12 @@ import java.util.TimeZone; import com.xeiam.xchart.internal.chartpart.Axis.AxisType; import com.xeiam.xchart.internal.chartpart.Axis.Direction; import com.xeiam.xchart.internal.interfaces.IChartPart; -import com.xeiam.xchart.internal.interfaces.IHideable; import com.xeiam.xchart.internal.misc.AxisValueFormatterUtil; /** * An axis tick */ -public class AxisTick implements IChartPart, IHideable { +public class AxisTick implements IChartPart { /** the default tick mark step hint for x axis */ private static final int DEFAULT_TICK_MARK_STEP_HINT_X = 74; @@ -265,9 +264,4 @@ public class AxisTick implements IChartPart, IHideable { } - @Override - public void setVisible(boolean isVisible) { - - // this.isVisible = isVisible; - } } diff --git a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTitle.java b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTitle.java index 2317d430e7f1bf0ac089448c2a678565a00d256f..fa0391a6a4c9a2bcc071e5e3edb1429ad7f2ab7f 100644 --- a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTitle.java +++ b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/AxisTitle.java @@ -22,12 +22,11 @@ import java.awt.font.TextLayout; import java.awt.geom.AffineTransform; import com.xeiam.xchart.internal.interfaces.IChartPart; -import com.xeiam.xchart.internal.interfaces.IHideable; /** * AxisTitle */ -public class AxisTitle implements IChartPart, IHideable { +public class AxisTitle implements IChartPart { /** parent */ private final Axis axis; @@ -58,11 +57,6 @@ public class AxisTitle implements IChartPart, IHideable { this.text = text; } - @Override - public void setVisible(boolean isVisible) { - - } - @Override public Rectangle getBounds() { diff --git a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/ChartTitle.java b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/ChartTitle.java index 01284ef437b6f1f1eabe85fd9b7ce559855921b8..654db3bd9f03a776c01b47d71ad70d32d77aad37 100644 --- a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/ChartTitle.java +++ b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/ChartTitle.java @@ -22,12 +22,11 @@ import java.awt.font.TextLayout; import com.xeiam.xchart.Chart; import com.xeiam.xchart.internal.interfaces.IChartPart; -import com.xeiam.xchart.internal.interfaces.IHideable; /** * Chart Title */ -public class ChartTitle implements IChartPart, IHideable { +public class ChartTitle implements IChartPart { /** parent */ private final Chart chart; @@ -58,11 +57,6 @@ public class ChartTitle implements IChartPart, IHideable { this.text = text; } - @Override - public void setVisible(boolean isVisible) { - - } - @Override public void paint(Graphics2D g) { diff --git a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/Legend.java b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/Legend.java index 95c8d3a7af263c06a534fe8be80027cf6d54b656..3c1a8793c7645d3cdd459f8ac801d9294727c88e 100644 --- a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/Legend.java +++ b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/Legend.java @@ -23,14 +23,13 @@ import java.util.Map; import com.xeiam.xchart.Chart; import com.xeiam.xchart.internal.interfaces.IChartPart; -import com.xeiam.xchart.internal.interfaces.IHideable; import com.xeiam.xchart.internal.markers.Marker; import com.xeiam.xchart.style.Series; /** * @author timmolter */ -public class Legend implements IChartPart, IHideable { +public class Legend implements IChartPart { /** parent */ private final Chart chart; @@ -48,11 +47,6 @@ public class Legend implements IChartPart, IHideable { this.chart = chart; } - @Override - public void setVisible(boolean isVisible) { - - } - @Override public void paint(Graphics2D g) { diff --git a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/PlotSurface.java b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/PlotSurface.java index 2942fdc99b77b80743cbdc225416c795a258ce6c..146f766b765f0aa0d71fc7f23e7b1c692116daa0 100644 --- a/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/PlotSurface.java +++ b/xchart/src/main/java/com/xeiam/xchart/internal/chartpart/PlotSurface.java @@ -22,13 +22,12 @@ import java.awt.Rectangle; import java.util.List; import com.xeiam.xchart.internal.interfaces.IChartPart; -import com.xeiam.xchart.internal.interfaces.IHideable; import com.xeiam.xchart.style.ChartColor; /** * @author timmolter */ -public class PlotSurface implements IChartPart, IHideable { +public class PlotSurface implements IChartPart { /** parent */ private Plot plot; @@ -42,9 +41,6 @@ public class PlotSurface implements IChartPart, IHideable { /** the line style */ private BasicStroke stroke; - /** the visibility state of PlotSurface */ - protected boolean isVisible = true; // default to true - /** * Constructor * @@ -78,7 +74,7 @@ public class PlotSurface implements IChartPart, IHideable { g.draw(borderRectangle); // paint grid lines - if (isVisible) { + if (plot.chart.getStyleManager().isPlotGridLinesVisible()) { // horizontal List<Integer> yAxisTickLocations = plot.chart.axisPair.yAxis.axisTick.tickLocations; for (int i = 0; i < yAxisTickLocations.size(); i++) { @@ -106,12 +102,6 @@ public class PlotSurface implements IChartPart, IHideable { } } - @Override - public void setVisible(boolean isVisible) { - - this.isVisible = isVisible; - } - /** * @param gridLinesColor the gridLinesColor to set */ diff --git a/xchart/src/main/java/com/xeiam/xchart/internal/interfaces/IHideable.java b/xchart/src/main/java/com/xeiam/xchart/internal/interfaces/IHideable.java deleted file mode 100644 index 9c4fb79108cdbee2c938d627a7ff4892bff553f4..0000000000000000000000000000000000000000 --- a/xchart/src/main/java/com/xeiam/xchart/internal/interfaces/IHideable.java +++ /dev/null @@ -1,19 +0,0 @@ -/******************************************************************************* - * Copyright (c) 2008-2011 SWTChart project. All rights reserved. - * - * This code is distributed under the terms of the Eclipse Public License v1.0 - * which is available at http://www.eclipse.org/legal/epl-v10.html - *******************************************************************************/ -package com.xeiam.xchart.internal.interfaces; - -/** - * ChartParts that can be set visible or not should implement this interface - * - * @author timmolter - */ -// TODO get rid of this after theme refactor is done -public interface IHideable extends IChartPart { - - public void setVisible(boolean isVisible); - -} \ No newline at end of file diff --git a/xchart/src/main/java/com/xeiam/xchart/style/StyleManager.java b/xchart/src/main/java/com/xeiam/xchart/style/StyleManager.java index 2fea5b2e3c68effccb085316840fa6e0359a648f..6988a7446a3650b761706101d1f94a5fd8053b49 100644 --- a/xchart/src/main/java/com/xeiam/xchart/style/StyleManager.java +++ b/xchart/src/main/java/com/xeiam/xchart/style/StyleManager.java @@ -35,19 +35,23 @@ public class StyleManager { /** the default Theme */ private Theme theme = new XChartTheme(); + // Chart Style /////////////////////////////// private Color chartBackgroundColor; public Color chartBordersColor; public Color chartFontColor; private int chartPadding; + // Chart Title /////////////////////////////// private Font chartTitleFont; private boolean isChartTitleVisible; + // Chart Legend /////////////////////////////// private boolean isLegendVisible; private Color legendBackgroundColor; private Font legendFont; private int legendPadding; + // Chart Axes /////////////////////////////// private boolean xAxisTitleVisible; private boolean yAxisTitleVisible; private Font axisTitleFont; @@ -60,6 +64,9 @@ public class StyleManager { private int plotPadding; private int axisTitlePadding; + // Chart Plot Area /////////////////////////////// + private boolean isPlotGridLinesVisible; + /** * Constructor */ @@ -70,19 +77,22 @@ public class StyleManager { private void setAllStyles() { - // chart + // Chart Style /////////////////////////////// chartBackgroundColor = theme.getChartBackgroundColor(); chartBordersColor = theme.getChartBordersColor(); chartFontColor = theme.getChartFontColor(); chartPadding = theme.getChartPadding(); - // chart title + + // Chart Title /////////////////////////////// chartTitleFont = theme.getChartTitleFont(); isChartTitleVisible = theme.isChartTitleVisible(); + // legend isLegendVisible = theme.isLegendVisible(); legendBackgroundColor = theme.getLegendBackgroundColor(); legendFont = theme.getLegendFont(); legendPadding = theme.getLegendPadding(); + // axes xAxisTitleVisible = theme.isXAxisTitleVisible(); yAxisTitleVisible = theme.isYAxisTitleVisible(); @@ -95,6 +105,9 @@ public class StyleManager { isAxisTicksLineVisible = theme.isAxisTicksLineVisible(); plotPadding = theme.getPlotPadding(); axisTitlePadding = theme.getAxisTitlePadding(); + + // Chart Plot Area /////////////////////////////// + isPlotGridLinesVisible = theme.isPlotGridLinesVisible(); } /** @@ -456,4 +469,21 @@ public class StyleManager { return axisTitlePadding; } + + // Chart Plot Area /////////////////////////////// + + /** + * sets the visibility of the gridlines on the plot area + * + * @param isPlotGridLinesVisible + */ + public void setPlotGridLinesVisible(boolean isPlotGridLinesVisible) { + + this.isPlotGridLinesVisible = isPlotGridLinesVisible; + } + + public boolean isPlotGridLinesVisible() { + + return isPlotGridLinesVisible; + } } diff --git a/xchart/src/main/java/com/xeiam/xchart/style/theme/Theme.java b/xchart/src/main/java/com/xeiam/xchart/style/theme/Theme.java index 87abdcec54d28c75483bd21f3c9603b86ef5c767..b31cefa25b2e73696dbeffb635659ce37adcfd47 100644 --- a/xchart/src/main/java/com/xeiam/xchart/style/theme/Theme.java +++ b/xchart/src/main/java/com/xeiam/xchart/style/theme/Theme.java @@ -79,4 +79,8 @@ public interface Theme { public int getPlotPadding(); + // Chart Plot Area /////////////////////////////// + + public boolean isPlotGridLinesVisible(); + } diff --git a/xchart/src/main/java/com/xeiam/xchart/style/theme/XChartTheme.java b/xchart/src/main/java/com/xeiam/xchart/style/theme/XChartTheme.java index 93ed3b98c22a98b18208e0f9cbd4e7a876a0a9a6..86d69e425bfa4fdd2d8fc65366083000b178ac3e 100644 --- a/xchart/src/main/java/com/xeiam/xchart/style/theme/XChartTheme.java +++ b/xchart/src/main/java/com/xeiam/xchart/style/theme/XChartTheme.java @@ -97,6 +97,8 @@ public class XChartTheme implements Theme { return 10; } + // Chart Axes /////////////////////////////// + @Override public boolean isXAxisTitleVisible() { @@ -162,4 +164,12 @@ public class XChartTheme implements Theme { return 10; } + + // Chart Plot Area /////////////////////////////// + + @Override + public boolean isPlotGridLinesVisible() { + + return true; + } }