The Smalltalk implementation of ULCPieChart is conceptually identical to the Java one. The saveState: method packs the widget data into the Smalltalk version of Anythings.
saveState: aStcAnything
super saveState: aStcAnything.
aStcAnything
at: 'w' put: self width;
at: 'h' put: self height;
at: 'data' put: (self
fillData: self values
colors: self colors
labels: self labels);
yourself
The Smalltalk implementation of the setData: method follows:
setData: aValuesCollection colors: aColorsCollection labels: aLabelsCollection
| data |
data := self
fillData: aValuesCollection
colors: aColorsCollection
labels: aLabelsCollection.
self sendToUI: 'setData' with: data
In Smalltalk, the type name used to request the creation of UI half objects is defined by overriding the typeString method:
typeString
^'com.ibm.ulc.examples.pieExtension.PieChart'