Fri 21 Jul 2006 12:00:47 AM UTC, comment #5:
> Ctrl-Tab should cycle over notebook pages when the focus is
> inside the notebook, of course. It can't work if the focus
> is on a button (or any other control) outside the notebook
It may help to draw a picture:
+--------------------------+
| [Tab] [Tab] [Tab] ... |
| |
| Notebook |
| |
+------+----------+--------+
| [OK] | [Cancel] | [Help] |
+------+----------+--------+
The pushbuttons at the bottom are indeed outside the notebook.
Okay, ça explique, but what's the best way to do this so that
keyboard navigation works as desired? I see these options:
(1) Do nothing. Live with the problem. Most end users don't use
the keyboard anyway, and in fact I don't think this bothers
anyone but me. Maybe it doesn't bother anyone else in the whole
wx community, either: as Wendy said, samples/xrc/rc/controls.xrc
uses this same technique. And it avoids duplicating all those
pushbuttons on every notebook page.
(2) Duplicate the pushbuttons on every notebook page. I don't
even know whether that would work. Duplication is generally a
Bad Thing anyway.
(3) Intercept navigation events. Yick.
(4) Re-parent the pushbuttons. Seems worse than (3).
Is there any other way? I'd really like to stop using (1), both
because it does bother me, and also because I think it might
contribute to worse keyboard-navigation problem with alternative
wxBookCtrl classes, as I just mentioned on the mailing list. And
I think wxTreebook in particular might be preferred by users
once they see what it can do. I see it as the right solution to
a problem that many msw applications address by putting a nasty
"More..." or "Details..." pushbutton on a notebook page.
|