On Sat, May 22, 2010 at 10:09 AM, stephane ducasse <stephane.duca...@free.fr
> wrote:

> Hi guys
>
> what do we do with shout?
> Squeak introduced it directly in the system. Now I was thinking that what
> could be a solution is to have a
> default API/null pattern class that could be in the core and that when
> Shout gets loaded the shout class is used instead.
>

Wasn't this the idea of ToolSet ?  but sucks...(as we said few threads ago)


> Now we could add Shout to the TextEditor package but I would like to
> understand how we can do it without.
>

This is an excellent question and idea. Using some kind of Strategy pattern
or similar may help.
But I 9999999999^9999999  not to put Shout neither Style in Core ;)

I haven't look anything about the code. I have no idea. But cannot CodeMorph
or whatever have a class variable that holds the Styler?
Then we create, as you said, a NullStyler for core. Shout implements its own
Styler and when loaded, it does:
CodeMorph styler: ShoutStyler  or similar.

I guess the NullStyler is better than having to do everywhere  codeMorph
styler isNil ifFalse: [ ....

Cheers

Mariano



> And also it is interesting to see if one day we will need selector
> namespace or something like that to deal well with extensions.
> Stef
>
> in PharoCore-1.1 11367
>
> Fails as CodeMorph#stylerClass is not initialized. And no *Styler* class
> exists on PharoCore....
>
> To make test passes on Pharo I've written
>
> CodeMorph#defaultStylerClass
>  ^ SHTextStylerST80
>
> CodeMorph#stylerClass
>  ^ stylerClass ifNil: [stylerClass := self defaultStylerClass].
>
> the solution proposed by laurent only works when shout is loaded and this
> is not always the case.
>
>
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project@lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>
_______________________________________________
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to