Re: Help with VW Event Handling
- From: lopemanc@xxxxxxxxxx
- Date: 19 Apr 2007 06:46:29 -0700
On Apr 17, 4:53 pm, lopem...@xxxxxxxxxx wrote:
Hi Guys,
The two methods below are killing my app. That is to say, I can't get
Fly-by-help to work with transparent/translucent windows because of
......SNIP.........
send: #dispatchConsumerExit
to: self]]
OK, I was wrong about the lastControlObject being set to a widget from
a different window. I hacked the code to replace the even dispatcher
for my transparent window and got something running. For anybody that
is interested I pasted my class comment below from the hack. It gives
an explanation of what I believe is happening.
I am an event dispatcher that will be sure to generate EnterEvents
into my controllers. My super class tries to be conservative about
generate enter events into his controllers, by remembering the last
active controller (in lastControlObject) and not generating duplicate
event. This work well most of the time. I am sure these are times
under normal circumstances that it does not work. However my
superclass definitely does not work with Fly-By-Help and transparent
windows. When the window client area is transparent there is really
nothing around the widgets. So when the mouse pointer leaves the
widget it changes windows immediately. The new window receives the
never event and the controller in the transparent window receives
nothing more. This leaves the transparent window believing that it's
widget's controller is still active. So upon return of the mouse
pointer to the widget in the transparent window no enter event is
generated. It thinks it has had control the whole time.
If fix this my not bothering to remember the last active controller.
Because of this I am sure to generate an EnterEvent upon return to the
window/widget. Of course I will probably generate extra enter events
because of this but that seems better than the alternative. I may
also generate extra exit events, but I don't think so.
Of course I am just a hack. The real solution is most likely to move
the lastControlObject variable to a common location for all windows.
Maybe the window manager, maybe the class side. It may also be
necessary to clear it under certain circumstances.
.
- References:
- Help with VW Event Handling
- From: lopemanc
- Help with VW Event Handling
- Prev by Date: Re: What gives data meaning?
- Next by Date: Copying from a read only dataset
- Previous by thread: Help with VW Event Handling
- Next by thread: [ANN] VA Smalltalk 7.5.1 Released
- Index(es):
Relevant Pages
|
Loading