diff --git a/GormCore/GormLanguageViewController.h b/GormCore/GormLanguageViewController.h index 4b52d237..61830d70 100644 --- a/GormCore/GormLanguageViewController.h +++ b/GormCore/GormLanguageViewController.h @@ -1,17 +1,27 @@ /* All rights reserved */ -#ifndef GormLanguageController_H_INCLUDE -#define GormLanguageController_H_INCLUDE +#ifndef GormLanguageViewController_H_INCLUDE +#define GormLanguageViewController_H_INCLUDE #import -#import + +@class NSDictionary, NSString; @interface GormLanguageViewController : NSViewController { - IBOutlet NSPopUpButton *sourceLanguage; - IBOutlet NSPopUpButton *targetLanguage; + IBOutlet id targetLanguage; + IBOutlet id sourceLanguage; + + NSDictionary *ldict; } +- (IBAction) updateTargetLanguage: (id)sender; +- (IBAction) updateSourceLanguage: (id)sender; + +- (NSString *) sourceLanguageIdentifier; +- (NSString *) targetLanguageIdentifier; + + @end -#endif // GormLanguageController_H_INCLUDE +#endif // GormLanguageViewController_H_INCLUDE diff --git a/GormCore/GormLanguageViewController.m b/GormCore/GormLanguageViewController.m index f8c13bf7..296ad182 100644 --- a/GormCore/GormLanguageViewController.m +++ b/GormCore/GormLanguageViewController.m @@ -1,7 +1,65 @@ /* All rights reserved */ + +#import +#import +#import + +#import + #import "GormLanguageViewController.h" @implementation GormLanguageViewController +- (void) viewDidLoad +{ + NSString *path = [[self nibBundle] pathForResource: @"language-codes" ofType: @"plist"]; + + [super viewDidLoad]; + + ldict = [[NSDictionary alloc] initWithContentsOfFile: path]; + if (ldict != nil) + { + NSEnumerator *en = [ldict keyEnumerator]; + id k = nil; + + while ((k = [en nextObject]) != nil) + { + NSString *v = [ldict objectForKey: k]; + NSString *itemTitle = [NSString stringWithFormat: @"%@ (%@)", k, v]; + + [targetLanguage addItemWithTitle: itemTitle]; + [sourceLanguage addItemWithTitle: itemTitle]; + } + } +} + +- (void) dealloc +{ + RELEASE(ldict); + [super dealloc]; +} + +- (IBAction) updateTargetLanguage: (id)sender +{ + // Nothing yet... +} + +- (IBAction) updateSourceLanguage: (id)sender +{ + // Nothing yet... +} + +- (NSString *) sourceLanguageIdentifier +{ + NSInteger i = [sourceLanguage indexOfSelectedItem]; + return [[ldict allKeys] objectAtIndex: i]; +} + +- (NSString *) targetLanguageIdentifier +{ + NSInteger i = [sourceLanguage indexOfSelectedItem]; + return [[ldict allKeys] objectAtIndex: i]; +} + @end