AHAH OK got it its one of the parameters when initializing the timer... ok... sorry for the noob question... :D
On Dec 30, 2009, at 12:47 PM, slasktrattena...@gmail.com wrote: > The performholdAction is your timer's fire method. You set the timer > to fire after one second. If the mouse button goes up before that, you > invalidate the timer and so performholdAction is never called. > > -f > > On Wed, Dec 30, 2009 at 12:42 PM, Gustavo Pizano > <gustavxcodepic...@gmail.com> wrote: >> So let me see if I get it. >> >> Start the timer on mouseDown... and invalidate it on mouseUp, got that.. now >> the performholdAction method that you declared in the example, I call it >> from within...... ??? because I guess in this method I will check if the >> time its already 1 sec and show the menu... >> >> Thanks for the help >> >> G.. >> PS.. I need a after lunch coffee!! >> On Dec 30, 2009, at 12:24 PM, slasktrattena...@gmail.com wrote: >> >>> Sorry, haven't had my morning coffee yet. Of course, mouseUp should be: >>> >>> -(void)mouseUp:(NSEvent*)ev >>> { >>> if ( [timer isValid] ) { >>> [timer invalidate]; >>> [timer release]; >>> timer = nil; >>> // perform single-click action >>> } >>> } >>> >>> On Wed, Dec 30, 2009 at 11:53 AM, slasktrattena...@gmail.com >>> <slasktrattena...@gmail.com> wrote: >>>> Simple. Start a timer on mouse down, invalidate it on mouse up. >>>> Something like this (written in mail): >>>> >>>> NSTimer *timer; >>>> >>>> -(void)mouseDown:(NSEvent*)ev >>>> { >>>> timer=[[[NSTimer alloc] blah ...] retain]; >>>> } >>>> >>>> -(void)mouseUp:(NSEvent*)ev >>>> { >>>> if ( [timer isValid] ) { >>>> [timer invalidate]; >>>> [timer release]; >>>> timer = nil; >>>> } else { >>>> // perform single-click action >>>> } >>>> } >>>> >>>> -(void)performHoldAction:(NSTimer*)tmr >>>> { >>>> // pop up menu >>>> } >>>> >>>> -fabian >>>> >>>> On Wed, Dec 30, 2009 at 11:18 AM, Gustavo Pizano >>>> <gustavxcodepic...@gmail.com> wrote: >>>>> Hello. >>>>> I want to show a custom menu when the left click its being press for >>>>> about 1 second on some of my components.. I have being searching and >>>>> found a apple example where the use the >>>>> + >>>>> (void)startPeriodicEventsAfterDelay:(NSTimeInterval)delaySecondswithPeriod:(NSTimeInterval)periodSeconds >>>>> >>>>> and the stopPeriodicEvents class methods. I tried implementing something >>>>> like: >>>>> >>>>> BOOL timerOn = YES; >>>>> NSPoint mouseLoc; >>>>> NSLog(@"before loop"); >>>>> NSUInteger eventMask = NSLeftMouseDownMask| NSLeftMouseUpMask | >>>>> NSPeriodicMask; >>>>> while ((theEvent = [[self window] >>>>> nextEventMatchingMask:eventMask])) { >>>>> NSLog(@"onLoop"); >>>>> switch ([theEvent type]) { >>>>> case NSLeftMouseUp: >>>>> NSLog(@"up"); >>>>> timerOn = NO; >>>>> [NSEvent stopPeriodicEvents]; >>>>> break; >>>>> case NSLeftMouseDown: >>>>> NSLog(@"down"); >>>>> [NSEvent startPeriodicEventsAfterDelay:0.1 >>>>> withPeriod:0.1]; >>>>> break; >>>>> >>>>> default: >>>>> break; >>>>> } >>>>> } >>>>> >>>>> But of course its completely wrong, it never go out from the loop... I >>>>> tried a different approach usign a NSTimer, but found myself going >>>>> nowhere also... >>>>> >>>>> Can somebody give me some advice, or where can I find info?, i have been >>>>> looking around but hadn't found something... I know this should have been >>>>> asked already, so there must be a way to do this. >>>>> >>>>> Thanks in advance .. and happy new year. >>>>> >>>>> Gustavo >>>>> >>>>> _______________________________________________ >>>>> >>>>> 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/slasktrattenator%40gmail.com >>>>> >>>>> This email sent to slasktrattena...@gmail.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/archive%40mail-archive.com This email sent to arch...@mail-archive.com