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 <stephane.ducasse@inria.fr>:
http://code.google.com/p/pharo/issues/detail?id=810 Especially for the annotation panes in the old browser.
Stef
_______________________________________________ Pharo-project mailing list Pharo-project@lists.gforge.inria.fr http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project