FROM : Raphael Sebbe @ Google
DATE : Sat Dec 01 09:18:00 2007
Works great, thanks, avoids using an additional ivar.
For 2., no extensive testing, but it doesn't seem to be supported.
Raphael
On 29 Nov 2007, at 04:52, Nygard Steve wrote:
>
> On Nov 28, 2007, at 2:41 PM, Raphael <email_removed> wrote:
>
>> Hi,
>>
>> I am trying to use the new cursor handling mecanism of Leopard.
>>
>> My view has some regions (rects) inside of it where the cursor
>> should be changed, otherwise should be a regular arrow.
>>
>> 1. From the doc, it is unclear to me if NSTrackingCursorUpdate can
>> be used or not in that case (rect != bounds). At least what I get
>> is the cursorUpdate: method being invoked both when entering AND
>> leaving the area. Which means the cursor never becomes an arrow
>> again inside that view.
>> How should this be handled ?
>
> Store the cursor in the user info when you set up the tracking
> areas, and then you can do this:
>
> - (void)cursorUpdate:(NSEvent *)event;
> {
> NSPoint hitPoint;
> NSTrackingArea *trackingArea;
>
> trackingArea = [event trackingArea];
> hitPoint = [self convertPoint:[event locationInWindow]
> fromView:nil];
>
> if ([self mouse:hitPoint inRect:[trackingArea rect]]) {
> [[[trackingArea userInfo] objectForKey:@"cursor"] set];
> } else {
> [[NSCursor arrowCursor] set];
> }
> }
>
>> 2. Also the doc states that NSTrackingArea can overlap in different
>> views. What about overlapping in the same view ?
>
> I don't know. You could try it and see what happens.
>
> --
> Steve
>
> _______________________________________________
>
> Cocoa-dev mailing list (<email_removed>)
>
> 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/raphael.<email_removed>
>
> This email sent to raphael.<email_removed>
DATE : Sat Dec 01 09:18:00 2007
Works great, thanks, avoids using an additional ivar.
For 2., no extensive testing, but it doesn't seem to be supported.
Raphael
On 29 Nov 2007, at 04:52, Nygard Steve wrote:
>
> On Nov 28, 2007, at 2:41 PM, Raphael <email_removed> wrote:
>
>> Hi,
>>
>> I am trying to use the new cursor handling mecanism of Leopard.
>>
>> My view has some regions (rects) inside of it where the cursor
>> should be changed, otherwise should be a regular arrow.
>>
>> 1. From the doc, it is unclear to me if NSTrackingCursorUpdate can
>> be used or not in that case (rect != bounds). At least what I get
>> is the cursorUpdate: method being invoked both when entering AND
>> leaving the area. Which means the cursor never becomes an arrow
>> again inside that view.
>> How should this be handled ?
>
> Store the cursor in the user info when you set up the tracking
> areas, and then you can do this:
>
> - (void)cursorUpdate:(NSEvent *)event;
> {
> NSPoint hitPoint;
> NSTrackingArea *trackingArea;
>
> trackingArea = [event trackingArea];
> hitPoint = [self convertPoint:[event locationInWindow]
> fromView:nil];
>
> if ([self mouse:hitPoint inRect:[trackingArea rect]]) {
> [[[trackingArea userInfo] objectForKey:@"cursor"] set];
> } else {
> [[NSCursor arrowCursor] set];
> }
> }
>
>> 2. Also the doc states that NSTrackingArea can overlap in different
>> views. What about overlapping in the same view ?
>
> I don't know. You could try it and see what happens.
>
> --
> Steve
>
> _______________________________________________
>
> Cocoa-dev mailing list (<email_removed>)
>
> 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/raphael.<email_removed>
>
> This email sent to raphael.<email_removed>
| Related mails | Author | Date |
|---|---|---|
| Raphael Sebbe@Goog… | Nov 28, 22:41 | |
| Nygard Steve | Nov 29, 04:52 | |
| Raphael Sebbe @ Go… | Dec 1, 09:18 |






Cocoa mail archive

