comeToFront

Jerome Peace peace_the_dreamer at yahoo.com
Tue Nov 13 06:18:46 UTC 2007


comeToFront


Hi Trygve and Karl,

This would be a good issue to make a mantis report.
It's clearly something that needs to be tracked. 

I've looked at the system window internals. I bet that
some serious study will need to be made before a
stable repair can be made. So a mantis report would be
a good place to collect analysis and repair attempts.

It would also be good to have a user story. What would
be a simple description of the way it should behave?

Hth,
Yours in curiosity and service, --Jerome Peace

 
***
>Trygve Reenskaug trygver at ifi.uio.no 
>Mon Nov 12 17:34:57 UTC 2007 
>
>
>Thanks Karl. I quickly wrote a hack and observed that
it works in at 
>least one case....
>Haven't the knowledge nor the time to make a firm bug
fix proposal.
>
>I replaced 'TopWindow == self ifFalse: ' in the 
>SystemWindows>>mouseDown: with:
>    ((w := self world) notNil and: [w firstSubmorph
== self]) ifFalse:
>I have no idea if it is safe to ignore TopWindow
here.
>
>Cheers
>--Trygve
>
>On 12.11.2007 14:02, Karl wrote:
>> Ah, the dreadful SystemWindow internals ;-)
>> SystemWindows>>mouseDown: evt
>>
>>    | outerMorph |
>>    self setProperty: #clickPoint toValue: evt
cursorPoint.
>>    TopWindow == self ifFalse:
>>        [evt hand releaseKeyboardFocus.
>>        self activate].
>>
>> The top window will not activate if it is the top
window...
>> There could be a check to see if it was the front
most morph as well I 
>> guess.
>>
>> Karl
>>
>>
>> Trygve Reenskaug wrote:
>>> Squeak3.10beta.7143
>>>
>>> I have a DemoWindow, sco PasteUpMorph.
>>> The DemoWindow opens on top.
>>> I open a Browser, it masks part of  the
DemoWindow.
>>> I click the DemoWindow , but have to move it to
make it go on top.
>>> The browser doesn't go on top if I click inside
it, I have to click 
>>> its border (move it).
>>>
>>> I set the demo window option "resist being picked
up".
>>> It is now hard to make the demo window go on top,
so I add the 
>>> following method:
>>>
>>>     DemoWindow >>mouseDown: evt
>>>         evt yellowButtonPressed  ifTrue: [^ self 
>>> yellowButtonActivity: evt shiftPressed].
>>>         self eventHandler ifNotNil: [self
eventHandler mouseDown: evt 
>>> fromMorph: self].
>>>         self comeToFront.
>>>
>>> Now the DemoWindow goes on top when I click it (as
it should).
>>> But the only way to make the Browser go on top is
to click its border 
>>> (move it).
>>>
>>> I have also tried /'evt hand newKeyboardFocus:
self.'/ with the same 
>>> result.
>>> /'self activate'/ doesn't work on a Morph (but it
works on a 
>>> SystemWindow)
>>>
>>> What's happening?
>>>
>>> Cheers
>>> --Trygve
>>>
>>> PS
>>> I have looked at the excellent documentation in
'/Squeak by Example/' 
>>> and '/A GUIDE TO WORK WITH
>>> SQUEAK MORPH CLASSES/', and '/An Introduction to
Morphic: The Squeak 
>>> User Interface Framework/' without finding an
answer. I have also 
>>> tried to google, but have not found anything
written by people who 
>>> knew what was happening.
>
>-- 
>
>Trygve Reenskaug      mailto: trygver at ifi.uio.no
>Morgedalsvn. 5A       http://folk.uio.no/trygver
>N-0378 Oslo           Tel: (+47) 22 49 57 27
>Norway 
> 
***



      ____________________________________________________________________________________
Be a better sports nut!  Let your teams follow you 
with Yahoo Mobile. Try it now.  http://mobile.yahoo.com/sports;_ylt=At9_qDKvtAbMuh1G1SQtBI7ntAcJ



More information about the Squeak-dev mailing list