UndoEngine Clase

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

  • IDesignerHost ofrece 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.

UndoEngine supervisa 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 disponibles cuando UndoEngine se crea.The following table shows the services that must be available when UndoEngine is created.

ServicioService 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 UndoEngine que la clase requiere ComponentSerializationService y IComponentChangeService , 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)

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

Propiedades

Enabled

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

UndoInProgress

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

Métodos

AddUndoUnit(UndoEngine+UndoUnit)

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

CreateUndoUnit(String, Boolean)

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

DiscardUndoUnit(UndoEngine+UndoUnit)

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

Dispose()

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

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)

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

(Heredado de Object)
GetHashCode()

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

(Heredado de Object)
GetRequiredService(Type)

Obtiene el servicio solicitado.Gets the requested service.

GetService(Type)

Obtiene el servicio solicitado.Gets the requested service.

GetType()

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

(Heredado de Object)
MemberwiseClone()

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

(Heredado de Object)
OnUndoing(EventArgs)

Genera el evento Undoing.Raises the Undoing event.

OnUndone(EventArgs)

Genera el evento Undone.Raises the Undone event.

ToString()

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

(Heredado de Object)

Eventos

Undoing

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

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