Thanks.

Still, when I do not have the initialize in the ClassMethodBrowser,
the thing doesn't work as the models aren't initialized properly.

I'll check again. I am trying to recreate the example from scratch to
understand how all of this works.

Regards,
Phil

2013/2/19 Benjamin <[email protected]>:
> The initialise method should not exists anymore.
>
> Probably the rest of an old refactoring.
>
> The "right" way is to use initialize for initialising your  inst var (other
> than sub widgets),
> initializeWidgets for initialising sub widgets (instantiate them, set them,
> etc) and
> initializePresenter to specify the interactions between sub widgets.
>
> Thanks for the report :)
>
> Ben
>
> On Feb 18, 2013, at 9:53 PM, [email protected] wrote:
>
> MethodBrowser works without that initialize (and uses
> initializeWidgets for the instantiation) where ClassMethodBrowser
> requires one (doesnt work without as models are nil).
>
> ClassMethodBrowser>>initialize
> "Initialization code for ClassMethodBrowser"
>
> super initialize.
>
> listModel := self instantiate: ListComposableModel.
> methodModel := self instantiate: MethodBrowser.
>
> self focusOrder
> add: listModel;
> add: methodModel.
>
> listModel whenSelectedItemChanged: [:selection |
> selection
> ifNotNil: [:class |
> methodModel methods: (class methodDict values sort: [:a :b | a
> selector < b selector]).
> methodModel listModel resetSelection ]].
>
> methodModel wrapWith: [:method | method selector ].
>
> And
>
> ClassMethodBrowser>>initializeWidgets
>
> self instantiateModels: #(
> listModel ListComposableModel
> methodModel MethodBrowser ).
>
> self focusOrder
> add: listModel;
> add: methodModel.
>
> methodModel displayBlock: [:method | method selector ].
>
> has the instantiateModels.
>
> There seems to be a double instantiation in here...
>
> What is the right way to proceed? The Spec Report of June 2012 and the
> Spec tex thing in the SCM aren't right, so I wonder what the right way
> to do things is.
>
> TIA
>
> Phil
>
>

Reply via email to