On Thu, 6 Aug 2026 22:38:41 GMT, Andy Goryachev <[email protected]> wrote:

>>> I think the main issue I have with the new version is that it removed some 
>>> information that I feel is important.
>>> 
>>> for example:
>>> 
>>> * The whole press-drag-release gesture is **delivered to one node** 
>>> (removed)
>>> * and all subsequent mouse events are delivered to **that same node** until 
>>> the button is released.
>> 
>> I can add these, but how is it different than the current "Simple 
>> press-drag-release (PDR), in which **the source (picked) node receives all 
>> the events** in the PDR gesture, including click events even when they occur 
>> over other nodes."?
>> 
>> Perhaps I should change "all the events in the PDR gesture" to "all the 
>> events during the PDR gesture".
>> 
>> "until the button is released" is true for all drag gestures and is 
>> specified in the paragraph above: "Dragging ends when a mouse button is 
>> released."
>> 
>>> * If these nodes need to be involved in the gesture, full 
>>> press-drag-release gesture **has to be activated.** (instructs what the app 
>>> dev is supposed to do)
>> 
>> Doesn't "This gesture starts when the startFullDrag method of a node (or a 
>> scene) is invoked." tell what the developer what to do even in more detail 
>> (how to activate it)?
>> 
>> I can phrase it in a more conditional way, something like: "To start this 
>> gesture, the startFullDrag method of a node (or a scene) must be/has to be 
>> invoked."
>> 
>>> Also, in the new version:
>>> 
>>> * DRAG_DETECTED handler: what handler? are you referring to some internal 
>>> entity?
>> 
>> The only mention of this in the current docs is "When you start dragging, 
>> eventually the DRAG_DETECTED event arrives. In its handler, you can either 
>> start a...", which didn't explain what handler, so why is this a new problem?
>> 
>> The new version says: "...at which point a [#DRAG_DETECTED] event is 
>> dispatched to the source node", which is both more precise and gives a link 
>> to the event.
>> 
>> I can give a link to `Node#onDragDetectedProperty()`, but all the docs 
>> assume that an `X` event is handled by an `onX` handler, and this one is no 
>> exception.
>> I can also write "DRAG_DETECTED **event** handler" if it adds anything.
>> 
>>> I think the old Dnd section is much more informative and easier to 
>>> understand.
>>> 
>>> Please keep in mind that this is just my opinion, let's see what other 
>>> people think.
>> 
>> Yes, but you suggested a full revert of the textual section rather than 
>> corrections, so I take/took it that something in the explanation is done 
>> very badly. One area I need to clarify, which is was hinted to in the old 
>> docs but ...
>
> I just find the new version much more difficult to read and understand.  
> Maybe it's just me.

I see now that the sentence "When a mouse button is pressed, the top-most node 
is picked and all subsequent mouse events are delivered to that same node until 
the button is released." is incorrect. Nodes that are under the top-most node 
also receive these events (if they are not consumed). The drag gestures are 
simultaneous for all nodes in the hierarchy and each one receives the events 
involved in its own gesture. I'll clarify this too.

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

PR Review Comment: https://git.openjdk.org/jfx/pull/2238#discussion_r3752757583

Reply via email to