UndoEngine UndoEngine UndoEngine UndoEngine Class

Definición

Especifica la funcionalidad genérica para deshacer/rehacer en tiempo de diseño.Specifies generic undo/redo functionality at design time.

public ref class UndoEngine abstract : IDisposable
public abstract class UndoEngine : IDisposable
type UndoEngine = class
    interface IDisposable
Public MustInherit Class UndoEngine
Implements IDisposable
Herencia
UndoEngineUndoEngineUndoEngineUndoEngine
Implementaciones

Comentarios

La UndoEngine clase abstracta proporciona una implementación predeterminada de la funcionalidad de deshacer en tiempo de diseño.The UndoEngine abstract class provides a default implementation of undo functionality at design time. Una unidad de deshacer representa una unidad única de trabajo que se va a deshacer.An undo unit represents a single unit of undoable work. Esta unidad se agrega a una pila y el usuario puede recorrer la pila para deshacer cada acción.This unit is added to a stack and the user can then walk the stack to undo each action. Las unidades de deshacer suelen estar diseñadas para alternar, lo que significa que al llamar a Undo dos veces se devuelve la aplicación a su estado inicial.Undo units typically are designed to toggle, which means that calling undo twice returns the application to its starting state.

La UndoEngine clase aprovecha las características siguientes de los objetos que se ejecutan en el diseñador:The UndoEngine class takes advantage of the following characteristics of objects running within the designer:

  • El cargador de diseñadores puede guardar todos los objetos interesantes en algún formato.All interesting objects can be persisted to some format by the designer loader.

  • Todos los objetos generan notificaciones de cambios de propiedades cuando se cambia una propiedad.All objects raise property-change notifications when a property is changed.

  • IDesignerHostofrece la idea de transacciones, que se pueden usar para crear una acción de deshacer que abarque varias acciones más pequeñas.IDesignerHost offers the idea of transactions, which can be used to fabricate an undo action that spans multiple smaller actions.

Con estas características, UndoEngine puede crear cualquier unidad de deshacer que necesite automáticamente.With these features, UndoEngine can fabricate any undo units it needs automatically.

Nota

No cambie los valores de propiedad directamente.Do not change property values directly. La UndoEngine clase requiere que use el adecuado TypeDescriptor para cambiar los valores de propiedad.The UndoEngine class requires you to use the appropriate TypeDescriptor to change property values.

UndoEnginesupervisa las notificaciones de cambio para crear unidades de deshacer y las unidades se componen de Estados de objeto serializados.UndoEngine monitors for change notifications to create undo units, and the units themselves consist of serialized object states. En la tabla siguiente se muestran los servicios que deben estar UndoEngine disponibles cuando se crea.The following table shows the services that must be available when UndoEngine is created.

web de OfficeService DescripciónDescription
ComponentSerializationService Guarda los valores de propiedad y objeto de un componente antes y después de realizar un cambio.Saves property and object values for a component before and after a change is made.
IComponentChangeService Notifica al motor de deshacer los cambios realizados en los componentes.Notifies the undo engine of changes made to components.
IDesignerHost Se utiliza para realizar el seguimiento de las transacciones.Used to track transactions.

Nota

Dado que UndoEngine la clase ComponentSerializationService requiere IComponentChangeServicey, solo está disponible en tiempo de diseño.Because the UndoEngine class requires ComponentSerializationService and IComponentChangeService, it is available only at design time.

El motor para deshacer realiza un seguimiento de las transacciones y crea una única unidad de deshacer que abarca una transacción.The undo engine tracks transactions and creates a single undo unit that encompasses a transaction. Como resultado, el motor para deshacer tiene el control sobre la duración de una acción que se debe deshacer.As a result, the undo engine has control over the duration of an undoable action. Además, dado que las transacciones se pueden denominar, las acciones que se pueden deshacer heredan sus nombres de la transacción actual.Also, because transactions can be named, undoable actions inherit their names from the current transaction. Si no hay ninguna transacción disponible y se registra un cambio, el motor de deshacer crea un nombre de deshacer según el tipo de cambio (por ejemplo, "cambiar propiedad ' texto '").If no transaction is available and a change is reported, the undo engine creates an undo name based on the type of change (for example, "Change property 'Text'").

Constructores

UndoEngine(IServiceProvider) UndoEngine(IServiceProvider) UndoEngine(IServiceProvider) UndoEngine(IServiceProvider)

Inicializa una nueva instancia de la clase UndoEngine.Initializes a new instance of the UndoEngine class.

Propiedades

Enabled Enabled Enabled Enabled

Habilita o deshabilita el objeto UndoEngine.Enables or disables the UndoEngine.

UndoInProgress UndoInProgress UndoInProgress UndoInProgress

Indica si está en curso una acción de deshacer.Indicates if an undo action is in progress.

Métodos

AddUndoUnit(UndoEngine+UndoUnit) AddUndoUnit(UndoEngine+UndoUnit) AddUndoUnit(UndoEngine+UndoUnit) AddUndoUnit(UndoEngine+UndoUnit)

Agrega un objeto UndoEngine.UndoUnit a la pila para deshacer.Adds an UndoEngine.UndoUnit to the undo stack.

CreateUndoUnit(String, Boolean) CreateUndoUnit(String, Boolean) CreateUndoUnit(String, Boolean) CreateUndoUnit(String, Boolean)

Crea un nuevo UndoEngine.UndoUnit.Creates a new UndoEngine.UndoUnit.

DiscardUndoUnit(UndoEngine+UndoUnit) DiscardUndoUnit(UndoEngine+UndoUnit) DiscardUndoUnit(UndoEngine+UndoUnit) DiscardUndoUnit(UndoEngine+UndoUnit)

Descarta un objeto UndoEngine.UndoUnit.Discards an UndoEngine.UndoUnit.

Dispose() Dispose() Dispose() Dispose()

Libera todos los recursos que usa UndoEngine.Releases all resources used by the UndoEngine.

Dispose(Boolean) Dispose(Boolean) Dispose(Boolean) Dispose(Boolean)

Libera los recursos no administrados que usa UndoEngine y, de forma opcional, libera los recursos administrados.Releases the unmanaged resources used by the UndoEngine and optionally releases the managed resources.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Determina si el objeto especificado es igual al objeto actual.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Sirve como la función hash predeterminada.Serves as the default hash function.

(Inherited from Object)
GetRequiredService(Type) GetRequiredService(Type) GetRequiredService(Type) GetRequiredService(Type)

Obtiene el servicio solicitado.Gets the requested service.

GetService(Type) GetService(Type) GetService(Type) GetService(Type)

Obtiene el servicio solicitado.Gets the requested service.

GetType() GetType() GetType() GetType()

Obtiene el Type de la instancia actual.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Crea una copia superficial del objeto Object actual.Creates a shallow copy of the current Object.

(Inherited from Object)
OnUndoing(EventArgs) OnUndoing(EventArgs) OnUndoing(EventArgs) OnUndoing(EventArgs)

Genera el evento Undoing.Raises the Undoing event.

OnUndone(EventArgs) OnUndone(EventArgs) OnUndone(EventArgs) OnUndone(EventArgs)

Genera el evento Undone.Raises the Undone event.

ToString() ToString() ToString() ToString()

Devuelve una cadena que representa el objeto actual.Returns a string that represents the current object.

(Inherited from Object)

Eventos

Undoing Undoing Undoing Undoing

Se produce inmediatamente antes de que se realice una acción de deshacer.Occurs immediately before an undo action is performed.

Undone Undone Undone Undone

Se produce inmediatamente después de que se realice una acción de deshacer.Occurs immediately after an undo action is performed.

Se aplica a

Consulte también: