Wrapping actions atomically in undo/redo stack
I believe this was something that I heard was being planned a long time ago (we've been using TX Text Control since v13). We're currently on v19 but only upgraded to that because v13 had issues with Win7. Most of the new features added since then haven't been useful to us (the added ID properties on classes other than TextFields were useful since we were able to use those in place of our home-grown ids that we added on top of your API, but that's about it). However, we'd probably upgrade immediately if the Undo/Redo stack was opened up and improved.<br /><br /> <br /><br /> We expose a LOT of complex document-modifying functions to our users as commands in the application. For example, we have several scenarios where a single action inserts a block of text, including TextFields, syncs the TextFields to values in our database, and trigger events that might result in formulas being evaluated on TextFields in other parts of the document. Needless to say, a single "Undo" comes nowhere close to undoing all of this! If we could wrap all of these actions in the Undo stack with something like "BeginAction:actionname" and "EndAction:actionname" markers that TX TextControl would understand so that when the user hits "Undo" TX TextControl could reliably undo everything between those tags, this would be a HUGE help. Even relatively simple actions like inserting a TextField into the document involves multiple undo commands since we have to do some formatting on the TextField after it is inserted.<br /><br /> <br /><br /> Also, it would be helpful to be able to read the full undo stack. We try to build a multi-level Undo/Redo list similar to what's in Microsoft Word by monitoring various events, but we've found that it's difficult to keep this list completely in sync with the actual undo/redo commands because those events don't completely sync to the actions that the undo stack records (simple example: typing which triggers a change event for each keystroke but a single undo item, meaning we have to check for other actions to end the typing action and add an entry to our undo/redo list). It would be much easier to simply read the undo stack items and build the undo/redo dropdown on request.
Comments (1)
Duplicate of Ability to pause Undo/Redo (http://support.textcontrol.com/feedback/view/8)