Example usage for org.jfree.chart.imagemap StandardToolTipTagFragmentGenerator StandardToolTipTagFragmentGenerator

List of usage examples for org.jfree.chart.imagemap StandardToolTipTagFragmentGenerator StandardToolTipTagFragmentGenerator

Introduction

In this page you can find the example usage for org.jfree.chart.imagemap StandardToolTipTagFragmentGenerator StandardToolTipTagFragmentGenerator.

Prototype

public StandardToolTipTagFragmentGenerator() 

Source Link

Document

Creates a new instance.

Usage

From source file:gov.nih.nci.caintegrator.ui.graphing.util.ImageMapUtil.java

/**
 * Write the image map for the collection of bounding entities.
 * @param writer//from  w  w w  . ja  v a  2  s  .  c o m
 * @param name
 * @param boundingEntities
 * @param useOverlibToolTip
 */
private static void writeBoundingRectImageMap(PrintWriter writer, String name,
        Collection<ChartEntity> boundingEntities, boolean useOverlibToolTip) {
    System.out.println("Num entities=" + boundingEntities.size());
    StringBuffer sb = new StringBuffer();
    ChartEntity chartEntity;
    String areaTag;

    StandardToolTipTagFragmentGenerator ttg = new StandardToolTipTagFragmentGenerator();
    StandardURLTagFragmentGenerator urlg = new StandardURLTagFragmentGenerator();
    sb.append("<map id=\"" + name + "\" name=\"" + name + "\">");
    sb.append(StringUtils.getLineSeparator());
    for (Iterator i = boundingEntities.iterator(); i.hasNext();) {
        chartEntity = (ChartEntity) i.next();
        areaTag = chartEntity.getImageMapAreaTag(ttg, urlg).trim();
        if (areaTag.length() > 0) {
            if (sb.indexOf(chartEntity.getImageMapAreaTag(ttg, urlg)) == -1) {
                sb.append(chartEntity.getImageMapAreaTag(ttg, urlg));
                sb.append(StringUtils.getLineSeparator());
            }
        }
    }
    sb.append("</map>");
    writer.println(sb.toString());
}

From source file:org.openfaces.component.chart.impl.helpers.MapRenderUtilities.java

public static String getImageMapExt(Chart chart, String name, ChartRenderingInfo info,
        ToolTipTagFragmentGenerator toolTipTagFragmentGenerator,
        URLTagFragmentGenerator urlTagFragmentGenerator) {
    StringBuilder sb = new StringBuilder();
    sb.append("<map id=\"").append(name).append("\" name=\"").append(name).append("\">");
    sb.append(StringUtils.getLineSeparator());

    // the following is needed for displaying tooltips under IE (doesn't display tooltips if there's no area with href)
    String fakeArea = "<area shape=\"rect\" coords=\"0,0,0,0\" href=\"fake.jsp\" alt=\"\" title=\"\" />";
    sb.append(fakeArea);/* ww w.  j  av a2s  .co m*/
    sb.append(StringUtils.getLineSeparator());

    EntityCollection entities = info.getEntityCollection();
    if (entities != null) {
        int count = entities.getEntityCount();
        ChartView view = chart.getChartView();

        for (int i = count - 1; i >= 0; i--) {
            ChartEntity entity = entities.getEntity(i);

            if (entity.getToolTipText() == null && entity.getURLText() == null
                    && getOnClick(chart, chart.getChartView(), entity) == null && !viewHasAction(view)
                    && !viewHasPopup(view) && chart.getChartSelection() == null)
                continue;

            String area;
            if (i == 0) {
                area = getTitleImageMapAreaTag(chart, new StandardToolTipTagFragmentGenerator(),
                        new StandardURLTagFragmentGenerator(), entity);
            } else {
                if (entity instanceof PieSectionEntity) {
                    area = getImageMapAreaTag(chart, view, toolTipTagFragmentGenerator, urlTagFragmentGenerator,
                            entity, i);
                } else if (entity instanceof CategoryItemEntity) {
                    area = getImageMapAreaTag(chart, view, toolTipTagFragmentGenerator, urlTagFragmentGenerator,
                            entity, i);
                } else if (entity instanceof XYItemEntity) {
                    area = getImageMapAreaTag(chart, view, toolTipTagFragmentGenerator, urlTagFragmentGenerator,
                            entity, i);
                } else {
                    area = "";
                }
            }

            if (area.length() > 0) {
                sb.append(area);
                sb.append(StringUtils.getLineSeparator());
            }
        }

    }

    sb.append("</map>");
    return sb.toString();
}

From source file:com.googlecode.tawus.jfreechart.base.AbstractChart.java

ToolTipTagFragmentGenerator defaultToolTipTagGenerator() {
    return new StandardToolTipTagFragmentGenerator();
}

From source file:info.novatec.testit.livingdoc.confluence.macros.historic.AbstractChartBuilder.java

public String getChartMap(String chartMapId) throws IOException {
    StringWriter writer = new StringWriter();
    PrintWriter pw = new PrintWriter(writer);

    try {/*w w  w.j a v  a2 s  .c  o m*/
        ChartUtilities.writeImageMap(pw, chartMapId, chartRenderingInfo,
                new StandardToolTipTagFragmentGenerator(), new StandardURLTagFragmentGenerator());
    } finally {
        IOUtils.closeQuietly(pw);
    }

    return writer.toString();
}

From source file:com.greenpepper.confluence.macros.historic.AbstractChartBuilder.java

public String getChartMap(String chartMapId) throws IOException {
    StringWriter writer = new StringWriter();
    PrintWriter pw = new PrintWriter(writer);

    try {//from w  w w  . j a v a2  s .com
        ChartUtilities.writeImageMap(pw, chartMapId, chartRenderingInfo,
                new StandardToolTipTagFragmentGenerator(), new StandardURLTagFragmentGenerator());
    } finally {
        IOUtil.closeQuietly(pw);
    }

    return writer.toString();
}

From source file:org.openfaces.renderkit.chart.ChartRenderer.java

@Override
public void encodeEnd(FacesContext facesContext, UIComponent component) throws IOException {
    Components.generateIdIfNotSpecified(component);
    ResponseWriter writer = facesContext.getResponseWriter();
    Chart chart = (Chart) component;//from  w  ww .  j av a2s .co  m

    ChartView view = chart.getChartView();
    if (!chart.isRendered() || view == null)
        return;

    writer.startElement("div", chart);
    writeIdAttribute(facesContext, chart);
    Rendering.writeComponentClassAttribute(writer, chart);
    writer.writeAttribute("style",
            "width: " + chart.getWidth() + "px;" + " height:" + chart.getHeight() + "px;", "style");

    String actionFiledId = chart.getClientId(facesContext) + MapRenderUtilities.ACTION_FIELD_SUFFIX;
    Rendering.writeNewLine(writer);
    Rendering.renderHiddenField(writer, actionFiledId, null);
    Rendering.writeNewLine(writer);

    BufferedImage image = chart.make();
    final byte[] imageAsByteArray = Rendering.encodeAsPNG(image);

    final JfcRenderHints renderHints = chart.getRenderHints();
    final ChartRenderingInfo renderingInfo = renderHints.getRenderingInfo();
    String mapId = renderHints.getMapId(chart);
    String map = MapRenderUtilities.getImageMapExt(chart, mapId, renderingInfo,
            new StandardToolTipTagFragmentGenerator(), new StandardURLTagFragmentGenerator());
    renderHints.setMap(map);
    if (view.getChartPopup() != null) {
        encodeChartPopup(facesContext, chart, view, renderingInfo);
    }

    chart.setImageBytes(imageAsByteArray);
    final Integer oldEntityIndex = chart.getEntityIndex();
    chart.setEntityIndex(-1);
    String imageCreatedKey = "_dynamicImageCreated";
    if (!chart.getAttributes().containsKey(imageCreatedKey)) {
        chart.getAttributes().put(imageCreatedKey, true);
        Application application = FacesContext.getCurrentInstance().getApplication();
        DynamicImage dynamicImage = (DynamicImage) application.createComponent(DynamicImage.COMPONENT_TYPE);
        dynamicImage.setId("img");
        dynamicImage.getAttributes().put(DynamicImageRenderer.DEFAULT_STYLE_ATTR, "o_chart");
        Components.addChild(chart, dynamicImage);
    }
    DynamicImage dynamicImage = Components.findChildWithClass(chart, DynamicImage.class);
    ValueExpression ve = new ByteArrayValueExpression(imageAsByteArray);
    dynamicImage.setValueExpression("data", ve);
    dynamicImage.setMapId(mapId);
    dynamicImage.setMap(map);
    dynamicImage.setWidth(chart.getWidth());
    dynamicImage.setHeight(chart.getHeight());
    copyAttributes(dynamicImage, chart, "onclick", "ondblclick", "onmousedown", "onmouseup", "onmousemove",
            "onmouseover", "onmouseout");

    dynamicImage.setImageType(ImageType.PNG);
    dynamicImage.encodeAll(facesContext);
    chart.setEntityIndex(oldEntityIndex);
    if (map != null) {
        Resources.renderJSLinkIfNeeded(facesContext, Resources.utilJsURL(facesContext));
        Resources.renderJSLinkIfNeeded(facesContext, Resources.internalURL(facesContext, "chart/chart.js"));
    }
    encodeScripts(facesContext, chart, dynamicImage);
    writer.endElement("div");
}

From source file:net.sf.jsfcomp.chartcreator.renderkit.ChartRenderer.java

private void writeImageMap(FacesContext context, UIChart uichart) {
    ResponseWriter writer = context.getResponseWriter();
    ExternalContext externalContext = context.getExternalContext();
    Map sessionMap = externalContext.getSessionMap();
    String clientId = uichart.getClientId(context);
    ChartData data = (ChartData) sessionMap.get(clientId);
    JFreeChart chart = ChartUtils.createChartWithType(data);
    ChartUtils.setGeneralChartProperties(chart, data);

    ChartRenderingInfo chartRenderingInfo = new ChartRenderingInfo();
    try {//from  w w w  .j  av a  2s  .  co  m
        ByteArrayOutputStream out = new ByteArrayOutputStream();
        if (data.getOutput().equalsIgnoreCase("png"))
            ChartUtilities.writeChartAsPNG(out, chart, data.getWidth(), data.getHeight(), chartRenderingInfo);
        else if (data.getOutput().equalsIgnoreCase("jpeg"))
            ChartUtilities.writeChartAsJPEG(out, chart, data.getWidth(), data.getHeight(), chartRenderingInfo);

        renderImageMapSupport(context, uichart, chartRenderingInfo);

        writer.write(ChartUtilities.getImageMap(uichart.getGenerateMap(), chartRenderingInfo,
                new StandardToolTipTagFragmentGenerator(), new URLTagFragmentGenerator(uichart.getId())));
    } catch (IOException error) {
        error.printStackTrace();
    }
}

From source file:org.openfaces.component.chart.ChartView.java

public byte[] renderAsImageFile() {
    Chart chart = getChart();/*from  ww w. j a  v  a 2s . c om*/
    JfcRenderHints renderHints = chart.getRenderHints();
    ChartRenderingInfo chartRenderingInfo = new ChartRenderingInfo();
    renderHints.setRenderingInfo(chartRenderingInfo);

    ChartModel model = chart.getModel();
    ModelInfo info = new ModelInfo(model);
    renderHints.setModelInfo(info);

    Plot plot = createPlot(chart, model, info);
    JFreeChart jFreeChart = new JFreeChartAdapter(plot, chart);
    int width = chart.getWidth();
    int height = chart.getHeight();
    BufferedImage image = jFreeChart.createBufferedImage(width, height, chartRenderingInfo);
    byte[] imageAsByteArray = Rendering.encodeAsPNG(image);

    String mapId = renderHints.getMapId(chart);
    if (mapId != null) {
        String map = MapRenderUtilities.getImageMapExt(chart, mapId, chartRenderingInfo,
                new StandardToolTipTagFragmentGenerator(), new StandardURLTagFragmentGenerator());
        renderHints.setMap(map);
    }

    return imageAsByteArray;
}

From source file:gov.nih.nci.cma.web.graphing.CMAPrincipalComponentAnalysisPlot.java

/**
 * Write the image map for the collection of bounding entities.
 * @param writer//w ww .jav a 2s  .  co m
 * @param name
 * @param boundingEntities
 * @param useOverlibToolTip
 */
private void writeBoundingRectImageMap(PrintWriter writer, String name,
        Collection<ChartEntity> boundingEntities, boolean useOverlibToolTip) {
    System.out.println("Num entities=" + boundingEntities.size());
    StringBuffer sb = new StringBuffer();
    ChartEntity chartEntity;
    String areaTag;

    StandardToolTipTagFragmentGenerator ttg = new StandardToolTipTagFragmentGenerator();
    StandardURLTagFragmentGenerator urlg = new StandardURLTagFragmentGenerator();
    sb.append("<map id=\"" + name + "\" name=\"" + name + "\">");
    sb.append(StringUtils.getLineSeparator());
    for (Iterator i = boundingEntities.iterator(); i.hasNext();) {
        chartEntity = (ChartEntity) i.next();
        areaTag = chartEntity.getImageMapAreaTag(ttg, urlg).trim();
        if (areaTag.length() > 0) {
            sb.append(chartEntity.getImageMapAreaTag(ttg, urlg));
            sb.append(StringUtils.getLineSeparator());
        }
    }
    sb.append("</map>");
    writer.println(sb.toString());
}

From source file:net.sourceforge.processdash.ui.web.CGIChartBase.java

protected ToolTipTagFragmentGenerator getToolTipGenerator(String defaultTooltip) {
    String tooltipType = getSetting("tooltips");
    if ("overlib".equalsIgnoreCase(tooltipType))
        return new CustomOverlibFragmentGenerator(defaultTooltip);
    else if ("plain".equalsIgnoreCase(tooltipType))
        return new StandardToolTipTagFragmentGenerator();
    else// w  w  w .  j a  v  a  2 s .c o m
        return null;
}