Mercurial > dive4elements > river
view flys-artifacts/src/main/java/de/intevation/flys/jfree/FLYSAnnotation.java @ 4890:bf38ea4cb0f7
Added bodies to macros. Use the bodies of <dc:call-macro><body></dc:call-macro> as <dc:macro-body/> in tthe macro. Example:
<dc:macro name="greet"><hello><dc:macro-body/></hello></dc:macro>
<dc:call-macro name="greet"><planet>Earth</planet></dc:call-macro>
Result:
<hello><panet>Earth</planet></hello>
author | Sascha L. Teichmann <teichmann@intevation.de> |
---|---|
date | Mon, 28 Jan 2013 18:55:55 +0100 |
parents | 18c66e586e44 |
children |
line wrap: on
line source
package de.intevation.flys.jfree; import de.intevation.flys.artifacts.model.HYKFactory; import java.util.Collections; import java.util.List; import org.jfree.chart.annotations.XYTextAnnotation; import org.w3c.dom.Document; /** * List of Text- Annotations (Sticky to one axis or in space) * and 'HYK'-Annotations (rectangles/areas) with name and theme. */ public class FLYSAnnotation { /** 'Other' Text Annotations. */ protected List<XYTextAnnotation> textAnnotations; /** Annotations at axis. */ protected List<StickyAxisAnnotation> axisTextAnnotations; /** Areas at axis. */ protected List<HYKFactory.Zone> boxes; /** Styling information. */ protected Document theme; /** Chart-legend information. */ protected String label; public FLYSAnnotation(String label, List<StickyAxisAnnotation> annotations) { this(label, annotations, null, null); } /** Create annotations, parameter might be null. */ public FLYSAnnotation(String label, List<StickyAxisAnnotation> annotations, List<HYKFactory.Zone> bAnnotations ) { this(label, annotations, bAnnotations, null); } /** Create annotations, parameter might be null. */ public FLYSAnnotation(String label, List<StickyAxisAnnotation> annotations, List<HYKFactory.Zone> bAnnotations, Document theme ) { this.label = label; this.axisTextAnnotations = (annotations != null) ? annotations : Collections.<StickyAxisAnnotation>emptyList(); this.boxes = (bAnnotations != null) ? bAnnotations : Collections.<HYKFactory.Zone>emptyList(); this.textAnnotations = Collections.<XYTextAnnotation>emptyList(); this.setTheme(theme); } public void setLabel(String label) { this.label = label; } public String getLabel() { return label; } public List<StickyAxisAnnotation> getAxisTextAnnotations() { return axisTextAnnotations; } public void setTextAnnotations(List<XYTextAnnotation> annotations) { this.textAnnotations = annotations; } /** Set the "other" Text Annotations. */ public List<XYTextAnnotation> getTextAnnotations() { return textAnnotations; } public List<HYKFactory.Zone> getBoxes() { return boxes; } public void setTheme(Document theme) { this.theme = theme; } public Document getTheme() { return theme; } /** * Set sticky axis of all axisTextAnnotations * to the X axis if it is currently Y, and vice versa. * @return this */ public FLYSAnnotation flipStickyAxis() { for (StickyAxisAnnotation saa: axisTextAnnotations) { saa.flipStickyAxis(); } return this; } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :