ページ

2010年4月21日水曜日

Application List (7) + - ボタンの実装

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク

(連載中)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 を使った永続化の機能を加える。