Skip to content

Tab to next editable widget #433

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
cmyr opened this issue Dec 31, 2019 · 1 comment
Closed

Tab to next editable widget #433

cmyr opened this issue Dec 31, 2019 · 1 comment
Labels
architecture changes the architecture, usually breaking

Comments

@cmyr
Copy link
Member

cmyr commented Dec 31, 2019

When in a single-line text field or other editable widget, tab should move to the 'next' widget.

A challenge with this problem is that while it's easy enough to move 'forward' (down-tree, continuing from the top until you reach your starting point) it's harder to move up the tree.

In any case I think I have a reasonably simple solution: we build a 'responder chain' (this is a term borrowed from Cocoa that refers to a pattern that handles this behaviour as well as a bunch of other stuff) on startup or when widgets are added and removed, and then moving to the previous or next widget is just a matter of walking forwards and backwards in this chain; so we have to do some work up front (basically sending a RegisterResponder life cycle event, where widgets that want to be involved in tab navigation could register their interest) and then everything at navigation time is peachy.

This work will almost certainly be blocked on #432 and #404.

@cmyr cmyr added the architecture changes the architecture, usually breaking label Dec 31, 2019
@cmyr cmyr mentioned this issue Dec 31, 2019
7 tasks
@cmyr
Copy link
Member Author

cmyr commented Jan 29, 2020

closed by #482

@cmyr cmyr closed this as completed Jan 29, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
architecture changes the architecture, usually breaking
Projects
None yet
Development

No branches or pull requests

1 participant