[squeak-dev] continuous display of cursor position

Ken G. Brown kbrown at mac.com
Sat Jan 5 01:22:24 UTC 2013


Thx. 

Ken,
from my iPhone

On 2013-01-04, at 16:33, "H. Hirzel" <hannes.hirzel at gmail.com> wrote:

> Ken,
> 
> It seems that Edgar's fileIn code is corrupted.
> 
> Here is a modified version which works for me
> ------------------------------------------------------------------------------------
> 
> 
> 
> '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: 'HJHWork2013'!
> 
> 
> !InfoMorph methodsFor: 'step' stamp: 'edc 5/12/2005 16:06'!
> step
>    | pt |
>    super step.
>    pt := Sensor peekMousePt.
>      self contents: pt asString.
> ! !
> 
> !InfoMorph methodsFor: 'step' stamp: 'edc 2/20/2002 11:30'!
> stepTime
>    "Answer the desired time between steps in milliseconds."
> 
>    ^ 100! !
> 
> 
> 
> 
> ------------------------------------------------------------------------------------
> 
> 
> 
> Then evaluate
> 
> InfoMorph new openInWorld
> 
> 
> 
> HTH
> 
> 
> HJH
> 
> On 1/4/13, Nicolas Cellier <nicolas.cellier.aka.nice at gmail.com> wrote:
>> Why open a class ?
>> 
>> 2013/1/4 Ken G. Brown <kbrown at mac.com>:
>>> 
>>> 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]
> 


More information about the Squeak-dev mailing list