(連載中)Cocoaの日々: Application List
まずは [ー] ボタンの実装。これは Interface Builder 上でボタンのターゲット&アクションを、-[NSArrayController remove] へ接続すればいい。
次に[+]ボタン。NSOpenPanel を開くコードを実装する。こんな感じ。
AppListAppDelegate.m
- (IBAction)addApplication:(id)sender
{
NSString* path = @"/Applications";
NSOpenPanel *openPanel = [NSOpenPanel openPanel];
[openPanel setCanChooseFiles:YES];
[openPanel setCanChooseDirectories:NO];
[openPanel setCanCreateDirectories:NO];
[openPanel setAllowsMultipleSelection:YES];
[openPanel setDirectory:path];
int result = [openPanel runModalForDirectory:path
file:nil
types:nil];
if (result == NSOKButton) {
for (NSString* filename in [openPanel filenames]) {
ApplicationEntry* entry =
[[[ApplicationEntry alloc] initWithPath:filename] autorelease];
[appList_ addObject:entry];
}
[arrayController_ rearrangeObjects];
}
}
動かしてみよう。
[+]を押すとパネルが開く。
選ぶと
出た。
ソースコードは GitHub からどうぞ
xcatsan's SampleCode at 2010-04-21 - GitHub
- - - -
ほぼ完成。後はこれに NSUserDefaults を使った永続化の機能を加える。