[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