Implement EasyMotion, that will handle all events from the keyboard.
[x] Implement the EasyMotion controller on Window
[x] Implement controllers that gets put on every UIObject that should be controlled
[x] Make it possible to override which keys the Control captures, which allows for text input inside Elastic
[ ] Allow a Control to override getChildren to decide which controls are available, based on custom context (like which view is currently active)
[ ] Create a dynamic text input field based on Control
[ ] Track active stack of Controls based on last active control
[ ] Think about: Do we really need CTRL+t to enable EasyMotion? Probably not!
Like when user uses the mouse to navigate, and then wants to continue using EasyMotion
Examples on keystrokes to add a node while in NodeView:
a. Opens Add Node popup
siggen. Searches for signalgenerator
ENTER. Adds that node
Create midi-node and connect to signalgenerator-node:
s. Search box opens
sig. Signalgenerator-node
ENTER. Shows node
p. Goes into port-editing mode
i. Chooses input-port of signalgenerator-node
a. Opens add-node dialog
midi. Searches for midi-node
ENTER. Shows node
Split view horizontally, and move focus down to new pane:
CTRL+w. Go into window-command
s. Splits the current view horizontally and clones it
Implement EasyMotion, that will handle all events from the keyboard.
Examples on keystrokes to add a node while in NodeView:
Create midi-node and connect to signalgenerator-node:
Split view horizontally, and move focus down to new pane: