package org.dashbuilder.renderer.chartjs.lib; import com.google.gwt.dom.client.Style; import com.google.gwt.user.client.Event; import org.dashbuilder.renderer.chartjs.lib.options.HasTooltip; /** * Adds tooltip configurations to Chart object */ public abstract class ChartWithTooltip extends Chart implements HasTooltip{ @Override public void setTooltipEvents(Event... events) { String[] eventsString = new String[events.length]; for(int i=0;i<events.length;i++){ eventsString[i] = events[i].getType(); } options.setArrayProperty(TOOLTIPEVENTS, eventsString); } @Override public void setTooltipFillColor(String color) { options.setProperty(TOOLTIPFILLCOLOR, color); } @Override public void showTooltips(boolean show) { if(!show) options.clearProperty(SHOWTOOLTIPS); else options.setProperty(SHOWTOOLTIPS, show); } @Override public void setTooltipFontFamily(String fontFamily) { options.setProperty(TOOLTIPFONTFAMILY, fontFamily); } @Override public void setTooltipFontSize(int fontSize) { options.setProperty(TOOLTIPFONTSIZE, fontSize); } @Override public void setTooltipFontStyle(Style.FontStyle fontStyle) { options.setProperty(TOOLTIPFONTSTYLE, fontStyle.getCssName()); } @Override public void setTooltipFontColor(String color) { options.setProperty(TOOLTIPFONTCOLOR, color); } @Override public void setTooltipTitleFontFamily(String fontFamily) { options.setProperty(TOOLTIPTITLEFONTFAMILY, fontFamily); } @Override public void setTooltipTitleFontSize(int size) { options.setProperty(TOOLTIPTITLEFONTSIZE, size); } @Override public void setTooltipTitleFontStyle(Style.FontStyle style) { options.setProperty(TOOLTIPTITLEFONTSTYLE, style.getCssName()); } @Override public void setTooltipTitleFontColor(String color) { options.setProperty(TOOLTIPTITLEFONTCOLOR, color); } @Override public void setTooltipYPadding(int padding) { options.setProperty(TOOLTIPYPADDING, padding); } @Override public void setTooltipXPadding(int padding) { options.setProperty(TOOLTIPXPADDING, padding); } @Override public void setCornerRadius(int radius) { options.setProperty(TOOLTIPCORNERRADIUS, radius); } @Override public void setTooltipCaretSize(int size) { options.setProperty(TOOLTIPCARETSIZE, size); } @Override public void setTooltipXOffset(int offset) { options.setProperty(TOOLTIPXOFFSET, offset); } @Override public void setTooltipTemplate(String template) { options.setProperty(TOOLTIPTEMPLATE, template); } @Override public void setMultiTooltipTemplate(String template) { options.setProperty(MULTITOOLTIPTEMPLATE, template); } }