Comment #7 on issue 900 by benjamin...@gmail.com: Glamour-Roassal should be able to work with raw ROView not just ROMondrianBuilder http://code.google.com/p/moose-technology/issues/detail?id=900
Sorry I never got around to following this up. It is surprisingly long ago. I have been distracted away from Moose for a while, but since there are now a number of builders for Roassal - ROMondrianViewBuilder, ROTreeMapBuilder, ROPunchcardBuilder, ROFranceMapBuilder - now might be a good time to revisit the architecture of the Glamour-Roassal interface.
Currently Glamour is tied tightly with ROMondrianViewBuilder, and I guess the new builders would not work with Glamour. In other words, it is currently a Glamour-ROMondrianViewBuilder interface rather than a Glamour-Roassal interface. It would be really great if future new third-party Roassal builders could be easily plugged into Glamour. This should also include direct use of ROView such as by my LEKtrek application (when I finally release it).
Also, please consider the case where the Roassal view is not completely regenerated each time, but is persistent across invocations of #paint:. This is for where the Glamour-Roassal interface is used mostly for passing selections from Glamour lists to highlight Roassal features. Just off the top of my head, one way of implementing both these behaviours might be to consider whether a class or an instance is passed to #newView:. For example, where.. a roassal newView: [ :oldView | MyRoassalBuilder newViewFrom: oldView ] ;
* regenerate each time MyRoassalBuilder class>>newViewFrom: oldView ^ self new
* persistent MyRoassalBuilder class>>newViewFrom: oldView ^ oldView