summaryrefslogtreecommitdiff
path: root/dw/fltkviewbase.cc
diff options
context:
space:
mode:
authorcorvid <corvid@lavabit.com>2012-12-23 07:37:33 +0000
committercorvid <corvid@lavabit.com>2012-12-23 07:37:33 +0000
commit9cd88dacd9e8273ff52836958aea42d68ce4f067 (patch)
treef534c7beb9f8b50086648a92cadff6798c5b91d1 /dw/fltkviewbase.cc
parent53fdaaf20da1379ca3ed2ea63d3d698e5a76c65a (diff)
if a view has focus, make Tab give focus to a child widget
Diffstat (limited to 'dw/fltkviewbase.cc')
-rw-r--r--dw/fltkviewbase.cc8
1 files changed, 8 insertions, 0 deletions
diff --git a/dw/fltkviewbase.cc b/dw/fltkviewbase.cc
index 0977aac5..feab0ad7 100644
--- a/dw/fltkviewbase.cc
+++ b/dw/fltkviewbase.cc
@@ -295,6 +295,14 @@ int FltkViewBase::handle (int event)
case FL_UNFOCUS:
focused_child = fl_oldfocus;
return 0;
+ case FL_KEYBOARD:
+ if (Fl::event_key() == FL_Tab && this == Fl::focus()) {
+ for (int i = 0; i < children(); i++) {
+ if (child(i)->take_focus())
+ return 1;
+ }
+ }
+ break;
default:
break;
}