I must be missing something in the documentation. I am trying to populate a Rule Editor with choices from a plist file. The plan is to create and return an NSMenuItem for each string stored in the corresponding spot in a plist. Here is what IS working: • I can get the NSRuleEditor to display menuItems from a popup loaded from the XIB (as in the example I found) • I can load in the plist and confirm that the resulting dictionary/ array structure as well as the return values for the #ofChildren method are correct

But when I create an NSMenuItem programmatically instead of grabbing a pre-made one, no menu shows up in the rule editor (only blank rows)...

I have tried disconnecting this from my data structure and just creating a fixed item with the same effect. I can only assume I am creating the NSMenuItem incorrectly.

Here is the relevant code: (please excuse the lack of type checking & other error code... it will be added once I get it working... I have checked the debugger and the types are correct)

-(NSMenuItem*)menuItemForKey:(NSString*)key index:(NSUInteger)index
{
        if(key==nil)
                return nil;
NSArray *children = [plistDictionary objectForKey:key];// plistDictionary contains a tree of children
        NSString *title = [children objectAtIndex:index];
        if([title isEqualToString:@"-"])
                return [NSMenuItem separatorItem];
return [[[NSMenuItem alloc]initWithTitle:title action:NULL keyEquivalent:@""]autorelease];
}

- (id)ruleEditor:(NSRuleEditor *)editor child:(NSInteger)index forCriterion:(id)criterion withRowType:(NSRuleEditorRowType)rowType
{
        NSString *key;
        if (criterion) {
                key = [criterion title];
        }else {
                key = @"Header";
        }

        return [self menuItemForKey:key index:index];
}

Any help is appreciated!

Thanks,
Jon_______________________________________________

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