For anyone interested, this is an Objective-C code snippet (Mac OS X) to populate a drop down with a list of modules installed. It's really not that complicated - square brackets are for method calls, @ symbols indicate NSString's (vs. normal C strings).
Because Cocoa uses a bunch of its own data types (NSString is a Unicode string object used throughout the API), it seems I will be writing several wrappers for the Sword API. The swordModulesForType function below would be some of that wrapper code, using a mix of Objective-C and C++. The code in my AppController could then be pure Objective-C. - n8 /* Startup code */ - (void)awakeFromNib { [modulePopUp removeAllItems]; [modulePopUp addItemsWithTitles: [self swordModulesForType: @"biblical texts"]]; } /* swordModulesForType: Retrieve list of installed modules as an array, where type is: @"Biblical Texts" @"Commentaries" ... @"ALL" */ - (NSMutableArray *)swordModulesForType:(NSString *)type { SWMgr manager; SWModule *module; ModMap::iterator it; NSMutableArray *moduleList = [[NSMutableArray alloc] init]; for (it = manager.Modules.begin(); it != manager.Modules.end(); it++) { module = it->second; if( [type caseInsensitiveCompare: @"ALL"] ||[type caseInsensitiveCompare: [NSString stringWithCString:module->Type()]] ) { [moduleList addObject: [NSString stringWithCString:module->Name()]]; } } [moduleList autorelease]; // release memory later return moduleList; } -- Nathan Youngman E-mail: sword at nathany.com Web: http://nathany.com