On Sat, Apr 29, 2017 at 09:22:46PM +0200, Denis Kudriashov wrote:
Hi
2017-04-29 20:36 GMT+02:00 Peter Uhnak <i.uhnak@gmail.com>:
No, it is not. It has hard wired bindings from certain names to morphic adapters, but only if you don't actually specify the target calss. In other words, if in your #specLayout you specify a name that has a binding, then the binding will be used; if there is no such binding, then the class will be instantiated directly.
So for example if you specify: * LabelAdapter -> there is binding from LabelAdapter to MorphicLabelAdapter, so MorphicLabelAdapter will be instantiated * MorphicLabelAdapter -> there are no bindings for this name, so it will be instantiated directly * CocoaLabelAdapter -> there are no bindings for this name, so it will be instantiated directly
But we should not reference directly platform specific widgets when we define spec layout. Otherwise we will be forced to copy every layout method (like #defaultSpec) for each platform. And it breaks goal of Spec to be able open application with different backends without code modification.
I am sure you know what I wrote. So probably I not understand what you mean.
I was describing how it is possible to do it _now_, not how it ideally should be done (because there's no other way right now)... we will change this, because we will also need a better way for Bloc. So Pharo7 again :) Peter