Re: Custom drawing in IKImageBrowserView fails
Re: Custom drawing in IKImageBrowserView fails
- Subject: Re: Custom drawing in IKImageBrowserView fails
- From: Florian Soenens <email@hidden>
- Date: Wed, 25 Nov 2009 15:06:23 +0100
Hi Thomas,
thanks for the reply, i did try the first method you suggest with
adding a layer but it didn't work either.
I also tought of the second method but how would i make sure that my
IKImageBrowserView still receives drop event?
I ned to be compatible with 10.5 so method 3 is out of the question.
Thanks anyway!
Florian.
On 25 Nov 2009, at 14: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 (email@hidden)
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:
This email sent to email@hidden
_______________________________________________
Cocoa-dev mailing list (email@hidden)
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:
This email sent to email@hidden
Looking for Web-to-Print Solutions?
Visit our website : http://www.vit2print.com
This e-mail, and any attachments thereto, is intended only for use by the addressee(s) named herein and may contain legally privileged and/or confidential information and/or information protected by intellectual property rights.
If you are not the intended recipient, please note that any review, dissemination, disclosure, alteration, printing, copying or transmission of this e-mail and/or any file transmitted with it, is strictly prohibited and may be unlawful.
If you have received this e-mail by mistake, please immediately notify the sender and permanently delete the original as well as any copy of any e-mail and any printout thereof.
We may monitor e-mail to and from our network.
NSS nv Tieltstraat 167 8740 Pittem Belgium
_______________________________________________
Cocoa-dev mailing list (email@hidden)
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:
This email sent to email@hidden