Yes, endless loop with step as far as I remember stepAt: millisecondClockValue in: aWindow | newText |
(CodeHolder smartUpdating and: [(millisecondClockValue - self timeOfLastListUpdate) > 8000]) "Not more often than once every 8 seconds" ifTrue: [self updateListsAndCodeIn: aWindow. timeOfLastListUpdate := millisecondClockValue]. newText := self contentsIsString ifTrue: [self selection] ifFalse: ["keep it short to reduce time to compute it" self selectionPrintString ]. newText = contents ifFalse: [contents := newText. self changed: #contents] stepTimeIn: aSystemWindow ^ (selectionUpdateTime ifNil: [0]) * 10 max: 1000 Tadaaa :) The old Browser was doing the same, and a lot of Morphs are doing this :s Ben On Mar 21, 2013, at 12:00 PM, Sven Van Caekenberghe <s...@stfx.eu> wrote: > Ben, > > But then how does this work ? > > | point | > point := 1@2. > point inspect. > [ 5 seconds asDelay wait. > point setX: 10 setY: 20 ] fork. > > You can see the inspector change its printString, without > ValueHolders>>contents: being involved, just a direct instance variable > assignment. > > Sven > > On 21 Mar 2013, at 11:41, Benjamin <benjamin.vanryseghem.ph...@gmail.com> > wrote: > >> For this kind of situation, my solution is to use a valueHolder >> >> instead of storing your string directly in an inst var, store it into the >> value holder >> >> initialize >> string := '' asValueHolder >> >> string: aString >> string contents: aString >> >> string >> ^ string contents >> >> And then what you can do in your initialise is >> >> string whenChangedDo: [:newValue | self label contents: newValue ] >> >> Something like this should work ^^ >> >> >> The other solution (which is baaad, but can still be seen) is to have a step >> method refreshing the Morph. >> But this is really not efficient >> >> Hope it helps, >> Ben >> >> On Mar 21, 2013, at 11:24 AM, MartinW <w...@fastmail.fm> wrote: >> >>> I asked the same question on Stackoverflow >>> (http://stackoverflow.com/questions/15534305/how-to-bind-a-labelmorph-textmorph-to-a-variable-so-that-the-morph-reflects-chan) >>> but as i do not know how much the audiences overlap i hope you do not mind >>> if i repeat it here: >>> >>> How to bind a LabelMorph/TextMorph to a variable so that the Morph reflects >>> changes of the variable? >>> >>> - I have an object with a variable containing a String. >>> - I have a window containing a LabelMorph/TextMorph (or some other Morph >>> that displays Text?). >>> How do i bind the LabelMorph/TextMorph to the variable, so that the label >>> updates when the String in the variable changes? >>> >>> - classic Smalltalk-80 dependent/change/update mechanism? >>> - Pharo Announcement framework? >>> - something different?? >>> How would i do this? Which Morph should i use? >>> >>> Martin. >>> >>> >>> >>> -- >>> View this message in context: >>> http://forum.world.st/How-can-my-Morph-reflect-changes-in-the-object-it-displays-tp4677629.html >>> Sent from the Pharo Smalltalk Users mailing list archive at Nabble.com. >>> >> > >