NSToolbar重做并撤消自动 - 启用NSToolbarItem

时间:2013-10-31 20:46:31

标签: cocoa nsundomanager nstoolbar nstoolbaritem

在我基于文档的应用程序中,我使用NSUndoManager实现了重做和撤消行为。

我想根据NSToolbarItemscanRedo(我的canUndo自动启用或停用撤消/重做NSToolbarItems(如默认菜单中所示) - (BOOL)validateToolbarItem:(NSToolbarItem *)theItem不是基于图像的,因此不会调用self(My WC).document.undoManager.canUndo / self(My WC).document.undoManager.canRedo

1)我尝试将启用值绑定到name:NSUndoManagerDidUndoChangeNotification

不起作用,因为canUndo和canRedo不是基于变量的,而只是方法

2)我确实在我的WC canUndo和canRedo中添加了两个属性,我在name:NSUndoManagerDidRedoChangeNotification和{{1}}进行了修改,但是当我向NSUndoManager添加动作时,它们不会被调用,所以我必须做第一次重做或撤消动作,以获得所需的行为

1 个答案:

答案 0 :(得分:1)

密钥也在注册

NSUndoManagerCheckpointNotification“撤消管理员打开或关闭新的撤消组”

当将操作添加到撤消管理器

时调用此方法