Igor Stasenko a écrit :
> annotation pane is very useful thing. This is first thing i turning
> on, when start using new image.
>   
Hi Igor,

how do you makes it work on old  browser. It is never updated.
However, It is well implemented by OB, and  works very well with it.
So the question is can I remove it from old browser (from the core).
We can keep OB implementation and introduce an OB specific setting for it.

Regarding the old browser, It is very badly implemented and introduces 
very dirty dependences.
See pieces of code below.
We hare removing etoy or bookmorph for the same reasons.

CodeHolder>>refreshAnnotation
"If the receiver has an annotation pane that does not
        bear unaccepted edits, refresh it"
        (aPane := self dependents
                                detect: [:m | (m inheritsFromAnyIn: 
#('PluggableTextView'
'PluggableTextMorph' ))
                                                and: [m getTextSelector == 
#annotation]]
                                ifNone: [])
                ifNotNil: [:aPane | aPane hasUnacceptedEdits
                                ifFalse: [aPane update: #annotation]]

other "cool" pieces of code:
PluggableTextMorph>>accept
 ....
        ok := self acceptTextInModel.
        ok == true
                ifTrue: [self setText: self getText.
                        self hasUnacceptedEdits: false.
                        (model dependents
                                detect: [:dep | (dep isKindOf: 
PluggableTextMorph)
                                                and: [dep getTextSelector == 
#annotation]]
                                ifNone: [])
                                ifNotNilDo: [:aPane | model changed: 
#annotation]].
 ...
PluggableTextMorph>>cancel
        self setText: self getText.
        self setSelection: self getSelection.
        getTextSelector == #annotation
                ifFalse: [(aPane := model dependents
                                                detect: [:dep | (dep isKindOf: 
PluggableTextMorph)
                                                                and: [dep 
getTextSelector == #annotation]]
                                                ifNone: [])


                                ifNotNil: [:aPane | model changed: #annotation]]

Cheers
Alain
> 2009/5/21 Stéphane Ducasse <[email protected]>:
>   
>> http://code.google.com/p/pharo/issues/detail?id=810
>> Especially for the annotation panes in the old browser.
>>
>> Stef
>>
>> _______________________________________________
>> Pharo-project mailing list
>> [email protected]
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
>>     
>
>
>
>   


_______________________________________________
Pharo-project mailing list
[email protected]
http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project

Reply via email to