Example usage for org.jfree.chart.imagemap ToolTipTagFragmentGenerator generateToolTipFragment

List of usage examples for org.jfree.chart.imagemap ToolTipTagFragmentGenerator generateToolTipFragment

Introduction

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

Prototype

public String generateToolTipFragment(String toolTipText);

Source Link

Document

Generates a tooltip string to go in an HTML image map.

Usage

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

private static String getTitleImageMapAreaTag(Chart chart,
        ToolTipTagFragmentGenerator toolTipTagFragmentGenerator,
        URLTagFragmentGenerator urlTagFragmentGenerator, ChartEntity entity) {
    StringBuilder tag = new StringBuilder();
    ChartTitle title = chart.getTitle();
    if (title == null)
        return "";
    boolean hasURL = entity.getURLText() != null && !entity.getURLText().equals("");
    boolean hasAction = title.getActionExpression() != null || title.getActionListeners().length > 0;
    boolean hasToolTip = title.getTooltip() != null && !title.getTooltip().equals("");

    if (!hasURL && !hasToolTip && !hasAction)
        return "";

    String fieldId = chart.getClientId(FacesContext.getCurrentInstance()) + ACTION_FIELD_SUFFIX;

    tag.append("<area");

    if (hasAction)
        tag.append(" onclick=\"O$.setValue('").append(fieldId).append("','title'); O$.submitById('")
                .append(fieldId).append("');\"");

    tag.append(" shape=\"").append(entity.getShapeType()).append("\"" + " coords=\"")
            .append(entity.getShapeCoords()).append("\"");

    if (hasToolTip) {
        String toolTipText = entity.getToolTipText();
        if (toolTipText != null)
            tag.append(toolTipTagFragmentGenerator.generateToolTipFragment(toolTipText));
    }//from ww w  .j  ava2  s.c o m

    if (hasURL && !hasAction)
        tag.append(urlTagFragmentGenerator.generateURLFragment(entity.getURLText()));

    if (!hasToolTip)
        tag.append(" alt=\"\"");

    tag.append("/>");
    return tag.toString();
}

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

private static String getImageMapAreaTag(Chart chart, ChartView view,
        ToolTipTagFragmentGenerator toolTipTagFragmentGenerator,
        URLTagFragmentGenerator urlTagFragmentGenerator, ChartEntity entity, int entityIndex) {
    StringBuilder tag = new StringBuilder();
    boolean hasURL = entity.getURLText() != null && !entity.getURLText().equals("");
    boolean hasAction = viewHasAction(view);
    boolean hasPopup = viewHasPopup(view);
    boolean hasToolTip = entity.getToolTipText() != null && !entity.getToolTipText().equals("");
    boolean hasSelection = chart.getChartSelection() != null;

    String onClick = getOnClick(chart, view, entity);
    String onMouseOut = getOnMouseOut(chart, view, entity);
    String onMouseOver = getOnMouseOver(chart, view, entity);

    boolean hasCustomOnMouseOver = onMouseOver != null && !onMouseOver.equals("");
    boolean hasCustomOnMouseOut = onMouseOut != null && !onMouseOut.equals("");
    boolean hasCustomClick = onClick != null && !onClick.equals("");

    if (hasURL || hasToolTip || hasAction || hasPopup || hasCustomClick || hasSelection) {
        final FacesContext context = FacesContext.getCurrentInstance();
        tag.append("<area");

        if (hasAction || hasCustomClick || hasSelection) {
            if (hasSelection && chart.getChartMenu() != null && Environment.isChrome()) {
                tag.append(" oncontextmenu=\"");
                tag.append("O$('").append(chart.getClientId(context))
                        .append("')._areaContextMenuClick(event, '")
                        .append(chart.getChartMenu().getClientId(context)).append("');");
                tag.append("\"");
            }//from w  w  w  .  j  a  va  2s .  c o  m
            tag.append(" onclick=\"O$('").append(chart.getClientId(context)).append("')._clickItem(event, '")
                    .append(entityIndex).append("'");
            tag.append(",");
            if (hasCustomClick) {
                tag.append("function(event){").append(onClick).append("}");
            } else {
                tag.append("null");
            }
            tag.append(",").append(hasAction);
            tag.append(",").append(hasSelection);

            tag.append(")\"");
        }

        if (hasCustomOnMouseOver || hasPopup) {
            StringBuilder mouseOverBuilder = new StringBuilder();
            if (hasPopup) {
                final Integer oldEntityIndex = chart.getEntityIndex();
                chart.setEntityIndex(entityIndex);
                mouseOverBuilder.append("O$.ChartPopup._show(event,");
                mouseOverBuilder.append("'");
                mouseOverBuilder.append(chart.getChartView().getChartPopup().getClientId(context));
                mouseOverBuilder.append("',");
                mouseOverBuilder.append("'");
                mouseOverBuilder.append(entityIndex);
                mouseOverBuilder.append("'");
                chart.setEntityIndex(oldEntityIndex);

                if (hasCustomOnMouseOver) {
                    mouseOverBuilder.append(", function(){");
                    mouseOverBuilder.append(onMouseOver);
                    mouseOverBuilder.append("}");
                }
            } else {
                mouseOverBuilder.append(onMouseOver);
            }
            mouseOverBuilder.append(");");

            tag.append(" onmouseover=\"").append(mouseOverBuilder.toString()).append("\"");
        }

        if (hasCustomOnMouseOut) {
            tag.append(" onmouseout=\"").append(onMouseOut).append("\"");
        }

        tag.append(" shape=\"").append(entity.getShapeType()).append("\"" + " coords=\"")
                .append(entity.getShapeCoords()).append("\"");

        if (hasToolTip)
            tag.append(toolTipTagFragmentGenerator.generateToolTipFragment(entity.getToolTipText()));

        if (hasURL && !hasAction)
            tag.append(urlTagFragmentGenerator.generateURLFragment(entity.getURLText()));

        if (!hasToolTip)
            tag.append(" alt=\"\"");

        tag.append("/>");
    }
    return tag.toString();
}