[squeak-dev] continuous display of cursor position
Ken G. Brown
kbrown at mac.com
Fri Jan 4 21:45:12 UTC 2013
On 2013-01-04, at 1:57 AM, Edgar J. De Cleene wrote:
>
>
>
> On 1/3/13 11:50 PM, "Ralph Boland" <rpboland at gmail.com> wrote:
>
>> I would like to create a small TextMorph that continuously displays the
>> position
>> of the cursor. To do this I need to write something of the form:
>>
>> true whileTrue: [
>> x := self getCursorPosition.
>> textMorph display: x.
>> self sleep: 10 "milliseconds"]
>>
>> I plan to use this when investigating some morph that is not displaying the
>> way
>> I expect it to.
>>
>> Can someone provide me with hints as how to properly do this or point
>> me to a package that already does this or something similar?
>>
>> I have searched the code and the Internet. I found that "getCursorPosition"
>> can be implemented as:
>>
>> "World activeHand position"
>>
>> I can also figure out how to build the Morph I need to display the
>> Cursor position.
>>
>> I don't know how to implement "sleep:"
>> I am not sure if I should use an infinite loop as I have.
>>
>> An alternative to the TextMorph I want is to construct a cursor that
>> continuously displays its
>> position but I prefer my original plan.
>>
>> Any help much appreciated.
>>
>> Ralph Boland
>>
>
> See the attached, I use daily
>
> Evaluate InfoMorph openInWorld or InfoMorph openInHand
>
> Cheers
>
> Edgar
Have you been able to run this in the latest Squeak4.4-12327 on Cog 2640?
On my Mac, InfoMorph openInWorld fails:
InfoMorph class(Object)>>doesNotUnderstand: #openInWorld
Receiver: InfoMorph
Arguments and temporary variables:
aMessage: openInWorld
exception: MessageNotUnderstood: InfoMorph class>>openInWorld
resumeValue: nil
Receiver's instance variables:
superclass: StringMorph
methodDict: a MethodDictionary(#cambio:->(InfoMorph>>#cambio: "a CompiledMethod...etc...
format: 150
instanceVariables: nil
organization: ('step' step stepTime)
('as yet unclassified' cambio:)
subclasses: nil
name: #InfoMorph
classPool: nil
sharedPools: nil
environment: Smalltalk globals "a SystemDictionary with lots of globals"
category: #SqueakRos
Ken G. Brown
>
[see attached file: InfoMorph.st]
-------------- next part --------------
'From Squeak4.2 of 13 June 2011 [latest update: #11599] on 16 April 2012 at 9:31 am'!
StringMorph subclass: #InfoMorph
instanceVariableNames: ''
classVariableNames: ''
poolDictionaries: ''
category: 'SqueakRos'!
!InfoMorph methodsFor: 'step' stamp: 'edc 5/12/2005 16:06'!
step
| position |
super step.
time := Sensor peekMousePt.
self position: ChangeSet current name, ' ',position asString.
! !
!InfoMorph methodsFor: 'step' stamp: 'edc 2/20/2002 11:30'!
stepTime
"Answer the desired time between steps in milliseconds."
^ 1000! !
!InfoMorph methodsFor: 'as yet unclassified' stamp: 'edc 6/26/2002 15:34'!
cambio: s
info contents:s! !
More information about the Squeak-dev
mailing list
|