package com.googlecode.gchart.gcharttestapp.client;
import com.googlecode.gchart.client.GChart;
import com.googlecode.gchart.client.HoverParameterInterpreter;
/**
*
* Exercise main "flavors" of valid and invalid paramter names
* associated with a HoverParameterInterpreter.
*
*/
public class TestGChart34 extends GChart {
// bunch of valid and invalid hover parameter names
String[] paramNames = {
"a", // these are various flavors of valid names
"a1",
"a_1",
"a_1_b_2",
"XyZ___4",
"x", // these override defaults. Test that this works
"y",
"pieSliceSize",
"_2", // These are invalid parameter names
"2a",
" b",
};
class TestParameterInterpreter implements HoverParameterInterpreter {
public String getHoverParameter(String paramName, Curve.Point p) {
String result = null;
for (int i = 0; i < paramNames.length; i++)
if (paramNames[i].equals(paramName))
result = paramNames[i] + " at point #" + p.getParent().getPointIndex(p);
return result;
}
}
TestGChart34() {
setChartSize(200, 200);
setHoverParameterInterpreter(new TestParameterInterpreter());
setInitialPieSliceOrientation(0.125);
String hoverTemplate = "";
for (int i = 0; i < paramNames.length; i++)
hoverTemplate += paramNames[i] + "=${" + paramNames[i] + "}
";
addCurve();
getCurve().addPoint(0,0);
getCurve().addPoint(4.5,4.5);
getCurve().addPoint(9,9);
getCurve().getSymbol().setBorderColor("black");
getCurve().getSymbol().setBackgroundColor("red");
getCurve().getSymbol().setWidth(20);
getCurve().getSymbol().setHeight(20);
getCurve().getSymbol().setHoverLocation(
AnnotationLocation.SOUTHEAST);
getCurve().getSymbol().setHovertextTemplate(
GChart.formatAsHovertext(hoverTemplate));
getXAxis().setHasGridlines(true);
getYAxis().setHasGridlines(true);
setChartFootnotes(
"Check: Hover message shows 'paramName=value' list
consistent with GChart's rules.");
}
}