Mercurial > dive4elements > river
diff flys-artifacts/src/main/java/de/intevation/flys/exports/StyledXYSeries.java @ 1753:741ba9e34c7d
Apply the attributes 'showpoints' and 'showline'.
flys-artifacts/trunk@3056 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Raimund Renkert <raimund.renkert@intevation.de> |
---|---|
date | Fri, 21 Oct 2011 14:02:07 +0000 |
parents | 1bc926b5b435 |
children | 8e6615ad60b8 |
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/exports/StyledXYSeries.java Fri Oct 21 13:25:24 2011 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/exports/StyledXYSeries.java Fri Oct 21 14:02:07 2011 +0000 @@ -2,6 +2,7 @@ import java.awt.BasicStroke; import java.awt.Color; +import java.awt.geom.Ellipse2D; import org.apache.log4j.Logger; @@ -11,6 +12,7 @@ import org.jfree.data.xy.XYSeries; import de.intevation.artifacts.common.utils.XMLUtils; +import de.intevation.flys.utils.ThemeUtil; public class StyledXYSeries extends XYSeries { @@ -44,91 +46,58 @@ applyLineColor(r, idx); applyLineSize(r, idx); applyLineType(r, idx); - - r.setSeriesLinesVisible(idx, true); - r.setSeriesShapesVisible(idx, false); + applyShowLine(r, idx); + applyShowPoints(r, idx); return r; } protected void applyLineColor(XYLineAndShapeRenderer r, int idx) { - String color = XMLUtils.xpathString(theme, XPATH_LINE_COLOR, null); - - if (color == null || color.length() == 0) { - return; - } - - String[] rgb = color.split(","); - - try { - Color c = new Color( - Integer.valueOf(rgb[0].trim()), - Integer.valueOf(rgb[1].trim()), - Integer.valueOf(rgb[2].trim())); - - logger.debug("Set series paint color: " + c.toString()); - - r.setSeriesPaint(idx, c); - } - catch (NumberFormatException nfe) { - logger.warn("Unable to set color from string: '" + color + "'"); - } + Color c = ThemeUtil.parseLineColorField(theme); + r.setSeriesPaint(idx, c); } protected void applyLineSize(XYLineAndShapeRenderer r, int idx) { - String size = XMLUtils.xpathString(theme, XPATH_LINE_SIZE, null); - - if (size == null || size.length() == 0) { - return; - } - - try { - r.setSeriesStroke( - idx, - new BasicStroke(Integer.valueOf(size))); - } - catch (NumberFormatException nfe) { - logger.warn("Unable to set line size from string: '" + size + "'"); - } + int size = ThemeUtil.parseLineWidth(theme); + r.setSeriesStroke( + idx, + new BasicStroke(Integer.valueOf(size))); } protected void applyLineType(XYLineAndShapeRenderer r, int idx) { - String dash = XMLUtils.xpathString(theme, XPATH_LINE_TYPE, null); - String size = XMLUtils.xpathString(theme, XPATH_LINE_SIZE, null); + int size = ThemeUtil.parseLineWidth(theme); + float[] dashes = ThemeUtil.parseLineStyle(theme); - if (dash == null || dash.length() == 0) { - return; - } - if (size == null || size.length() == 0) { - return; - } - - String[] pattern = dash.split(","); - if(pattern.length == 1) { + // Do not apply the dashed style. + if (dashes.length <= 1) { return; } - try { - float[] dashes = new float[pattern.length]; - for (int i = 0; i < pattern.length; i++) { - dashes[i] = Float.parseFloat(pattern[i]); - } + r.setSeriesStroke( + idx, + new BasicStroke(Integer.valueOf(size), + BasicStroke.CAP_BUTT, + BasicStroke.JOIN_ROUND, + 1.0f, + dashes, + 0.0f)); + } - r.setSeriesStroke( - idx, - new BasicStroke(Integer.valueOf(size), - BasicStroke.CAP_BUTT, - BasicStroke.JOIN_ROUND, - 1.0f, - dashes, - 0.0f)); - } - catch(NumberFormatException nfe) { - logger.warn("Unable to set dash from string: '" + dash + "'"); - } + + protected void applyShowPoints(XYLineAndShapeRenderer r, int idx) { + boolean show = ThemeUtil.parseShowPoints(theme); + r.setSeriesShape(idx, new Ellipse2D.Double(-2.0, -2.0, 4.0, 4.0)); + r.setSeriesShapesVisible(idx, show); + r.setDrawOutlines(true); + } + + + protected void applyShowLine(XYLineAndShapeRenderer r, int idx) { + boolean show = ThemeUtil.parseShowLine(theme); + r.setSeriesLinesVisible(idx, show); } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :