# IRcUndoRedoGroup Interface Reference

Inherits IUnknown.

List of all members.

## Public Member Functions
HRESULT | AddUndoRedoObject (IUnknown *pCommand)
HRESULT | IsEmpty (RtBool *pbEmpty)
HRESULT | AddUndoDescription (BSTR szDesc)
HRESULT | SetPrefix (BSTR szDesc)
HRESULT | AddScriptForm (BSTR szDesc)
HRESULT | PrepareScriptForm ()
HRESULT | ResetScriptForm ()
HRESULT | GetUndoRedoObjectsCount ([out, retval] RtUlong *pdwCnt)
HRESULT | GetUndoRedoObject (RtUlong dwIdx,[in] IRsCommand **ppCmd)
HRESULT | Undo ()
HRESULT | Redo ()
HRESULT | Destroy ()

## Detailed Description

Helper command for grouping multiple undo/redo objects into one.

## Member Function Documentation

HRESULT IRcUndoRedoGroup::AddUndoRedoObject | ( | IUnknown * | pCommand | ) |

Add undo/redo command.

Parameters:

  | pCommand | Object that implements IRsCommand to be added.

HRESULT IRcUndoRedoGroup::IsEmpty | ( | RtBool * | pbEmpty | ) |

Check, if undo/redo group is empty.

Parameters:

  | pbEmpty | is true if no commands are present.

HRESULT IRcUndoRedoGroup::AddUndoDescription | ( | BSTR | szDesc | ) |

Add description of this undo/redo group for history purposes.

Parameters:

  | szDesc | Description of this undo/redo group.

HRESULT IRcUndoRedoGroup::SetPrefix | ( | BSTR | szDesc | ) |

Set prefix for undo/redo description.

HRESULT IRcUndoRedoGroup::AddScriptForm | ( | BSTR | szDesc | ) |

Add script form of group of commands.

HRESULT IRcUndoRedoGroup::PrepareScriptForm | ( |  | ) |

Set script state to "preparing"

HRESULT IRcUndoRedoGroup::ResetScriptForm | ( |  | ) |

Reset script override mechanism and prepare it for adding script commands.

HRESULT IRcUndoRedoGroup::GetUndoRedoObjectsCount | ( | [out, retval] RtUlong * | pdwCnt | ) |

Get total number of undo/redo commands.

HRESULT IRcUndoRedoGroup::GetUndoRedoObject | ( | RtUlong | dwIdx,
|  | [in] IRsCommand ** | ppCmd |
| ) |  |  |

Query stored undo/redo object.

HRESULT IRcUndoRedoGroup::Undo | ( |  | ) |

Undo.

HRESULT IRcUndoRedoGroup::Redo | ( |  | ) |

Redo.

HRESULT IRcUndoRedoGroup::Destroy | ( |  | ) |

Destroy node (for convenience; calls IRsNode::Destroy)