Hi Shashi,
On 25/09/2017 06:59, Shashidhara Veerabhadraiah wrote:
RE: <AWT Dev> [10] JDK-8178361: JFileChooser does not allow to open
folders with a double tap when using the touch screen interface
Hi Alexey, Please see below for my replies:
<<...>> <<...>> <<...>>
Thanks and regards,
Shashi
-----Original Message-----
From:Alexey Ivanov
Sent:Friday, September 22, 2017 5:26 PM
To: Shashidhara Veerabhadraiah
<shashidhara.veerabhadra...@oracle.com>; Sergey Bylokhov
<sergey.bylok...@oracle.com>
Cc:awt-dev@openjdk.java.net
Subject:Re: <AWT Dev> [10] JDK-8178361: JFileChooser does not allow to
open folders with a double tap when using the touch screen interface
Hi Shashi,
On 19/09/2017 04:35, Shashidhara Veerabhadraiah wrote:
> Hi Sergey, When I checked it was not working on the Java applications.
None of the controls could take touch click events but it used to
highlight because when we touch on the touch screen interface the
system moves the cursor over to the touch point thereby enabling mouse
focus events being sent.
I cannot grasp the meaning of this sentence.
What are touch click events?
*/[Shashi]/**/Below are therelatedmacros:/*
#define WM_LBUTTONDOWN 0x0201
#define WM_LBUTTONDBLCLK 0x0203
#define WM_POINTERDOWN 0x0246
*/[Shashi]/*More appropriately, touchdoubletap events.On a technical
note,wheneverI did a double tap touch on the folder I could get
WM_POINTERDOWN(0x0246)and none of the left button down or left button
double click events. I have attached the proof for the same captured
as text file(for both touch double tap and a mouse double click
events).Please note that this behavior is seen after theremoval
ofEnableMouseInPointer() as it is/_not_/ required anymore(Please see
for the reply to your other email). I could not get left double click
event but instead only the left button down events via the mouse
double click. I think we use the time gap between the left button down
events and then convert to a double click event internally.
Double clicks as |WM_LBUTTONDBLCLK| are never received by AWT windows
because |CS_DOUBLE| style is not set. The number of clicks is counted in
|WmMouseDown| and is included in |MouseEvent|.
Yet the complete picture is still unclear to me. So when you double-tap,
you get |WM_LBUTTONDOWN|, |WM_LBUTTONUP|, and then |WM_POINTERDOWN|
followed by |WM_POINTERUP|, right?
*/[Shashi]/**/So in a way we can conclude that after we do
a/**/touch/**/double ta/**/p action there was no left button down
events that we received./**/Please note that this is the behavior if
we do a double tap touch/**/_on_/**/the file icon./*
Is the behaviour different if you double-tap on another component?
What are mouse focus events?
*/[Shashi]/**/Since there are 2 components in the file chooser. One is
the icon and another is the file name. In the Java implementation the
file chooser dialog has the icon
r/**/epresentations/**/being/**/pretty small and usually it is
difficult to exactly/**/tap/**/on the icon!! If there is/**/a/**/touch
tap onto the file name we do receive/**/left button down and as well
as pointer down messages./**/I have attached a file containing the
proof of it for the same./*
It's a bit weird.
If you double-click a folder name with mouse, |JFileChooser| opens the
folder.
If you delay the second click, |JFileChooser| initiates file name editing.
It corresponds to the behaviour of Windows Explorer for example.
When I double-tap a folder name in |JFileChooser|, it usually goes into
name editing mode. It could be related to the fact that mouse is more
accurate than a tap: it's easier to double-click than to double-tap. I
mean that when you double-tap, the coordinates of the second tap could
be /farther away/ from the first tap. Is it the case?
*/[Shashi]/**/This is actually a surprise for me and als/**/o tells me
that the type of an icon component and the file name components are
having different/**/behaviors/**/./**/I am not sure how I can change
this/**/behaviorof the icon component/**/./*
<<...>>
With this fix,we can touchon all the icons as highlighted aboveand
have the required actions being performed as expected, which
was/_not_/happening earlier.
So the fix is not JFileChooser-specific, is it?
*/[Shashi]/**/No it is not./**/It enables the touch for all the
components./*
You should've mentioned it in your review request.
Otherwise, it looked as if the change is |JFileChooser| specific because
you discussed only this component.
Regards,
Alexey
Regards,
Alexey
>
> Thanks and regards,
> Shashi
>
> -----Original Message-----
> From: Sergey Bylokhov
> Sent: Tuesday, September 19, 2017 3:39 AM
> To:shashidhara.veerabhadra...@oracle.com<mailto:shashidhara.veerabhadra...@oracle.com>>>
Shashidhara
> Veerabhadraiah
<shashidhara.veerabhadra...@oracle.com<mailto:shashidhara.veerabhadra...@oracle.com>>
> Cc:awt-dev@openjdk.java.net<mailto:awt-dev@openjdk.java.net>
> Subject: Re: <AWT Dev> [10] JDK-8178361: JFileChooser does not allow
> to open folders with a double tap when using the touch screen
> interface
>
> Hi, Shashi.
> Why the bug is JFileChooser specific?
> Does it means that it works for other elements(buttons/lists/menu/etc)?
>
> On 9/18/17 08:58, Shashidhara Veerabhadraiah wrote:
>> Hi All, Please review this software changes for the /_enhancement_/
>> JDK-8178361.
>>
>> Issue: Request was filed to enable the touch event processing for
>> Java client applications.
>>
>> Fix: Windows platform offers 'pointer' implementation thro' which one
>> can tap for the touch inputs as well. A typical 'pointer' function
>> may contain touch, pen, touch pad or mouse inputs. This allows for a
>> uniform input processing though the event source may defer. This fix
>> enables the 'touch' events(via TOUCH pointer) to be passed to the
>> components using the other type of pointer 'mouse'. Essentially there
>> is a conversion put in place to convert a touch event input into a
>> left click mouse event. I think this is the right thing to do
>> considering desktop scenarios to which the typical Java applications
>> that gets exposed to. This is also the same behavior on my touch
>> enabled windows 10 laptop as well. Please let me know if a different
behavior is expected. Below is the output:
>>
>> Now touch event works as a typical mouse left click as in general.
>> But there is an issue because the icon size of the Java UI is
>> typically small, touching that icon exactly is sometimes difficult.
>> This is handled by an Windows application by having larger icon size
>> or icon view as a standard. Hence I believe this is outside the scope
>> this software update. Any changes to it would be done later as a new
>> bug or an enhancement.
>>
>> Bug ID:https://bugs.openjdk.java.net/browse/JDK-8178361
>>
>>
Webrev:http://cr.openjdk.java.net/~sveerabhadra/8178361/webrev.00/<http://cr.openjdk.java.net/%7Esveerabhadra/8178361/webrev.00/>
>>
>> Thanks and regards,
>>
>> Shashi
>>
>
> --
> Best regards, Sergey.