Also, you could try swapping out the image browser (or making it hidden) when 
it is empty, and display an alternative placeholder view in its place.

Also, file a bug report requesting the ability to do this built-in.

On 25 Nov 2009, at 13:44, Thomas Goossens wrote:

> Hi Florian,
> 
> You can't do custom drawing this way (because the IKImageBrowserView renders 
> into an openGL surface, so AppKit or CoreGraphics calls won't do anything).
> So to do what you want you can either:
> - make the view layer backed and add a sub-layer
> - add an overlay transparent window on top of the image browser view
> - add an overlay layer with setForegroundLayer: (that's the easiest solution 
> but it is SnowLeopard only).
> 
> -- Thomas
> 
> 
> On Nov 25, 2009, at 2:34 PM, Florian Soenens wrote:
> 
>> Hi list,
>> 
>> i'm trying to override an IKImageBrowserView to do some custom drawing but 
>> i'm stuck.
>> What i try to accomplish is that when the view contains zero items, some 
>> custom drawing happens like drawing an NSAttributedString that says "Drop 
>> items here..."
>> Problem is that my drawing code gets never called.
>> 
>> Here's the drawRect method of my IKImageBrowserView:
>> 
>> - (void)drawRect:(NSRect)rect
>> {
>>      [super drawRect:rect];
>>      
>>      NSUInteger numItems = [[self dataSource] 
>> numberOfItemsInImageBrowser:self];
>>      
>>      if(numItems <= 0)
>>      {
>>              NSLog(@"No items in me"); // This gets called, so i'm sure the 
>> above code works
>>              
>>              NSRect bounds = [self bounds];
>>              bounds.size.width = 200;
>>              bounds.size.height = 200;
>>              bounds.origin.x += 200;
>>              bounds.origin.y += 200;
>>              
>>              //[NSGraphicsContext saveGraphicsState];
>>              
>>              [[NSColor yellowColor] set]; // Just for testing purposes
>>              NSRectFill(bounds);
>>              
>>              //[NSGraphicsContext restoreGraphicsState];
>>      }
>> }
>> 
>> Uncommenting the NSGrahicsContext doesn't help either.
>> 
>> Anyone has any ideas or workarounds for this?
>> Thanks in advance,
>> Florian
>> _______________________________________________
>> 
>> 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:
>> http://lists.apple.com/mailman/options/cocoa-dev/tgoossens%40mac.com
>> 
>> This email sent to tgooss...@mac.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:
> http://lists.apple.com/mailman/options/cocoa-dev/cocoadev%40mikeabdullah.net
> 
> This email sent to cocoa...@mikeabdullah.net

_______________________________________________

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:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

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

Reply via email to