43 lines
1.2 KiB
Plaintext
43 lines
1.2 KiB
Plaintext
<function>
|
|
<subclass>afryca.ase.Function</subclass>
|
|
<file></file>
|
|
<category>BIRTChart</category>
|
|
<name>Cost metrics bar chart</name>
|
|
<description>Cost metrics bar 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('Cost metric');
|
|
birt.createBarChart('Cost metric', '', '', values.labels, values.input);
|
|
birt.createCanvas(composite, org.eclipse.swt.SWT.BORDER);
|
|
}
|
|
|
|
var update = function(composite) {
|
|
var values = generateValues('Cost metric');
|
|
birt.updateDataset(values.labels, values.input, composite)
|
|
}
|
|
|
|
return BIRTChartManager.call(['sim'], validBindings, create, update, method, composite);
|
|
</code>
|
|
</function> |