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
|