List of usage examples for org.jfree.chart.imagemap StandardToolTipTagFragmentGenerator StandardToolTipTagFragmentGenerator
public StandardToolTipTagFragmentGenerator()
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; }