Handle complex forward-focus loops

This commit is contained in:
Olivier Goffart 2023-04-24 16:41:33 +02:00 committed by Olivier Goffart
parent 7e7b9176a7
commit ae1fb4c7cf
2 changed files with 28 additions and 2 deletions

View file

@ -38,6 +38,24 @@ export Y := FocusScope {
forward-focus: self;
// ^error{forward-focus can't refer to itself}
x:= X { }
key-pressed => { x.focus(); accept }
// ^error{focus\(\) can only be called on focusable elements}
key-pressed => {
r0.focus();
x.focus();
// ^error{focus\(\) can only be called on focusable elements}
accept
}
r1:= Rectangle {
forward-focus: r2;
}
r0:= Rectangle {
forward-focus: r1;
}
r2 := Rectangle {
forward-focus: r3;
}
r3 := Rectangle {
forward-focus: r1;
// ^error{forward-focus loop}
}
}