• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: How Can I Notify DrawRect Method?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: How Can I Notify DrawRect Method?


  • Subject: Re: How Can I Notify DrawRect Method?
  • From: "Chunk 1978" <email@hidden>
  • Date: Tue, 9 Dec 2008 11:33:53 -0500

i hadn't tried setNeedsDisplay:YES... but this works... and now i know
what setNeedsDisplay means, which is exciting :)

thanks everyone.

On Tue, Dec 9, 2008 at 11:27 AM, rajesh <email@hidden> wrote:
>
> On Dec 9, 2008, at 5:17 PM, Chunk 1978 wrote:
>
>> i'm assuming this is simple, but i can't solve the problem. at launch
>> of the application, an NSRect is drawn with a userdefault color:
>>
>> -=-=-=-=-
>> - (void)drawRect:(NSRect)rect
>>        {
>>        NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
>>        NSData *colorAsData;
>>        colorAsData = [defaults objectForKey:@"aColor"];
>>        NSColor *menuBarColor = [NSKeyedUnarchiver
>> unarchiveObjectWithData:colorAsData];
>>        [menuBarColor set];
>>        NSRectFill([self bounds]);
>>        }
>> -=-=-=-=-
>>
>> that works... but now i want that rect to redraw itself when notified
>> to do so, but i can't figure out how to notify the NSRect to draw
>> again... all my NSUserDefaults colorAsData is in place, as well as my
>> NSNotifications.  it will print to NSLog so i know that notification
>> is being called, but how do direct that notification to the drawRect
>> method?
>>
>> -=-=-=-=-
>> - (void)awakeFromNib
>>        {
>>        [MenuBarWindow setAlphaValue:0.0];
>>
>>        NSNotificationCenter *notificationCenter = [NSNotificationCenter
>> defaultCenter];
>>        NSString *changeColorNotification = @"changeColorNotification";
>>        [notificationCenter addObserver:self
>> selector:@selector(changeColor:)
>> changeColorNotification object:nil];
>>        }
>>
>> - (void)changeColor:(NSNotification *)notification
>>        {
>>        NSLog(@"Call drawRect");
>>        //call "drawRect:(NSRect)rect" method
>
> Let me cover the obvious part....... ( just to see that no stone is unturned
> )
>
> you mean , even after when you tried    [self setNeedsDisplay:YES] ????
> I guess you know that , you are not supposed to invoke the drawRect directly
> ......
>
> Are you sure this what you wanted ? or I didn't get the tone of  obvious
> tricky question ??
>
>
>>
>>        }
>> -=-=-=-=-
>> _______________________________________________
>>
>> 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

References: 
 >How Can I Notify DrawRect Method? (From: "Chunk 1978" <email@hidden>)
 >Re: How Can I Notify DrawRect Method? (From: rajesh <email@hidden>)

  • Prev by Date: Re: Right way to implement contextual menu in table/outline view?
  • Next by Date: Re: Another NSOutlineView question
  • Previous by thread: Re: How Can I Notify DrawRect Method?
  • Next by thread: Re: How Can I Notify DrawRect Method?
  • Index(es):
    • Date
    • Thread