<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
Thu Jan 14 10:11:33 UTC 2016
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> 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/%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>> 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/%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>> 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
>>>>>
>>>>> 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/%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>> 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>> 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
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/swing-dev/attachments/20160114/28b2a1c4/attachment.html>
More information about the swing-dev
mailing list