Какао Баттон Запуск вне приложения - PullRequest
0 голосов
/ 14 мая 2011

У меня есть следующие настройки:

Сетка 4х4 (всего 16 кнопок) (стандартные кнопки NSButton) в окне NSW.

NSWindow выйдет вперед, когда я нажму комбинацию горячих клавиш (DDHotKey)

Теперь я хотел бы назначить кнопкам следующую функциональность:

  • Когда кнопка нажата, откройте диалоговое окно с каталогом / Applications / и позвольте мне выбрать любое из перечисленных там приложений.

  • Когда приложение выбрано, сохраните его в переменной (я предполагаю) (или в строке?) И сделайте так, чтобы при нажатии кнопок Key Equivalent это приложение запускало

Я смотрю по сторонам, и я не совсем уверен, что делать или на самом деле, с чего начать искать ... какие-нибудь подсказки?

У меня есть это в моем файле appdelegate.m:

- (void)openDoc:(id)sender
{
    int result;
    NSArray *fileTypes = [NSArray arrayWithObject:@"td"];
    NSOpenPanel *oPanel = [NSOpenPanel openPanel];

[oPanel setAllowsMultipleSelection:YES];
result = [oPanel runModalForDirectory:NSHomeDirectory()
                file:nil types:fileTypes];
if (result == NSOKButton) {
    NSArray *filesToOpen = [oPanel filenames];
    int i, count = [filesToOpen count];
    for (i=0; i<count; i++) {
        NSString *aFile = [filesToOpen objectAtIndex:i];
        id currentDoc = [[ToDoDoc alloc] initWithFile:aFile];
    }
}
}

Как мне связать кнопку с ней?

Ответы [ 2 ]

2 голосов
/ 14 мая 2011

Вы можете использовать NSOpenPanel для выбора приложения.

Затем, чтобы запустить приложение, взгляните на этот вопрос о переполнении стека.

1 голос
/ 14 мая 2011

сохраните путь к приложению, тогда, когда вы захотите их открыть.Вы можете использовать функцию system().

system("open -a /Applications/someApplication.app");
...