2 // NSMenu+ImmediatePopulation.m
5 // Created by Mac-arena the Bored Zo on 2005-11-08.
6 // Copyright 2005 Adium Team. All rights reserved.
9 #import "NSMenu+ImmediatePopulation.h"
11 @implementation NSMenu (ImmediatePopulation)
13 - (void) populateFromDelegate
15 id delegate = [self delegate];
17 signed newCount = [delegate numberOfItemsInMenu:self];
21 int existingCount = [self numberOfItems];
22 if (existingCount > newCount) {
24 while (existingCount-- > newCount)
25 [self removeItemAtIndex:existingCount];
28 while (existingCount++ < newCount) {
29 NSMenuItem *item = [[NSMenuItem alloc] init];
35 for (int i = 0; i < newCount; ++i) {
36 NSMenuItem *item = [self itemAtIndex:i];
37 BOOL keepGoing = [delegate menu:self