bug-gnustep
[Top][All Lists]
Advanced

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

Re: [PATCH] NSButtonCell


From: Gregory John Casamento
Subject: Re: [PATCH] NSButtonCell
Date: Mon, 23 Feb 2004 21:37:37 -0800 (PST)

Adam,

This change is still broken...    see the attached snapshot of Gorm.   Normall
all of the buttons in the matrix are showing.  As you can see, with this change
it isn't.

I recommend that this patch be fixed prior to commision as this will effect all
applications using NSMatrix to display a set of buttons or images.

Thanks, GJC

--- Gregory John Casamento <greg_casamento@yahoo.com> wrote:
> Adam,
> 
> I need to test this as this looks to me like the same portion of the
> NSToolbar
> patch which I requested Quentin to fix before committing.
> 
> I will post my determination in a few minutes.
> 
> GJC
> 
> --- Adam Fedor <fedor@doc.com> wrote:
> > On Thu, 2004-02-05 at 08:00, Quentin Mathé wrote:
> > > Hi all,
> > > 
> > > Here is a patch for NSButtonCell.m which permits to the class to be 
> > > drawn transparent when it is not bordered.
> > > 
> > > I also removed few lines about the focus dotted rect in order to have 
> > > it always drawn with the same size than the button. It looks 
> > > inconsistent to me to have the dotted rect not drawn with the same size 
> > > when the button has a title, IMHO it should indicate the last focused 
> > > area which in this case is not just the title area, but like always the 
> > > button area. And I think also the focus dotted rect must be drawn even 
> > > when the button is not bezeled (nor bordered).
> > > What do you think ?
> > > 
> > 
> > Looks reasonable to me. Any other comments on this?
> > > *** /home/qmathe/myCVS/gnustep/core/gui/Source/NSButtonCell.m     Thu Feb 
> > >  5
> > 13:07:38 2004
> > --- NSButtonCell.m  Thu Feb  5 15:22:07 2004
> > ***************
> > *** 669,683 ****
> >         cellFrame = NSOffsetRect(cellFrame, 1., flippedView ? 1. : -1.);
> >       }
> >   
> > -   /* Determine the background color. */
> > -   if (mask & (NSChangeGrayCellMask | NSChangeBackgroundCellMask))
> > -     {
> > -       backgroundColor = [NSColor selectedControlColor];
> > -     }
> > - 
> > -   if (backgroundColor == nil)
> > -     backgroundColor = [NSColor controlBackgroundColor];
> > - 
> >     /* Draw the cell's background color.  
> >        We draw when there is a border or when highlightsByMask
> >        is NSChangeBackgroundCellMask or NSChangeGrayCellMask,
> > --- 669,674 ----
> > ***************
> > *** 686,693 ****
> >         || (_highlightsByMask & NSChangeBackgroundCellMask)
> >         || (_highlightsByMask & NSChangeGrayCellMask))
> >       {
> > !       [backgroundColor set];
> > !       NSRectFill (cellFrame);
> >       }
> >   
> >     /*
> > --- 677,713 ----
> >         || (_highlightsByMask & NSChangeBackgroundCellMask)
> >         || (_highlightsByMask & NSChangeGrayCellMask))
> >       {
> > !       /* Determine the background color. */
> > !       if (mask & (NSChangeGrayCellMask | NSChangeBackgroundCellMask))
> > !         {
> > !           backgroundColor = [NSColor selectedControlColor];
> > !         }
> > !       else if (_cell.is_bordered) 
> > !         {
> > !           backgroundColor = [NSColor controlBackgroundColor];
> > !         }
> > !       else 
> > !         {
> > !           NSView *opaqueAncestor;
> > !   
> > !           /* 
> > !      * we cannot use backgroundColor = [NSColor clearColor] because
> > !      * there is no alpha support at the code writing time
> > !      */
> > !   
> > !     // we must call superview because opaqueAncestor can return the caller
> > !     opaqueAncestor = [[_control_view superview] opaqueAncestor]; 
> > !           [opaqueAncestor lockFocus]; 
> > !           [opaqueAncestor drawRect:[_control_view frame]];
> > !           [opaqueAncestor unlockFocus];
> > !         }
> > !       
> > !       if (backgroundColor != nil) 
> > !         {
> > !           [backgroundColor set];
> > !           NSRectFill (cellFrame);
> > !         }
> > !       
> >       }
> >   
> >     /*
> > ***************
> > *** 882,893 ****
> >     if (_cell.shows_first_responder
> >         && [[controlView window] firstResponder] == controlView)
> >       {
> > -       if (_cell.is_bordered || _cell.is_bezeled)
> > -   NSDottedFrameRect(cellFrame);
> > -       else if (ipos == NSImageOnly)
> >     NSDottedFrameRect(cellFrame);
> > -       else
> > -   NSDottedFrameRect(titleRect);
> >       }
> >   }
> >   
> > --- 902,908 ----
> > > _______________________________________________
> > Bug-gnustep mailing list
> > Bug-gnustep@gnu.org
> > http://mail.gnu.org/mailman/listinfo/bug-gnustep
> > 
> 
> 
> =====
> Gregory John Casamento -- CEO/President Open Logic Corp.
> 
> __________________________________
> Do you Yahoo!?
> Yahoo! Mail SpamGuard - Read only the mail you want.
> http://antispam.yahoo.com/tools
> 
> 
> _______________________________________________
> Bug-gnustep mailing list
> Bug-gnustep@gnu.org
> http://mail.gnu.org/mailman/listinfo/bug-gnustep

=====
Gregory John Casamento -- CEO/President Open Logic Corp.

__________________________________
Do you Yahoo!?
Yahoo! Mail SpamGuard - Read only the mail you want.
http://antispam.yahoo.com/tools

PNG image


reply via email to

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