> > The usual solution is to have a method looking like this on instance side > > rebuildMyLayout > > | layout | > layout := self buildStateDependentLayout. > self buildWithLayout: layout. > > buildStateDependentLayout > ^ SpecLayout composed > etc... >
I will defenitly look into that. The "rebuild" may be missleading, is it also called at first building ? The hooks are basically here, but the Morphs have an issue with this. > The "skin" of a Morph is supposed to be immutable, hence it takes back its > default value at each refresh :S > Well, I can't even manage to tweak it through hardcoding stuff on the adapter :p Do you think it would be hard to use a SimpleSwitchMorph ? As I understood, there is #asSpecAdapter that permis to plug pretty much everything ? Plus, making a specific adapter seems doable (I mean for a rookie like me). > That's a solution. > Then if you have a fixed number of buttons, you could also implement a > getter for each. > > If you have an undetermined number of button, then DynamicComposableModel > is for you. > Well, I definitely have a variable number of buttons, depending on the model instance. Actualy, I want my model to be a matrix of toggle to specify a mask. I create instance with: MaskModel class>#maxIndex: anInteger ^(self basicNew) maxIndex: anInteger; initialize; yourself and instantiate a collection of buttons in #initializeWidgets. It doesn't change much after that so a DynamicComposableModel didn't seem usefull. But I only though that because I never used it. I will give it a try. Anyway, thanks again for your time ! Thomas.