<Swing Dev> Review request for 8015748: JProgressbar with Aqua LaF ignores JProgressbar#applyComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT) call

Avik Niyogi avik.niyogi at oracle.com
Mon Jan 18 06:04:19 UTC 2016


Hi All, Please find the changes as provided with incorporation of inputs:
http://cr.openjdk.java.net/~aniyogi/8015748/webrev.06/ <http://cr.openjdk.java.net/~aniyogi/8015748/webrev.06/>

With Regards,
Avik Niyogi

> On 14-Jan-2016, at 10:57 pm, Sergey Bylokhov <Sergey.Bylokhov at oracle.com> wrote:
> 
> Probably I missed something but why we need two tests? Note that the manual test is not marked as manual, which means that it will be run during the regular run?(even if -a option is provided to jtreg). Please check your other review requests for this issue.
> 
> moreover on my system JProgressBarOrientationManualTest.java simply passed, and JProgressBarOrientationRobotTest.java failed even after the fix. Please recheck.
> 
> On 14/01/16 13:11, Avik Niyogi wrote:
>> Hi All,
>> Please find the changes as provided with incorporation of inputs:
>> http://cr.openjdk.java.net/~aniyogi/8015748/webrev.05/ <http://cr.openjdk.java.net/~aniyogi/8015748/webrev.05/>
>> 
>> With Regards,
>> Avik Niyogi
>>> On 14-Jan-2016, at 3:18 pm, Alexander Scherbatiy
>>> <alexandr.scherbatiy at oracle.com <mailto:alexandr.scherbatiy at oracle.com>
>>> <mailto:alexandr.scherbatiy at oracle.com <mailto:alexandr.scherbatiy at oracle.com>>> wrote:
>>> 
>>> On 1/14/2016 8:18 AM, Avik Niyogi wrote:
>>>> Hi All,
>>>> Please find changes as provided with incorporation of inputs:
>>>> http://cr.openjdk.java.net/~aniyogi/8015748/webrev.04/ <http://cr.openjdk.java.net/~aniyogi/8015748/webrev.04/>
>>>> <http://cr.openjdk.java.net/%7Eaniyogi/8015748/webrev.04/ <http://cr.openjdk.java.net/%7Eaniyogi/8015748/webrev.04/>>
>>> 
>>>  It is better to restore the graphics transform after the progress
>>> bar is painted and before the paintString call because the a method
>>> that calls AquaProgressBarUI.paint(Graphics) can rely that the
>>> graphics transform is unchanged.
>>> In your fix the graphics transform is not restored if
>>> progressBar.isStringPainted() returns false.
>>> 
>>> Thanks,
>>> Alexandr.
>>> 
>>>> 
>>>> With Regards,
>>>> Avik Niyogi
>>>>> On 13-Jan-2016, at 7:02 pm, Alexander Scherbatiy
>>>>> <alexandr.scherbatiy at oracle.com <mailto:alexandr.scherbatiy at oracle.com>
>>>>> <mailto:alexandr.scherbatiy at oracle.com <mailto:alexandr.scherbatiy at oracle.com>>
>>>>> <mailto:alexandr.scherbatiy at oracle.com <mailto:alexandr.scherbatiy at oracle.com>>> wrote:
>>>>> 
>>>>> On 1/13/2016 9:28 AM, Avik Niyogi wrote:
>>>>>> Hi All,
>>>>>> Please find changes as provided with incorporation of inputs:
>>>>>> http://cr.openjdk.java.net/~aniyogi/8015748/webrev.03/ <http://cr.openjdk.java.net/~aniyogi/8015748/webrev.03/>
>>>>>> <http://cr.openjdk.java.net/%7Eaniyogi/8015748/webrev.03/ <http://cr.openjdk.java.net/%7Eaniyogi/8015748/webrev.03/>>
>>>>>> <http://cr.openjdk.java.net/%7Eaniyogi/8015748/webrev.03/ <http://cr.openjdk.java.net/%7Eaniyogi/8015748/webrev.03/>>
>>>>>> 
>>>>> 
>>>>> It looks like a string on a vertical progress bar with the right to
>>>>> left orientation will be mirrored.
>>>>> Did you try just restore the scale/translate transform after the
>>>>> painter.paint() call? Will it help in such case?
>>>>> 
>>>>> Thanks,
>>>>> Alexandr.
>>>>> 
>>>>>> With Regards,
>>>>>> Avik Niyogi
>>>>>>> On 12-Jan-2016, at 11:49 pm, Alexander Scherbatiy
>>>>>>> <alexandr.scherbatiy at oracle.com <mailto:alexandr.scherbatiy at oracle.com>
>>>>>>> <mailto:alexandr.scherbatiy at oracle.com <mailto:alexandr.scherbatiy at oracle.com>>
>>>>>>> <mailto:alexandr.scherbatiy at oracle.com <mailto:alexandr.scherbatiy at oracle.com>>
>>>>>>> <mailto:alexandr.scherbatiy at oracle.com <mailto:alexandr.scherbatiy at oracle.com>>> wrote:
>>>>>>> 
>>>>>>> 
>>>>>>> - there was the comment below that it is better to revert the
>>>>>>> transform back after the painter.paint() call
>>>>>>> - according to the comment from the
>>>>>>> http://mail.openjdk.java.net/pipermail/swing-dev/2016-January/005262.html <http://mail.openjdk.java.net/pipermail/swing-dev/2016-January/005262.html>
>>>>>>> 
>>>>>>> It is true that a filled progress bar has different colors because
>>>>>>> of animation under Aqua L&F.
>>>>>>> However, it is possible to compare colors before a progress bar
>>>>>>> was filled and after that to check that the progress bar is filled
>>>>>>> from the correct side.
>>>>>>> For example let's set a progress bar value to 0 and get its color
>>>>>>> from 5/6 of the progress bar width
>>>>>>>   progress bar: [_________o__]  // get a color at point o
>>>>>>> Now set the progress bar value to 30 and get a color at the same
>>>>>>> point.
>>>>>>> If colors are the same then  the progress bar is filled from left
>>>>>>> to the right [||||_____o__].
>>>>>>> If colors are different then the progress bar is filled from the
>>>>>>> right to the left [________|o||] .
>>>>>>> 
>>>>>>> Thanks,
>>>>>>> Alexandr.
>>>>>>> 
>>>>>>> 
>>>>>>> On 12/01/16 13:34, Avik Niyogi wrote:
>>>>>>>> Hi All,
>>>>>>>> 
>>>>>>>> Please find the code changes in fix as with the inputs received
>>>>>>>> for the same.
>>>>>>>> http://cr.openjdk.java.net/~aniyogi/8015748/webrev.02/ <http://cr.openjdk.java.net/~aniyogi/8015748/webrev.02/>
>>>>>>>> <http://cr.openjdk.java.net/%7Eaniyogi/8015748/webrev.02/ <http://cr.openjdk.java.net/%7Eaniyogi/8015748/webrev.02/>>
>>>>>>>> <http://cr.openjdk.java.net/%7Eaniyogi/8015748/webrev.02/ <http://cr.openjdk.java.net/%7Eaniyogi/8015748/webrev.02/>>
>>>>>>>> 
>>>>>>>> With Regards,
>>>>>>>> Avik Niyogi
>>>>>>>> 
>>>>>>>>> On 11-Jan-2016, at 3:55 pm, Semyon Sadetsky
>>>>>>>>> <semyon.sadetsky at oracle.com <mailto:semyon.sadetsky at oracle.com> <mailto:semyon.sadetsky at oracle.com <mailto:semyon.sadetsky at oracle.com>>
>>>>>>>>> <mailto:semyon.sadetsky at oracle.com>
>>>>>>>>> <mailto:semyon.sadetsky at oracle.com>> wrote:
>>>>>>>>> 
>>>>>>>>> Hi Avik,
>>>>>>>>> 
>>>>>>>>> Shouldn't the graphics transformation be restored before the
>>>>>>>>> paintString() call?
>>>>>>>>> 
>>>>>>>>> It seems to me that left/right insets need to be swapped for
>>>>>>>>> right-to-left painting with mirroring graphics transformation.
>>>>>>>>> 
>>>>>>>>> --Semyon
>>>>>>>>> 
>>>>>>>>> On 1/5/2016 1:22 PM, Avik Niyogi wrote:
>>>>>>>>>> Hi All,
>>>>>>>>>> Please find webrev with inputs as provided:
>>>>>>>>>> http://cr.openjdk.java.net/~aniyogi/8015748/webrev.01/
>>>>>>>>>> <http://cr.openjdk.java.net/%7Eaniyogi/8015748/webrev.01/>
>>>>>>>>>> With Regards,
>>>>>>>>>> Avik Niyogi
>>>>>>>>>> 
>>>>>>>>>>> On 23-Dec-2015, at 7:29 pm, Alexander Scherbatiy
>>>>>>>>>>> <alexandr.scherbatiy at oracle.com <mailto:alexandr.scherbatiy at oracle.com>
>>>>>>>>>>> <mailto:alexandr.scherbatiy at oracle.com <mailto:alexandr.scherbatiy at oracle.com>>
>>>>>>>>>>> <mailto:alexandr.scherbatiy at oracle.com>> wrote:
>>>>>>>>>>> 
>>>>>>>>>>> 
>>>>>>>>>>> - please check that the progress bar string
>>>>>>>>>>> (progressBar.setString()/setStringPainted()) is painted correctly.
>>>>>>>>>>> - is it possible to write an automated test for the fix?
>>>>>>>>>>> 
>>>>>>>>>>> Thanks,
>>>>>>>>>>> Alexandr.
>>>>>>>>>>> 
>>>>>>>>>>> On 12/21/2015 11:47 AM, Avik Niyogi wrote:
>>>>>>>>>>>> Hi All,
>>>>>>>>>>>> 
>>>>>>>>>>>> Kindly review the bug fix for JDK 9.
>>>>>>>>>>>> 
>>>>>>>>>>>> *Bug:*
>>>>>>>>>>>> https://bugs.openjdk.java.net/browse/JDK-8015748
>>>>>>>>>>>> 
>>>>>>>>>>>> *Webrev:*
>>>>>>>>>>>> http://cr.openjdk.java.net/~aniyogi/8015748/webrev.00/
>>>>>>>>>>>> <http://cr.openjdk.java.net/%7Eaniyogi/8015748/webrev.00/>
>>>>>>>>>>>> 
>>>>>>>>>>>> *Issue:*
>>>>>>>>>>>> The manual test:
>>>>>>>>>>>> Swing_JProgressbar/Manual/ProgressBarLAFTests/ProgressBarLAFTest1
>>>>>>>>>>>> in testsuite
>>>>>>>>>>>> http://sqe-hg.us.oracle.com/hg/index.cgi/testbase/javase/functional/7/swing
>>>>>>>>>>>> fails
>>>>>>>>>>>> 
>>>>>>>>>>>> *Cause:*
>>>>>>>>>>>> Due to not honouring of RIGHT_TO_LEFT parameter for
>>>>>>>>>>>> setOrientation method applied for a JProgressBar for the
>>>>>>>>>>>> AquaLookAndFeel only,
>>>>>>>>>>>> the progressBar does not have the ability to grow from right
>>>>>>>>>>>> to left. This issue was verified to exist only in
>>>>>>>>>>>> AquaLookAndFeel for JProgressBar.
>>>>>>>>>>>> 
>>>>>>>>>>>> *Fix:*
>>>>>>>>>>>> Added implementation for the check of RIGHT_TO_LEFT
>>>>>>>>>>>> ComponentOrientation and verified with other combination
>>>>>>>>>>>> orientation with available
>>>>>>>>>>>> Horizontal and Vertical orientations as provided from before.
>>>>>>>>>>>> 
>>>>>>>>>>>> With Regards,
>>>>>>>>>>>> Avik Niyogi
>>>>>>>>>>> 
>>>>>>>>>> 
>>>>>>>>> 
>>>>>>>> 
>>>>>>> 
>>>>>> 
>>>>> 
>>>> 
>>> 
>> 
> 
> 
> -- 
> Best regards, Sergey.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/swing-dev/attachments/20160118/33721126/attachment.html>


More information about the swing-dev mailing list