On Sun, 9 Feb 2025 22:45:14 GMT, John Hendrikx <jhendr...@openjdk.org> wrote:

> Why doesn't it just set the delegate to whatever hoisted focus in the first 
> place? A not entirely hypothetical `DateEntryControl` with 3 separate fields 
> internally (with borders stripped) could have a day-month-year area (such 
> controls were quite common before fancy date pickers). Each of the subfields 
> could set hoist focus. Clicking on a specific subfield would put the cursor 
> there, but focus the `DateEntryControl` as a whole.

I've added a parameter to `getFocusDelegate(Node hoistingNode)`, which 
indicates the node that hoisted the last focus request to the node on which 
`getFocusDelegate` is called. The hoisting node is not necessarily a focus 
delegate, it can be any descendant with the `hoistFocus` flag set.

When `getFocusDelegate(Node hoistingNode)` is called, the control can use the 
additional information to decide which of its children will be the focus 
delegate.

-------------

PR Comment: https://git.openjdk.org/jfx/pull/1632#issuecomment-2834992966

Reply via email to