Ah, thanks for that little glimmer of encouragement! If it's good enough for WS, it's good enough for me.
I guess my problems stem from the fact that my app is heavily based on mouse dragging gestures, and mouse dragging is a whole series of events. The undo manager is maybe not so well designed to group tasks that are distributed across a series of events, but is mostly based on the idea that anything that's going to happen will happen within a single event cycle. My own implementation is definitely designed with the mouse dragging usage in mind, so perhaps it's more suitable in this situation but possibly not in every other case. I feel a little more confident that I'm not totally barmy for taking this approach. I'd still like to know where in the MVC picture undo is ideally supposed to sit however. --Graham On 07/12/2009, at 12:30 AM, Andy Lee wrote: > On Dec 6, 2009, at 7:36 AM, Graham Cox wrote: >> My fourth approach is to write my own bloody undo manager and have done with >> it. Result so far - bliss. > > FWIW, Wil Shipley agrees about the bliss part: > > <http://wilshipley.com/blog/2007/12/transitions-and-epiphanies.html> > >> I was so into using CoreData's magic undo that I kept going farther and >> farther to make it work, when I really needed to say, "Ok, this doesn't work >> in this situation, I'm doing my own undo in 40 lines of code." > > I haven't worked with NSUndoManager myself, but my takeaway from this (and > also from a friend who was also frustrated with it) is that it's great for > very basic scenarios, but if I ever find myself getting frustrated with it I > shouldn't hesitate to write my own. > > --Andy > > _______________________________________________ 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: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com