virtual L_INT LAnnAutomation::AddUndoNode()
Manually adds an undo node to the automation object.
Value | Meaning |
---|---|
SUCCESS | The function was successful. |
< 1 | An error occurred. Refer to Return Codes. |
This function allows you to programmatically add a node to the undo stack maintained by the automation object hObject. This function can only be called for automation objects.
This function should be called before making any changes programmatically to the objects inside the container linked to the automation object. That way, these changes can be reversed using the Undo menu brought up by the automation or by calling LAnnAutomation::Undo.
The number of actions that can be undone should be set with LAnnAutomation::SetUndoDepth before calling this function.
Calling LAnnAutomation::SetAutoUndoEnable(FALSE) disables the undo mechanism of the automation object. Therefore the automation object cannot change the undo stack until the undo mechanism is enabled by calling LAnnAutomation::SetAutoUndoEnable(TRUE).
ERROR_NO_UNDO_STACK will be returned if LAnnAutomation::SetUndoDepth has not been called before this function or if LAnnAutomation::SetUndoDepth has been called with uUndoLevels set to 0.
ERROR_UNDO_DISABLED will be returned if the undo has been disabled by calling LAnnAutomation::SetAutoUndoEnable(hObject, FALSE).
Basically, the process is as follows:
Call LAnnAutomation::SetUndoDepth to set the number of undo actions that can take place.
Call [LAnnAutomation:AddUndoNode to add an undo node to the automation object.
Disable the undo feature by calling LAnnAutomation::SetAutoUndoEnable(FALSE).
Perform the operations to be combined into one undo.
Re-enable the undo feature by calling LAnnAutomation::SetAutoUndoEnable(TRUE).
Now, all three operations can be undone with one call to LAnnAutomation::Undo instead of three calls to LAnnAutomation::Undo.
Win32, x64.
For an example, refer to LAnnotation::SetAutoDefaults.
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document