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

Reply via email to