/*
* Licensed Materials - Property of Rogue Wave Software, Inc.
* © Copyright Rogue Wave Software, Inc. 2014, 2017
* © Copyright IBM Corp. 2009, 2014
* © Copyright ILOG 1996, 2009
* All Rights Reserved.
*
* Note to U.S. Government Users Restricted Rights:
* The Software and Documentation were developed at private expense and
* are "Commercial Items" as that term is defined at 48 CFR 2.101,
* consisting of "Commercial Computer Software" and
* "Commercial Computer Software Documentation", as such terms are
* used in 48 CFR 12.212 or 48 CFR 227.7202-1 through 227.7202-4,
* as applicable.
*/
package faces.dhtml;
import ilog.views.chart.IlvChart;
import ilog.views.chart.data.IlvDataSet;
import ilog.views.chart.faces.dhtml.IlvFacesChartImageMapGenerator;
import ilog.views.chart.servlet.IlvDefaultIMapAttributes;
import ilog.views.chart.servlet.IlvDefaultIMapDefinition;
import ilog.views.chart.servlet.IlvIMapAttributes;
import ilog.views.chart.servlet.IlvIMapDefinition;
/**
* A basic Chart image map generator.
*/
public class ImapGenerator implements IlvFacesChartImageMapGenerator {
Override
public IlvIMapDefinition createImageMapDefinition(IlvChart chart) {
IlvDefaultIMapDefinition mapdef = null;
IlvDataSet[] dataset = chart.getDataSource().getDataSets();
IlvIMapAttributes[][] attributes = new IlvIMapAttributes[dataset.length][];
for (int i = 0; i < dataset.length; i++) {
IlvDataSet set = dataset[i];
int n = set.getDataCount();
attributes[i] = new IlvIMapAttributes[n];
for (int j = 0; j < n; j++) {
final double y = set.getYData(j);
attributes[i][j] = new IlvDefaultIMapAttributes("javascript:void(0)") {
Override
public String getExtraAttributes() {
return "onmousemove=\"alert('" + y + "');return true;\" ";
}
};
}
}
try {
mapdef = new IlvDefaultIMapDefinition(dataset, attributes);
} catch (IllegalArgumentException e) {
System.err.println("Cannot create map definition :" + e.getMessage());
}
return mapdef;
}
}