# Grasshopper2.Undo namespace

Assembly: [Grasshopper2](https://developer.rhino3d.com/api/gh2/assembly/grasshopper2.md)

## Classes

- [Action](https://developer.rhino3d.com/api/gh2/type/grasshopper2.undo.action.md): A single undoable/redoable action. [Action](https://developer.rhino3d.com/api/gh2/type/grasshopper2.undo.action.md)s are combined into [Record](https://developer.rhino3d.com/api/gh2/type/grasshopper2.undo.record.md)s in order to be timestamped, named and joined.
- [ActionList](https://developer.rhino3d.com/api/gh2/type/grasshopper2.undo.actionlist.md): A list of [Action](https://developer.rhino3d.com/api/gh2/type/grasshopper2.undo.action.md) instances. This class makes it easy to collect a sequence of undo actions for a single record.
- [History](https://developer.rhino3d.com/api/gh2/type/grasshopper2.undo.history.md): Provides access to the undo/redo history of a Grasshopper document.
- [HistoryBrowser](https://developer.rhino3d.com/api/gh2/type/grasshopper2.undo.historybrowser.md): A control for browsing and modifying a complete undo [HistoryBrowser.History](https://developer.rhino3d.com/api/gh2/type/grasshopper2.undo.historybrowser/history.md).
- [Node](https://developer.rhino3d.com/api/gh2/type/grasshopper2.undo.node.md): Represents a single node in an undo history. A node contains an undo record, as well as parent/child relationships with adjacent nodes.
- [Record](https://developer.rhino3d.com/api/gh2/type/grasshopper2.undo.record.md): Represents an entire undo/redo record. A single record may contain any number of individual [Action](https://developer.rhino3d.com/api/gh2/type/grasshopper2.undo.action.md)s.
- [UndoEventArgs](https://developer.rhino3d.com/api/gh2/type/grasshopper2.undo.undoeventargs.md): Event arguments used in various [History](https://developer.rhino3d.com/api/gh2/type/grasshopper2.undo.history.md) events.
- [UndoException](https://developer.rhino3d.com/api/gh2/type/grasshopper2.undo.undoexception.md): Exception thrown when undo actions are incorrectly undone/redone.
- [UndoNodeEventArgs](https://developer.rhino3d.com/api/gh2/type/grasshopper2.undo.undonodeeventargs.md): Event arguments used in various [History](https://developer.rhino3d.com/api/gh2/type/grasshopper2.undo.history.md) events.
- [UndoNodeMovedEventArgs](https://developer.rhino3d.com/api/gh2/type/grasshopper2.undo.undonodemovedeventargs.md): Event arguments used in the [History.NodeMoved](https://developer.rhino3d.com/api/gh2/type/grasshopper2.undo.history/nodemoved.md) event.
- [VerbNoun](https://developer.rhino3d.com/api/gh2/type/grasshopper2.undo.verbnoun.md): A verb+noun string used in undo [Record](https://developer.rhino3d.com/api/gh2/type/grasshopper2.undo.record.md) names. Ideally all undo records are framed like verb+noun, i.e. 'Drop Object', 'Set Data', 'Change Setting', etc.

## Enums

- [Effects](https://developer.rhino3d.com/api/gh2/type/grasshopper2.undo.effects.md): Enumerates the automatic actions to be taken after an [Action](https://developer.rhino3d.com/api/gh2/type/grasshopper2.undo.action.md) was either undone or redone.
- [State](https://developer.rhino3d.com/api/gh2/type/grasshopper2.undo.state.md): Enumerates the possible states in which an undo action can exist.
