В моем приложении, основанном на документах, я реализовал поведение повтора и отмены с помощью 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, поэтому мне нужно сначала выполнить действие повтора или отмены , чтобы получить желаемое поведение