2013-10-31 6 views
0

내 문서 기반 응용 프로그램에서 다시 실행을 구현하고 NSUndoManager으로 실행을 취소 할 수 있습니다.NSToolbar를 다시 실행하고 실행 취소하면 NSToolbarItem이 자동으로 활성화됩니다.

은 내가 canRedocanUndo (내 NSToolbarItems, 그래서 - (BOOL)validateToolbarItem:(NSToolbarItem *)theItem가 호출되지 않습니다 기반 이미지를 만들지 않는)

에 따라 사용하거나 취소를 활성화/ (기본 메뉴로) 자동 NSToolbarItems을 다시 실행하려면 1) 나는 self(My WC).document.undoManager.canUndo/self(My WC).document.undoManager.canRedo 에이블 값으로 결합하려고

는 canUndo canRedo과 같이 작동하지 않는 변수에 기초하지 않지만 단지 방법

2) 내 WC canUndo와 canRedo에 두 개의 속성을 추가했는데, name:NSUndoManagerDidUndoChangeNotificationname:NSUndoManagerDidRedoChangeNotification의 손을 수정하지만, NSUndoManager에 작업을 추가 할 때 호출되지 않습니다. 그래서 첫 번째 다시 실행 또는 실행 취소 작업을 수행해야합니다. 키도

NSUndoManagerCheckpointNotification에 등록 된 원하는 동작

답변

1

을 얻을 조치가 실행 취소 관리자

에 추가 될 때 호출되는이 같은

"관리자가 열거 나 새로운 취소 그룹을 닫 취소"