OleUndoEngine.UndoUnit Class

Extends support for encapsulating a unit of work that a user can undo.

Inheritance Hierarchy

System.Object
  System.ComponentModel.Design.UndoEngine.UndoUnit
    Microsoft.VisualStudio.Shell.Design.OleUndoEngine.UndoUnit

Namespace:  Microsoft.VisualStudio.Shell.Design
Assembly:  Microsoft.VisualStudio.Shell.Design (in Microsoft.VisualStudio.Shell.Design.dll)

Syntax

'Declaration
Protected Class UndoUnit _
    Inherits UndoEngine..::..UndoUnit _
    Implements IOleParentUndoUnit, IOleUndoUnit
protected class UndoUnit : UndoEngine..::..UndoUnit, 
    IOleParentUndoUnit, IOleUndoUnit
protected ref class UndoUnit : public UndoEngine..::..UndoUnit, 
    IOleParentUndoUnit, IOleUndoUnit
type UndoUnit =  
    class
        inherit UndoEngine..::..UndoUnit
        interface IOleParentUndoUnit
        interface IOleUndoUnit
    end
protected class UndoUnit extends UndoEngine..::..UndoUnit implements IOleParentUndoUnit, IOleUndoUnit

The OleUndoEngine.UndoUnit type exposes the following members.

Constructors

  Name Description
Public method OleUndoEngine.UndoUnit Initializes a new instance of the OleUndoEngine.UndoUnit class.

Top

Properties

  Name Description
Public property IsEmpty Gets a value indicating whether the UndoEngine.UndoUnit contains no events. (Inherited from UndoEngine.UndoUnit.)
Public property Name Gets the name of the UndoEngine.UndoUnit. (Inherited from UndoEngine.UndoUnit.)
Protected property UndoEngine Gets the parent UndoEngine. (Inherited from UndoEngine.UndoUnit.)

Top

Methods

  Name Description
Public method Close Receives a call from the undo engine to close this unit. (Inherited from UndoEngine.UndoUnit.)
Public method ComponentAdded Receives a call from the UndoEngine in response to a ComponentAdded event. (Inherited from UndoEngine.UndoUnit.)
Public method ComponentAdding Receives a call from the UndoEngine in response to a ComponentAdding event. (Inherited from UndoEngine.UndoUnit.)
Public method ComponentChanged Receives a call from the UndoEngine in response to a ComponentChanged event. (Inherited from UndoEngine.UndoUnit.)
Public method ComponentChanging Receives a call from the UndoEngine in response to a ComponentChanging event. (Inherited from UndoEngine.UndoUnit.)
Public method ComponentRemoved Receives a call from the UndoEngine in response to a ComponentRemoved event. (Inherited from UndoEngine.UndoUnit.)
Public method ComponentRemoving Receives a call from the UndoEngine in response to a ComponentRemoving event. (Inherited from UndoEngine.UndoUnit.)
Public method ComponentRename Receives a call from the UndoEngine in response to a ComponentRename event. (Inherited from UndoEngine.UndoUnit.)
Public method Equals Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected method Finalize Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method GetHashCode Serves as a hash function for a particular type. (Inherited from Object.)
Protected method GetService Gets an instance of the requested service. (Inherited from UndoEngine.UndoUnit.)
Public method GetType Gets the Type of the current instance. (Inherited from Object.)
Protected method MemberwiseClone Creates a shallow copy of the current Object. (Inherited from Object.)
Public method ToString Returns a String that represents the current name of the unit. (Inherited from UndoEngine.UndoUnit.)
Public method Undo Performs an undo or redo action. (Inherited from UndoEngine.UndoUnit.)
Protected method UndoCore Called by Undo to perform an undo action. (Inherited from UndoEngine.UndoUnit.)

Top

Explicit Interface Implementations

  Name Description
Explicit interface implemetationPrivate method IOleParentUndoUnit.Add Adds an undo unit to the parent collection.
Explicit interface implemetationPrivate method IOleParentUndoUnit.Close Closes the specified parent undo unit.
Explicit interface implemetationPrivate method IOleParentUndoUnit.Do Performs the undo operation.
Explicit interface implemetationPrivate method IOleParentUndoUnit.FindUnit Searches for the specified unit in the child undo unit hierarchy.
Explicit interface implemetationPrivate method IOleParentUndoUnit.GetDescription Gets the description of the undo unit.
Explicit interface implemetationPrivate method IOleParentUndoUnit.GetParentState Gets the state of the top-level parent undo unit.
Explicit interface implemetationPrivate method IOleParentUndoUnit.GetUnitType Gets the type of the undo unit.
Explicit interface implemetationPrivate method IOleParentUndoUnit.OnNextAdd Notifies the last undo unit in the collection that a new unit has been added.
Explicit interface implemetationPrivate method IOleParentUndoUnit.Open Opens an undo unit.
Explicit interface implemetationPrivate method IOleUndoUnit.Do Performs the undo operation.
Explicit interface implemetationPrivate method IOleUndoUnit.GetDescription Gets the description of the undo unit.
Explicit interface implemetationPrivate method IOleUndoUnit.GetUnitType Gets the type of the undo unit.
Explicit interface implemetationPrivate method IOleUndoUnit.OnNextAdd Notifies the last undo unit in the collection that a new unit has been added.

Top

Remarks

The OleUndoEngine.UndoUnit class is a nested class within OleUndoEngine that encapsulates an action that a user can undo by monitoring change notifications and builds up a list of events for each change.

It saves these events using IDesignerSerializationService. An OleUndoEngine.UndoUnit receives event notifications for changes through several methods derived from UndoEngine.UndoUnit, IOleParentUndoUnit and

IOleUndoUnit

By implementing UndoEngine.UndoUnit, IOleParentUndoUnit, and IOleUndoUnit, OleUndoEngine.UndoUnit is able to better support linked undo by providing explicit connection between parent and child undo units.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

See Also

Reference

Microsoft.VisualStudio.Shell.Design Namespace

OleUndoEngine

UndoEngine.UndoUnit

IOleParentUndoUnit

IOleUndoUnit