+1 With Regards, Avik Niyogi > On 30-May-2017, at 10:30 pm, swing-dev-requ...@openjdk.java.net wrote: > > Date: Mon, 29 May 2017 11:49:45 +0530 > From: Prasanta Sadhukhan <prasanta.sadhuk...@oracle.com > <mailto:prasanta.sadhuk...@oracle.com>> > To: Sergey Bylokhov <sergey.bylok...@oracle.com > <mailto:sergey.bylok...@oracle.com>> > Cc: swing-dev@openjdk.java.net <mailto:swing-dev@openjdk.java.net> > Subject: Re: <Swing Dev> [10] RFR: JDK-8075918:The regression-swing > case failed as the long Tab titles are not clipped with dots at the > end with NimbusLookAndFeel > Message-ID: <e298e783-8cfe-df17-9223-bbecd4b73...@oracle.com > <mailto:e298e783-8cfe-df17-9223-bbecd4b73...@oracle.com>> > Content-Type: text/plain; charset=utf-8; format=flowed > > I tried to incorporate your comments. Please find modified webrev > > http://cr.openjdk.java.net/~psadhukhan/8075918/webrev.03/ > <http://cr.openjdk.java.net/~psadhukhan/8075918/webrev.03/> > > Regards > Prasanta > On 5/28/2017 8:01 AM, Sergey Bylokhov wrote: >> Note that you shouldn't replace the clip, but should apply the new clip on >> top of the old. This is necessary if the old clip is smaller than new. >> >> ----- sergey.bylok...@oracle.com <mailto:sergey.bylok...@oracle.com> wrote: >> >>> Hi, Prasanta. >>> >>> BasicTabbedPaneUI.paintIcon() as well as >>> SynthGraphicsUtils.paintText() are called in SynthTabbedPaneUI. >>> - paintText() at line 681 >>> - paintIcon() at line 634 >>> Both methods have a rectangle as a parameter, but it is ignored. >>> >>> ----- prasanta.sadhuk...@oracle.com <mailto:prasanta.sadhuk...@oracle.com> >>> wrote: >>> >>>> Hi Sergey, >>>> >>>> I could get your concern for paintText() but could not find >>>> paintIcon() >>>> in SynthGraphicsUtils() so not sure how icon drawing contradicts >>>> spec. >>>> Modified webrev: >>>> http://cr.openjdk.java.net/~psadhukhan/8075918/webrev.01/ >>>> <http://cr.openjdk.java.net/~psadhukhan/8075918/webrev.01/> >>>> >>>> Also, if we are not calling SwingUtilities2.clipStringIfNecessary() >>>> then >>>> we are not going to get "..." at the end which this test expects. >>> But >>>> I >>>> could not find anything in spec, that mandates ending with "..." for >>>> long tab outside >>>> tab bounds. If source change is ok, I guess we then need to modify >>> the >>>> html file modifying the expected result for NimbusL&F. >>>> >>>> Regards >>>> Prasanta >>>> On 5/25/2017 3:11 AM, Sergey Bylokhov wrote: >>>>> Hi, Prasanta. >>>>> Please take a look to my comments at: >>>>> >>> http://mail.openjdk.java.net/pipermail/swing-dev/2016-November/006931.html >>> <http://mail.openjdk.java.net/pipermail/swing-dev/2016-November/006931.html> >>> http://mail.openjdk.java.net/pipermail/swing-dev/2016-November/006902.html >>> <http://mail.openjdk.java.net/pipermail/swing-dev/2016-November/006902.html> >>>>> The two methods paintText() and paintIcon() are contradict the >>> spec >>>> and draw the text and icons outside of the tab. >>>>> ----- prasanta.sadhuk...@oracle.com >>>>> <mailto:prasanta.sadhuk...@oracle.com> wrote: >>>>> >>>>>> Hi All, >>>>>> >>>>>> Please review a fix for an issue where long Tab titiles are not >>>>>> clipped >>>>>> with dots at end for NimbusLookAndFeel L&F. >>>>>> Other L&Fs works ok. >>>>>> >>>>>> Issue was in SynthTabbedPaneUI#paintTab(), the title is not >>>> clipped >>>>>> but >>>>>> passed to paintText() as it is received. >>>>>> Other L&F such as Metal, Motif, Windows which uses >>>>>> BasicTabbedPaneUI#paintTab(), the title is clipped >>>>>> >>> http://hg.openjdk.java.net/jdk9/client/jdk/file/e748c6a2d2e6/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicTabbedPaneUI.java#l950 >>> >>> <http://hg.openjdk.java.net/jdk9/client/jdk/file/e748c6a2d2e6/src/java.desktop/share/classes/javax/swing/plaf/basic/BasicTabbedPaneUI.java#l950> >>>>>> before it is passed to paintText(). >>>>>> >>>>>> Proposed fix is to do the same for SynthTabbedPaneUI#paintTab(). >>>>>> >>>>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8075918 >>>>>> <https://bugs.openjdk.java.net/browse/JDK-8075918> >>>>>> webrev: >>> http://cr.openjdk.java.net/~psadhukhan/8075918/webrev.00/ >>> <http://cr.openjdk.java.net/~psadhukhan/8075918/webrev.00/> >>>>>> Regards >>>>>> Prasanta >