Re: RFR: 8343956: Focus delegation API [v3]

2025-08-01 Thread Andy Goryachev
tant benefit of not altering the behavior of the existing code. -andy From: openjfx-dev on behalf of John Hendrikx Date: Wednesday, July 30, 2025 at 18:54 To: openjfx-dev@openjdk.org Subject: Re: RFR: 8343956: Focus delegation API [v3] On Thu, 31 Jul 2025 01:20:06 GMT, Michael Strauß wro

Re: RFR: 8343956: Focus delegation API [v3]

2025-08-01 Thread Andy Goryachev
X better. -andy From: openjfx-dev on behalf of Michael Strauß Date: Wednesday, July 30, 2025 at 18:23 To: openjfx-dev@openjdk.org Subject: Re: RFR: 8343956: Focus delegation API [v3] On Thu, 17 Jul 2025 05:18:28 GMT, Michael Strauß wrote: >> Implementation of [focus >> dele

Re: RFR: 8343956: Focus delegation API [v3]

2025-07-30 Thread John Hendrikx
On Thu, 31 Jul 2025 01:20:06 GMT, Michael Strauß wrote: > _Mailing list message from [Andy Goryachev](mailto:andy.goryac...@oracle.com) > on [openjfx-dev](mailto:openjfx-...@mail.openjdk.org):_ > > I think I narrowed down my objection to this proposal. My main problem with > it is that it trie

Re: RFR: 8343956: Focus delegation API [v3]

2025-07-30 Thread Michael Strauß
On Thu, 17 Jul 2025 05:18:28 GMT, Michael Strauß wrote: >> Implementation of [focus >> delegation](https://gist.github.com/mstr2/44d94f0bd5b5c030e26a47103063aa29). > > Michael Strauß has updated the pull request incrementally with one additional > commit since the last revision: > > Avoid va

Re: RFR: 8343956: Focus delegation API [v3]

2025-07-30 Thread Andy Goryachev
/FocusTraversal.md [1] https://github.com/openjdk/jfx/pull/1555 From: openjfx-dev on behalf of Michael Strauß Date: Wednesday, July 16, 2025 at 23:33 To: openjfx-dev@openjdk.org Subject: Re: RFR: 8343956: Focus delegation API [v3] On Mon, 14 Jul 2025 18:36:48 GMT, Martin Fox wrote: > In this

Re: RFR: 8343956: Focus delegation API [v3]

2025-07-17 Thread Martin Fox
On Thu, 17 Jul 2025 05:56:06 GMT, Michael Strauß wrote: > Focus traversal is not aware of what a delegate is, nor should it be. This > means that focus traversal _will_ update the delegate chain if you traverse > into a node that hoists focus. If a key event invokes the traversal machinery it

Re: RFR: 8343956: Focus delegation API [v3]

2025-07-16 Thread Michael Strauß
On Mon, 14 Jul 2025 18:36:48 GMT, Martin Fox wrote: > In this PR setting hoistFocus on a control only updates the flag in the > control itself. What if the control’s skin introduces sub-nodes? I would > assume that setting hoistFocus on a control would automatically set that flag > on the cont

Re: RFR: 8343956: Focus delegation API [v3]

2025-07-16 Thread Michael Strauß
On Mon, 14 Jul 2025 18:59:49 GMT, John Hendrikx wrote: >> Yeah, I'm sure traversal is solvable, I just wanted to spend some cycles >> figuring it out. For example, would you set focusTraversable on the >> date/time control AND it's delegates? My guess is just the delegates but >> this is the s

Re: RFR: 8343956: Focus delegation API [v3]

2025-07-16 Thread Michael Strauß
> Implementation of [focus > delegation](https://gist.github.com/mstr2/44d94f0bd5b5c030e26a47103063aa29). Michael Strauß has updated the pull request incrementally with one additional commit since the last revision: Avoid variable reassignment - Changes: - all: https://git.ope

Re: RFR: 8343956: Focus delegation API [v2]

2025-07-16 Thread Michael Strauß
> Implementation of [focus > delegation](https://gist.github.com/mstr2/44d94f0bd5b5c030e26a47103063aa29). Michael Strauß has updated the pull request incrementally with one additional commit since the last revision: Handling of several edge cases - Changes: - all: https://git.

Re: RFR: 8343956: Focus delegation API

2025-07-14 Thread John Hendrikx
On Mon, 14 Jul 2025 18:46:53 GMT, Martin Fox wrote: >>> > Does `resolveFocusDelegate` do what you need? >>> >>> Currently we turn on input method processing at the platform level if and >>> only if there's any control in the focus chain that is set up to receive >>> input method events and res

Re: RFR: 8343956: Focus delegation API

2025-07-14 Thread Martin Fox
On Sat, 12 Jul 2025 10:14:55 GMT, John Hendrikx wrote: >>> Does `resolveFocusDelegate` do what you need? >> >> Currently we turn on input method processing at the platform level if and >> only if there's any control in the focus chain that is set up to receive >> input method events and respon

Re: RFR: 8343956: Focus delegation API

2025-07-14 Thread Martin Fox
On Sat, 9 Nov 2024 01:28:53 GMT, Michael Strauß wrote: > Implementation of [focus > delegation](https://gist.github.com/mstr2/44d94f0bd5b5c030e26a47103063aa29). modules/javafx.graphics/src/main/java/javafx/scene/Node.java line 8578: > 8576: } > 8577: > 8578: public final void setHoist

Re: RFR: 8343956: Focus delegation API

2025-07-12 Thread John Hendrikx
On Fri, 11 Jul 2025 16:30:14 GMT, Martin Fox wrote: > > Does `resolveFocusDelegate` do what you need? > > Currently we turn on input method processing at the platform level if and > only if there's any control in the focus chain that is set up to receive > input method events and respond to in

Re: RFR: 8343956: Focus delegation API

2025-07-11 Thread Martin Fox
On Fri, 11 Jul 2025 10:14:03 GMT, John Hendrikx wrote: > Does `resolveFocusDelegate` do what you need? Currently we turn on input method processing at the platform level if and only if there's any control in the focus chain that is set up to receive input method events and respond to input met

Re: RFR: 8343956: Focus delegation API

2025-07-11 Thread John Hendrikx
On Wed, 9 Jul 2025 17:21:06 GMT, Martin Fox wrote: >> Implementation of [focus >> delegation](https://gist.github.com/mstr2/44d94f0bd5b5c030e26a47103063aa29). > > modules/javafx.graphics/src/main/java/javafx/scene/Node.java line 8654: > >> 8652: * @since 26 >> 8653: */ >> 8654: No

Re: RFR: 8343956: Focus delegation API

2025-07-11 Thread John Hendrikx
On Sat, 9 Nov 2024 01:28:53 GMT, Michael Strauß wrote: > Implementation of [focus > delegation](https://gist.github.com/mstr2/44d94f0bd5b5c030e26a47103063aa29). modules/javafx.graphics/src/main/java/com/sun/javafx/scene/DelegatingEventDispatcher.java line 57: > 55: retarget = true

Re: RFR: 8343956: Focus delegation API

2025-07-09 Thread Martin Fox
On Sat, 9 Nov 2024 01:28:53 GMT, Michael Strauß wrote: > Implementation of [focus > delegation](https://gist.github.com/mstr2/44d94f0bd5b5c030e26a47103063aa29). modules/javafx.graphics/src/main/java/javafx/scene/Node.java line 8654: > 8652: * @since 26 > 8653: */ > 8654: Node get

Re: RFR: 8343956: Focus delegation API

2025-07-06 Thread Martin Fox
On Sat, 9 Nov 2024 01:28:53 GMT, Michael Strauß wrote: > Implementation of [focus > delegation](https://gist.github.com/mstr2/44d94f0bd5b5c030e26a47103063aa29). PopupWindows have to solve a similar problem; multiple nodes can receive key events and they all act as if they have focus. This gets

Re: RFR: 8343956: Focus delegation API

2025-07-06 Thread Michael Strauß
On Sat, 9 Nov 2024 01:28:53 GMT, Michael Strauß wrote: > Implementation of [focus > delegation](https://gist.github.com/mstr2/44d94f0bd5b5c030e26a47103063aa29). Dispatching an event in the presence of focus delegation is slightly different, because it requires cooperation of the `Node` that is

Re: RFR: 8343956: Focus delegation API

2025-07-06 Thread John Hendrikx
On Sun, 9 Feb 2025 18:23:47 GMT, Michael Strauß wrote: >>> @hjohn I think what's missing in your model is the option to have an >>> independently focusable node inside of a control. For example, think of a >>> Button placed within a Button (via its `graphic` property). Clicking the >>> nested

Re: RFR: 8343956: Focus delegation API

2025-07-06 Thread Michael Strauß
On Sun, 9 Feb 2025 22:45:14 GMT, John Hendrikx 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 > contr

Re: RFR: 8343956: Focus delegation API

2025-07-06 Thread John Hendrikx
On Tue, 11 Feb 2025 18:54:50 GMT, Martin Fox wrote: > > I don't think the distinction quite holds. Scene does not delegate all key > > events. Menu shortcuts for example are consumed and never dispatched, and I > > think the same goes for mnemonics. Navigation keys are dispatched, and only > >

Re: RFR: 8343956: Focus delegation API

2025-07-06 Thread John Hendrikx
On Sun, 9 Feb 2025 11:31:09 GMT, John Hendrikx wrote: >>> @hjohn Could you provide an outline of the algorithm that a control would >>> use to automatically determine the focus delegate? I really can't envision >>> what that would look like. For that matter I'm not sure why we would rely >>> o

Re: RFR: 8343956: Focus delegation API

2025-07-06 Thread Martin Fox
On Sun, 9 Feb 2025 18:23:47 GMT, Michael Strauß wrote: > It works quite well to say that a `Scene` delegates focus to a `Node`. It > doesn't seem to work quite as well (linguistically) to say that a `TextField` > is the focus owner of a `ComboBox` (the `ComboBox` is also focused, why would > t

Re: RFR: 8343956: Focus delegation API

2025-07-06 Thread Michael Strauß
On Sun, 9 Feb 2025 11:31:09 GMT, John Hendrikx wrote: > > @hjohn I think what's missing in your model is the option to have an > > independently focusable node inside of a control. For example, think of a > > Button placed within a Button (via its `graphic` property). Clicking the > > nested b

Re: RFR: 8343956: Focus delegation API

2025-07-06 Thread John Hendrikx
On Sat, 8 Feb 2025 10:35:00 GMT, John Hendrikx wrote: >> This looks really good. I'm wondering if this could be simplified further. >> Specifically, I think the `hoistFocus` flag and manual management of the >> focus delegate may not be needed. >> >> It seems to me that a Control could share

Re: RFR: 8343956: Focus delegation API

2025-07-06 Thread John Hendrikx
On Fri, 3 Jan 2025 10:36:23 GMT, John Hendrikx wrote: >> Implementation of [focus >> delegation](https://gist.github.com/mstr2/44d94f0bd5b5c030e26a47103063aa29). > > This looks really good. I'm wondering if this could be simplified further. > Specifically, I think the `hoistFocus` flag and ma

Re: RFR: 8343956: Focus delegation API

2025-07-06 Thread Martin Fox
On Fri, 3 Jan 2025 10:36:23 GMT, John Hendrikx wrote: >> Implementation of [focus >> delegation](https://gist.github.com/mstr2/44d94f0bd5b5c030e26a47103063aa29). > > This looks really good. I'm wondering if this could be simplified further. > Specifically, I think the `hoistFocus` flag and ma

Re: RFR: 8343956: Focus delegation API

2025-07-06 Thread Michael Strauß
On Fri, 3 Jan 2025 10:36:23 GMT, John Hendrikx wrote: >> Implementation of [focus >> delegation](https://gist.github.com/mstr2/44d94f0bd5b5c030e26a47103063aa29). > > This looks really good. I'm wondering if this could be simplified further. > Specifically, I think the `hoistFocus` flag and ma

Re: RFR: 8343956: Focus delegation API

2025-07-06 Thread John Hendrikx
On Sat, 9 Nov 2024 01:28:53 GMT, Michael Strauß wrote: > Implementation of [focus > delegation](https://gist.github.com/mstr2/44d94f0bd5b5c030e26a47103063aa29). This looks really good. I'm wondering if this could be simplified further. Specifically, I think the `hoistFocus` flag and manual m

RFR: 8343956: Focus delegation API

2025-07-06 Thread Michael Strauß
Implementation of [focus delegation](https://gist.github.com/mstr2/44d94f0bd5b5c030e26a47103063aa29). - Commit messages: - javadoc - Added documentation - Add EventTarget.dispatchEvent(Event) - Capture (parent, delegate, dispatcher) in DelegatingEventDispatcher - Improved docume