Hi! In that case you can create a normalizer and use it after all the elements have been added. For example (__you need to update Roassal since Iâve just fixed a bug__): -=-=-=-=-=-=-=-=-= v := RTView new. data := #((1) (2) (1 2)). es := data collect: [ :d | b := RTPieBuilder new. b interaction popupText. b objects: d. b slice: #value. b build. b view asElement. ]. v addAll: es. RTCellLayout new lineItemsCount: 3; on: es. RTMetricNormalizer new view: v; objects: #(1 2); distinctColor. v -=-=-=-=-=-=-=-=-= If you do not know what are the values you have added in, you cannot provide âobjects: #(1 2)â. In that case, you can simply do: -=-=-=-=-=-=-=-=-= v := RTView new. data := #((1) (2) (1 2)). es := data collect: [ :d | b := RTPieBuilder new. b interaction popupText. b objects: d. b slice: #value. b build. b view asElement. ]. v addAll: es. RTCellLayout new lineItemsCount: 3; on: es. RTMetricNormalizer new view: v; elements: v elements; distinctColor. v -=-=-=-=-=-=-=-=-= Let us know how it goes! Cheers, Alexandre
On Mar 18, 2016, at 5:49 PM, Evan Donahue <emdonahu@gmail.com> wrote:
Hello,
Many thanks for the reply. This indeed solves part of my problem, and does what I expect (although in the smalltalkhub / ObjectProfile / development code, only RTView has #asElement, not RTBuilder). Given this, I think I can give an example of the real stumbling block I'm facing (although whether it is a framework limitation or my own ignorance, I cannot say).
Note that in the following code, there are two solid pie charts of the same color, but each represents a different object (the numbers 1 and 2 respectively). This is happening because each pie chart is generated with its own normalizer. Is it possible to share a single, global normalizer across many pie charts, or set up a single pie builder outside of the loop and then only vary its objects? I would like every slice in every pie chart that represents the number 1 to be one color, and every slice representing the number 2 to be a different color. Which color they are does not matter so long as they are distinct, and I will not know ahead of time how many different colors I will need or what types of objects I will be representing, so I can't manually assign colors to categories.
v := RTView new. data := #((1) (2) (1 2)). es := data collect: [ :d | b := RTPieBuilder new. b interaction popupText. b objects: d. b slice: #value. b normalizer distinctColor. b build. b view asElement. ].
v addAll: es. RTCellLayout new lineItemsCount: 3; on: es. v
Thank you, Evan
-- View this message in context: http://forum.world.st/Nesting-Builders-in-Roassal-tp4885185p4885372.html Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com.
-- _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;: Alexandre Bergel http://www.bergel.eu ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.