Files
2026-05-22 11:14:29 +02:00

41 lines
1.3 KiB
Plaintext

<function>
<subclass>afryca.ase.Function</subclass>
<file></file>
<category>BIRTChart</category>
<name>Quality metrics pie chart</name>
<description>Quality metrics pie chart</description>
<code>
var validBindings = function() {
return (sim != null);
}
var generateValues = function(moduleBindingName) {
var result = {labels:[''], input:[0]};
if (validBindings()) {
var execution = ase.executeModuleBinding(moduleBindingName);
var moduleBinding = ase.getModuleBindingByName(moduleBindingName);
var functions = ase.getModuleFunctions(moduleBinding.getModule());
var value;
for (var i = 0; i < functions.length; i++) {
result.labels[i] = functions[i];
value = execution.get(functions[i]);
result.input[i] = value.isPresent() ? value.get().getResult() : NaN;
}
}
return result;
}
var create = function(composite) {
var values = generateValues('Quality metric');
birt.createPieChart('Quality metric', values.labels, values.input);
birt.createCanvas(composite, org.eclipse.swt.SWT.BORDER);
}
var update = function(composite) {
var values = generateValues('Quality metric');
birt.updateDataset(values.labels, values.input, composite)
}
return BIRTChartManager.call(['sim'], validBindings, create, update, method, composite);
</code>
</function>