LAnnAutomation::AddUndoNode

#include "ltwrappr.h"

virtual L_INT LAnnAutomation::AddUndoNode()

Manually adds an undo node to the automation object.

Returns

Value Meaning
SUCCESS The function was successful.
< 1 An error occurred. Refer to Return Codes.

Comments

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:

  1. Call LAnnAutomation::SetUndoDepth to set the number of undo actions that can take place.

  2. Call [LAnnAutomation:AddUndoNode to add an undo node to the automation object.

  3. Disable the undo feature by calling LAnnAutomation::SetAutoUndoEnable(FALSE).

  4. Perform the operations to be combined into one undo.

  5. 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.

Required DLLs and Libraries

Platforms

Win32, x64.

See Also

Functions

Topics

Example

For an example, refer to LAnnotation::SetAutoDefaults.

Help Version 21.0.2021.4.8
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2021 LEAD Technologies, Inc. All Rights Reserved.

LEADTOOLS Raster Imaging C++ Class Library Help