[Pharo-project] could we fix MorphicModel

2010-08-27 Thread stephane ducasse
gary?

Do you have surgeon knife?
Because I do not see why slider need to depend on that wonderfully designed 
code.

use: cachedSelector orMakeModelSelectorFor: selectorBody in: selectorBlock
| selector |
model ifNil: [^ nil].
cachedSelector ifNil:
[Make up selector from slotname if any
selector := (slotName ifNil: [selectorBody]
ifNotNil: 
[slotName , selectorBody]) asSymbol.
(model class canUnderstand: selector) ifFalse:
[(self confirm: 'Shall I compile a null 
response for'
, Character cr asString
, model class name , 
'' , selector)
ifFalse: [self halt].
model class compile: (String streamContents:
[:s | selector 
keywords doWithIndex:

[:k :i | s nextPutAll: k , ' arg' , i printString].
s cr; 
nextPutAll: 'Automatically generated null response.'.
s cr; 
nextPutAll: 'Add code below for appropriate behavior...'.])
classified: 'input 
events'
notifying: nil]]
ifNotNil:
[selector := cachedSelector].
^ selectorBlock value: selector
___
Pharo-project mailing list
Pharo-project@lists.gforge.inria.fr
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project


Re: [Pharo-project] could we fix MorphicModel

2010-08-27 Thread Gary Chambers
Indeed, one of the more beautiful bits of Etoys...

Regards, Gary

Sent from my iPad

On 27 Aug 2010, at 10:29, stephane ducasse stephane.duca...@free.fr wrote:

 gary?
 
 Do you have surgeon knife?
 Because I do not see why slider need to depend on that wonderfully designed 
 code.
 
 use: cachedSelector orMakeModelSelectorFor: selectorBody in: selectorBlock
   | selector |
   model ifNil: [^ nil].
   cachedSelector ifNil:
   [Make up selector from slotname if any
   selector := (slotName ifNil: [selectorBody]
   ifNotNil: 
 [slotName , selectorBody]) asSymbol.
   (model class canUnderstand: selector) ifFalse:
   [(self confirm: 'Shall I compile a null 
 response for'
   , Character cr asString
   , model class name , 
 '' , selector)
   ifFalse: [self halt].
   model class compile: (String streamContents:
   [:s | selector 
 keywords doWithIndex:
   
 [:k :i | s nextPutAll: k , ' arg' , i printString].
   s cr; 
 nextPutAll: 'Automatically generated null response.'.
   s cr; 
 nextPutAll: 'Add code below for appropriate behavior...'.])
   classified: 'input 
 events'
   notifying: nil]]
   ifNotNil:
   [selector := cachedSelector].
   ^ selectorBlock value: selector
 ___
 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