view flys-artifacts/src/main/java/de/intevation/flys/jfree/StyledXYSeries.java @ 4573:b87073a05f9d

flys-client: Patch to render combobox options as clickable links. The way of passing data arguments to the links and further to the Artifact feeding service is somewhat hacked and should be refactored (later...).
author Christian Lins <christian.lins@intevation.de>
date Tue, 27 Nov 2012 12:50:10 +0100
parents 0f7abd95c6e2
children
line wrap: on
line source
package de.intevation.flys.jfree;

import java.util.List;

import org.apache.log4j.Logger;

import org.w3c.dom.Document;

import org.jfree.data.xy.XYDataItem;
import org.jfree.data.xy.XYSeries;

/**
 * @author <a href="mailto:ingo.weinzierl@intevation.de">Ingo Weinzierl</a>
 */
public class StyledXYSeries extends XYSeries implements StyledSeries, HasLabel {

    private static final Logger logger = Logger.getLogger(StyledXYSeries.class);

    protected Style style;

    /** If this Series is to be labelled, use this String as label. */
    protected String label;


    public StyledXYSeries(String key, Document theme) {
        this(key, true, theme);
        this.label = key.toString();
    }


    public StyledXYSeries(String key, Document theme, XYSeries unstyledSeries) {
        this(key, theme);
        add(unstyledSeries);
    }


    /**
     * @param sorted whether or not to sort the points. Sorting will move NANs
     *               to one extrema which can cause problems in certain
     *               algorithms.
     */
    public StyledXYSeries(String key, boolean sorted, Document theme) {
        super(key, sorted);
        setStyle(new XYStyle(theme));
        this.label = key.toString();
    }


    @Override
    public void setStyle(Style style) {
        this.style = style;
    }


    @Override
    public Style getStyle() {
        return style;
    }


    @Override
    public String getLabel() {
        return label;
    }

    @Override
    public void setLabel(String label) {
        this.label = label;
    }

    protected void add(XYSeries series) {
        List<XYDataItem> items = series.getItems();
        add(items);
    }

    protected void add(List<XYDataItem> items) {
        for(XYDataItem item : items) {
            add(item.getXValue(), item.getYValue());
        }
    }
}
// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org