NSToolbar redo и undo auto — включить NSToolbarItem

В моем приложении, основанном на документах, я реализовал поведение повтора и отмены с помощью NSUndoManager.

Я хочу включить или отключить отмену/возврат NSToolbarItems автоматически (как в меню по умолчанию) на основе canRedo и canUndo (мои NSToolbarItems не основаны на изображении, поэтому - (BOOL)validateToolbarItem:(NSToolbarItem *)theItem не вызывается)

1) я попытался привязать значение включения к self(My WC).document.undoManager.canUndo / self(My WC).document.undoManager.canRedo

не работает, так как canUndo и canRedo основаны не на переменных, а просто на методах

2) я добавил два свойства в мой WC canUndo и canRedo, которые я изменяю вручную name:NSUndoManagerDidUndoChangeNotification и name:NSUndoManagerDidRedoChangeNotification, но они не вызываются, когда я просто добавляю действия в NSUndoManager, поэтому мне нужно сначала выполнить действие повтора или отмены , чтобы получить желаемое поведение


person Peter Lapisu    schedule 31.10.2013    source источник


Ответы (1)


ключ также регистрировался для

NSUndoManagerCheckpointNotification "Менеджер отмен открывает или закрывает новую группу отмен"

так как это вызывается, когда действия добавляются в диспетчер отмены

person Peter Lapisu    schedule 06.11.2013