Well - no-one replied to my query. I guess that I have to presume that
this is because no-one knows the answer to it. In the meantime I've
worked around it and I suppose that in case someone else wonders how to
do this same thing - I should let them know what I've found.
I believe that my primary misconception was the presumption that a
widget is a child object of the shell upon which it resides. In that
case, one might expect that any event that is available to the child
widget is also available to the parent (shell). This seems not to be
the case.
In fact, my experiments would seem to indicate that a hierarchy does
not exist after all. That is to say - a shell seems to be on the same
level, hierarchically, as a button or any other widget. The reason
that processor control was never transferred to my shell key listener
seems to be that, at that time, the shell was not in focus (duh - how
could the shell be in focus?). Rather, one of the text widgets always
had focus.
This was very unexpected for me. I haven't worked with SWT before but
I've worked in a number of other environments over the years. Event
trapping was always available to the parent as well as the child. Not
so in SWT, as far as I can tell.
The workaround is to place a key listener in every single widget which
might have focus and call a common handler from there, passing the
trapped Event. This is a very clumsy way to do it, if you ask me, but
it works.
> I am writing an application which requires data entry and in which
> rapid navigation to particular screen areas of text entry is desired.
[quoted text clipped - 13 lines]
> This is my first project using SWT. Everything else has gone
> relatively smoothly. Is there a way to accomplish this too?