On 11 Feb 2012, at 03:17, Quincey Morris wrote: > On Feb 10, 2012, at 15:03 , Mike Abdullah wrote: > >> My line of thinking: >> >> Each time one of your undo managers is about to close its top-level group, >> register that with the doc's main undo manager. Thus the doc's undo manager >> will see the change while locked, prompt the user to unlock, and if they do >> choose to cancel, will undo the change to individual undo manager. Something >> like: >> >> - (void)undoManagerWillCloseGroup:(NSNotification *)notification >> { >> NSUndoManager *manager = [notification object]; >> if ([manager groupingLevel] == 1) >> { >> [[[self document] undoManager] registerUndoWithTarget:manager >> selector:@selector(undo) object:nil]; >> } >> } > > Won't this have the effect of causing successive undos to affect various > pages, according to the order things were originally done, rather than just > undoing within the current "page"? That is, won't it undo on a global > "timeline" rather than a per-page timeline?
I'm assuming the doc's undo manger is hidden from the user; that there's no way from the UI to make it undo/redo. > > I don't recall that this was discussed, but what happens if the document's > undo manager is changed to the page undo manager every time page switch > occurs? I can't work out if the OP tried this and found that the document's > "edited" status doesn't capture the undo manager states properly, or if the > OP didn't try this. In theory I reckon that could work. Not sure I'd trust the framework to accept a regularly changing undo manager enough though. _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com