Версии в OSX 10.7

Я включил версии и автосохранение в моем приложении на основе документов, поэтому теперь я могу видеть браузер версий (интерфейс, похожий на машину времени) для каждого из мои документы в OSX 10.7

+ (BOOL)autosavesInPlace{ return YES; }

У меня есть текстовое представление, и, как предлагалось в одном из видеороликов WWDC, сеанс 107, я хочу отключить ввод текста и т. д. при входе в браузер версии. Итак, я реализовал методы NSWindowDelegate:

- (void)windowWillEnterVersionBrowser:(NSNotification *)notification{
    [myTextView setEditable:NO];
}
- (void)windowWillExitVersionBrowser:(NSNotification *)notification{
    [myTextView setEditable:YES];
}

Теперь myTextView в окне документа (текущего документа) в левой части экрана отключено, но документы в правой части (предыдущие версии) все еще отображаются курсор.

TextView не редактируется, но курсор отображается. Я также отключаю другие вещи и повторно включаю их в вышеуказанных методах, но написание кода в вышеуказанных методах, похоже, влияет только на текущее окно / документ документа, а не на окна / документ прошлых версий.

Возможно, у кого-то такая же проблема? Как я могу получить эту работу правильно? :)

РЕДАКТИРОВАТЬ :

Я искал образец кода WWDC для сеанса 107, но папка пуста. Я что-то пропустил или для этого сеанса нет образца кода?

Edit2 :

Примечание к выпуску Application Kit (Lion) говорит, что windowForSheet вызывается при создании окон в правой части браузера версии:

- (NSWindow *)windowForSheet{
    CustomWindow *win = (CustomWindow *)[super windowForSheet];
    [win setUserInteractionEnabled:![self isInViewingMode]]; //disable stuff here
    return win;
}

Но теперь, когда окно возвращается из версии Browser, взаимодействие с пользователем по-прежнему отключено. : (

6
задан nacho4d 29 July 2011 в 04:24
поделиться