In my path on rewrite the designer I created two controls: The Canvas and the UndoManager.
For the canvas I see products like SimDesignerCanvas by Matthew Combatti and NaturalScrollingCanvas by Jim McKay, Both are good products but not for me, especially for the cost, I have to “resale” and the cost is same of mine, so I desided write my own, can see a video here.
For the undo I checkout UndoToolkit by Scott Forbes and TheBigUndo by Jim McKay. I was impressed with TheBigUndo, how does he do it? the timer is the answer but… Anyway, BigUndo requires “resale” the license so descarted! by other hand, with UndoToolkit I have the source and is a proved tool, however, for use the Undotoolkit require subclassing, add an interfase, some methods and are ready for undo, not much to do, right? Are there other form to do that? So, before implement the undoToolkit, I search on internet, find the command pattern, the memento pattern and the NSUndoManager, I asked myself: How I wish the undo? maybe one undo with both? command and memento pattern. I think is posible, that’s why I desided write my own UndoManager. It works like NSUndoManager -command pattern- but without subclassing, add methods, etc. And I can add a persistent memento pattern, well, I guess…
I have some problems to resolve but I like the progress.So stay tuned!.