<Swing Dev> Review request for 8015748: JProgressbar with Aqua LaF ignores JProgressbar#applyComponentOrientation(ComponentOrientation.RIGHT_TO_LEFT) call
Alexander Scherbatiy
alexandr.scherbatiy at oracle.com
Thu Jan 14 11:55:34 UTC 2016
The fix looks good to me.
Thanks,
Alexandr.
On 1/14/2016 1:11 PM, 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/%7Eaniyogi/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>> 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/>
>>> <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>> 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/>
>>>>> <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>> 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/>
>>>>>>> <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>> 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/>
>>>>>>>>> <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>> 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
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>
More information about the swing-dev
mailing list