Hi James,

Very clever way of getting the boundaries of each cell!
I was wondering if this was possible. I’ll take a shot at this and how far I 
get.
Thanks!

bob.


> On Nov 21, 2016, at 5:46 PM, James Walker <jam...@frameforge3d.com> wrote:
> 
> On 11/20/2016 8:15 PM, Robert Monaghan wrote:
>> I have been working on a custom UI for my Cocoa application. By looking 
>> around the internet, I have managed to learn how to subclass a large number 
>> of UI objects on MacOSX. In many cases I could make the appearance work the 
>> way I want.
>> 
>> The last UI element that I am working on, is NSComboBoxCell. It appears to 
>> be a NSTextFieldCell with an NSButtonCell attached. It seems fairly easy to 
>> override
>> “drawWithFrame:inView"  and draw a replacement artwork. But there are a 
>> bunch of unknowns/pitfalls..
>> 
>> The part that I suspect that I have to subclass is the NSButtonCell that I 
>> believe is drawing the "Arrow Button”.
>> But how is this done, along side the NSTextField that makes up the 
>> NSComboBoxCell class? When I look at the NSComboBoxCell header files, I 
>> don’t see any obvious clues to figure out the geometry of the NSButtonCell, 
>> that is apparently being used alongside the NSTextField, itself.
>> 
>> Are there any ways to get to the NSButtonCell stored inside the 
>> NSComboBoxCell Object? (Ideally so that I can override and install my own 
>> NSButtonCell..)
> 
> In my NSComboBoxCell subclass, I figured out where the "button" part ought to 
> be as follows:
> 
> NSRect drawingRect = [self drawingRectForBounds: cellFrame];
> NSRect titleBounds = [self titleRectForBounds: drawingRect];
> NSRect buttonBounds = NSMakeRect( NSMaxX( titleBounds ),
>       NSMinY(drawingRect),
>       NSMaxX(drawingRect) - NSMaxX( titleBounds ),
>       NSHeight(drawingRect) );
> 
> And then I drew my own button content.
> _______________________________________________
> 
> Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)
> 
> Please do not post admin requests or moderator comments to the list.
> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
> 
> Help/Unsubscribe/Update your Subscription:
> https://lists.apple.com/mailman/options/cocoa-dev/bob%40gluetools.com
> 
> This email sent to b...@gluetools.com


_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to