bug-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Fix: NSTabView, drawRect:


From: Nicola Pero
Subject: Re: Fix: NSTabView, drawRect:
Date: Wed, 6 Dec 2000 19:40:53 +0100 (CET)

Georg, 

thanks for your contribution - I applied your patch to the CVS repository. 

I must apologize for having been a bit late but I was in the process of
moving from the UK to Italy.

On Tue, 5 Dec 2000, Georg Fleischmann wrote:

> Hi,
> 
> ok, here is the fix for the problem in [NSTabView drawRect:].
> The problem is that the method draws to the origin of 'rect', instead of  
> drawing to the origin of the bounds. 'rect' should be used only to decide  
> whether things have to be drawn at all.
> 
> Georg
> 
> 
> 2000-12-05 Georg Fleischmann
> 
>       * gui/Source/NSTabView.m ([NSTabView -drawRect:rect]):
>       using aRect (bounds) instead of rect to draw
> 
> 
> *** gui/Source/NSTabView.m.old        Mon Oct 23 15:38:28 2000
> --- gui/Source/NSTabView.m    Tue Dec  5 19:44:44 2000
> ***************
> *** 348,374 ****
>       {
>         case NSTopTabsBezelBorder:
>       aRect.size.height -= 16;
> -     rect.size.height -= 16;
>       NSDrawButton(aRect, NSZeroRect);
>       borderThickness = 2;
>       break;
> 
>         case NSBottomTabsBezelBorder:
> !     rect.size.height -= 16;
> !     rect.origin.y += 16;
> !     NSDrawButton(rect, rect);
> !     rect.origin.y -= 16;
>       borderThickness = 2;
>       break;
> 
>         case NSNoTabsBezelBorder:
> !     NSDrawButton(rect, rect);
>       borderThickness = 2;
>       break;
> 
>         case NSNoTabsLineBorder:
>       [[NSColor controlDarkShadowColor] set];
> !     NSFrameRect(rect);
>       borderThickness = 1;
>       break;
> 
> --- 348,373 ----
>       {
>         case NSTopTabsBezelBorder:
>       aRect.size.height -= 16;
>       NSDrawButton(aRect, NSZeroRect);
>       borderThickness = 2;
>       break;
> 
>         case NSBottomTabsBezelBorder:
> !     aRect.size.height -= 16;
> !     aRect.origin.y += 16;
> !     NSDrawButton(aRect, aRect);
> !     aRect.origin.y -= 16;
>       borderThickness = 2;
>       break;
> 
>         case NSNoTabsBezelBorder:
> !     NSDrawButton(aRect, aRect);
>       borderThickness = 2;
>       break;
> 
>         case NSNoTabsLineBorder:
>       [[NSColor controlDarkShadowColor] set];
> !     NSFrameRect(aRect);
>       borderThickness = 1;
>       break;
> 
> ***************
> *** 404,411 ****
>         if (i == 0)
>           {
>             int iFlex = 0;
> !           iP.x = rect.origin.x;
> !           iP.y = rect.origin.y;
> 
>             if (itemState == NSSelectedTab)
>               {
> --- 403,410 ----
>         if (i == 0)
>           {
>             int iFlex = 0;
> !           iP.x = aRect.origin.x;
> !           iP.y = aRect.origin.y;
> 
>             if (itemState == NSSelectedTab)
>               {
> ***************
> *** 425,432 ****
>             else
>               NSLog(@"Not finished yet. Luff ya.\n");
> 
> !           r.origin.x = rect.origin.x + 13;
> !           r.origin.y = rect.origin.y + 2;
>             r.size.width = s.width;
>             r.size.height = 15 + iFlex;
> 
> --- 424,431 ----
>             else
>               NSLog(@"Not finished yet. Luff ya.\n");
> 
> !           r.origin.x = aRect.origin.x + 13;
> !           r.origin.y = aRect.origin.y + 2;
>             r.size.width = s.width;
>             r.size.height = 15 + iFlex;
> 
> ***************
> *** 446,452 ****
>             int       iFlex = 0;
> 
>             iP.x = previousRect.origin.x + previousRect.size.width;
> !           iP.y = rect.origin.y;
> 
>             if (itemState == NSSelectedTab)
>               {
> --- 445,451 ----
>             int       iFlex = 0;
> 
>             iP.x = previousRect.origin.x + previousRect.size.width;
> !           iP.y = aRect.origin.y;
> 
>             if (itemState == NSSelectedTab)
>               {
> ***************
> *** 482,488 ****
>               NSLog(@"Not finished yet. Luff ya.\n");
>       
>             r.origin.x = iP.x + 13;
> !           r.origin.y = rect.origin.y + 2;
>             r.size.width = s.width;
>             r.size.height = 15 + iFlex; // was 15
> 
> --- 481,487 ----
>               NSLog(@"Not finished yet. Luff ya.\n");
>       
>             r.origin.x = iP.x + 13;
> !           r.origin.y = aRect.origin.y + 2;
>             r.size.width = s.width;
>             r.size.height = 15 + iFlex; // was 15
> 
> ***************
> *** 536,543 ****
>       
>         if (i == 0)
>           {
> !           iP.x = rect.origin.x;
> !           iP.y = rect.size.height;
>       
>             if (itemState == NSSelectedTab)
>               {
> --- 535,542 ----
>       
>         if (i == 0)
>           {
> !           iP.x = aRect.origin.x;
> !           iP.y = aRect.size.height;
>       
>             if (itemState == NSSelectedTab)
>               {
> ***************
> *** 551,558 ****
>             else
>               NSLog(@"Not finished yet. Luff ya.\n");
> 
> !           r.origin.x = rect.origin.x + 13;
> !           r.origin.y = rect.size.height;
>             r.size.width = s.width;
>             r.size.height = 15;
>       
> --- 550,557 ----
>             else
>               NSLog(@"Not finished yet. Luff ya.\n");
> 
> !           r.origin.x = aRect.origin.x + 13;
> !           r.origin.y = aRect.size.height;
>             r.size.width = s.width;
>             r.size.height = 15;
>       
> ***************
> *** 570,576 ****
>         else
>           {
>             iP.x = previousRect.origin.x + previousRect.size.width;
> !           iP.y = rect.size.height;
> 
>             if (itemState == NSSelectedTab)
>               {
> --- 569,575 ----
>         else
>           {
>             iP.x = previousRect.origin.x + previousRect.size.width;
> !           iP.y = aRect.size.height;
> 
>             if (itemState == NSSelectedTab)
>               {
> ***************
> *** 600,606 ****
>               NSLog(@"Not finished yet. Luff ya.\n");
> 
>             r.origin.x = iP.x + 13;
> !           r.origin.y = rect.size.height;
>             r.size.width = s.width;
>             r.size.height = 15;
> 
> --- 599,605 ----
>               NSLog(@"Not finished yet. Luff ya.\n");
> 
>             r.origin.x = iP.x + 13;
> !           r.origin.y = aRect.size.height;
>             r.size.width = s.width;
>             r.size.height = 15;
> 
> 
> _______________________________________________
> Bug-gnustep mailing list
> Bug-gnustep@gnu.org
> http://mail.gnu.org/mailman/listinfo/bug-gnustep
> 
> 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]