Laurent I'm not sure that this it the good way to create classes
If you want a shorter form check how this is done in coral.
Stef
On Apr 13, 2011, at 4:16 PM, laurent laffont wrote:
> This works:
>
> counter := Class new
> superclass: Object;
> addInstVarNamed: 'counter';
> compile: 'initialize
> counter := 0';
> compile: 'counterString
> ^ counter asString';
> compile: 'increment
> counter := counter + 1.
> self changed:#counterString';
> compile: 'decrement
> counter := counter - 1.
> self changed:#counterString';
> new.
>
> (UITheme builder newColumn: {
> UITheme builder newLabelFor: counter getLabel: #counterString getEnabled:
> nil.
> UITheme builder newRow: {
> UITheme builder newButtonFor: counter action: #increment label: '+' help:
> nil.
> UITheme builder newButtonFor: counter action: #decrement label: '-' help:
> nil.
> }
> }) openInWindowLabeled: 'Counter example'.
>
>
>
> This one crashes the VM (tried on PharoOneClick 1.2 OSX, Cog and StackVM):
>
> (Class new
> superclass: StringMorph;
> compile: 'step self contents: Time now printString';
> new)
> openCenteredInWorld
>
>
>
> Any idea ?
>
>
>
> Laurent Laffont - @lolgzs
>
> Pharo Smalltalk Screencasts: http://www.pharocasts.com/
> Blog: http://magaloma.blogspot.com/
> Developer group: http://cara74.seasidehosting.st
>