UndoEngine Classe

Definizione

Specifica funzionalità generiche di annullamento/ripetizione in fase di progettazione.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
Ereditarietà
UndoEngine
Implementazioni

Commenti

La UndoEngine classe astratta fornisce un'implementazione predefinita della funzionalità di annullamento in fase di progettazione.The UndoEngine abstract class provides a default implementation of undo functionality at design time. Un'unità di annullamento rappresenta una singola unità di lavoro annullabile.An undo unit represents a single unit of undoable work. Questa unità viene aggiunta a uno stack e l'utente può quindi scorrere lo stack per annullare ogni azione.This unit is added to a stack and the user can then walk the stack to undo each action. Le unità di annullamento sono in genere progettate per l'attivazione/disabilitazione, il che significa che la chiamata di Undo due volte restituisce lo stato iniziale dell'applicazione.Undo units typically are designed to toggle, which means that calling undo twice returns the application to its starting state.

La UndoEngine classe sfrutta le seguenti caratteristiche degli oggetti in esecuzione nella finestra di progettazione:The UndoEngine class takes advantage of the following characteristics of objects running within the designer:

  • Tutti gli oggetti interessanti possono essere salvati in modo permanente in un certo formato dal caricatore della finestra di progettazione.All interesting objects can be persisted to some format by the designer loader.

  • Tutti gli oggetti generano notifiche di modifica della proprietà quando una proprietà viene modificata.All objects raise property-change notifications when a property is changed.

  • IDesignerHostoffre l'idea delle transazioni, che possono essere usate per costruire un'azione di annullamento che si estende su più azioni più piccole.IDesignerHost offers the idea of transactions, which can be used to fabricate an undo action that spans multiple smaller actions.

Con queste funzionalità, UndoEngine è in grado di realizzare automaticamente le unità di annullamento necessarie.With these features, UndoEngine can fabricate any undo units it needs automatically.

Nota

Non modificare i valori delle proprietà direttamente.Do not change property values directly. La UndoEngine classe richiede l'uso dell'oggetto appropriato TypeDescriptor per modificare i valori delle proprietà.The UndoEngine class requires you to use the appropriate TypeDescriptor to change property values.

UndoEnginemonitora le notifiche delle modifiche per creare unità di annullamento e le unità stesse sono costituite da Stati di oggetti serializzati.UndoEngine monitors for change notifications to create undo units, and the units themselves consist of serialized object states. La tabella seguente illustra i servizi che devono essere disponibili quando UndoEngine viene creato.The following table shows the services that must be available when UndoEngine is created.

ServiceService DescriptionDescription
ComponentSerializationService Salva i valori di proprietà e oggetti per un componente prima e dopo che è stata apportata una modifica.Saves property and object values for a component before and after a change is made.
IComponentChangeService Notifica al motore di annullamento delle modifiche apportate ai componenti.Notifies the undo engine of changes made to components.
IDesignerHost Utilizzato per tenere traccia delle transazioni.Used to track transactions.

Nota

Poiché la UndoEngine classe richiede ComponentSerializationService e IComponentChangeService, è disponibile solo in fase di progettazione.Because the UndoEngine class requires ComponentSerializationService and IComponentChangeService, it is available only at design time.

Il motore di annullamento tiene traccia delle transazioni e crea una singola unità di annullamento che comprende una transazione.The undo engine tracks transactions and creates a single undo unit that encompasses a transaction. Di conseguenza, il motore di annullamento controlla la durata di un'azione annullabile.As a result, the undo engine has control over the duration of an undoable action. Inoltre, poiché le transazioni possono essere denominate, le azioni annullabili ereditano i nomi dalla transazione corrente.Also, because transactions can be named, undoable actions inherit their names from the current transaction. Se non è disponibile alcuna transazione e viene segnalata una modifica, il motore di annullamento crea un nome di annullamento basato sul tipo di modifica, ad esempio "modifica proprietà' testo '".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'").

Costruttori

UndoEngine(IServiceProvider)

Inizializza una nuova istanza della classe UndoEngine.Initializes a new instance of the UndoEngine class.

Proprietà

Enabled

Attiva o disabilita l'oggetto UndoEngine.Enables or disables the UndoEngine.

UndoInProgress

Indica se è in corso un'operazione di annullamento.Indicates if an undo action is in progress.

Metodi

AddUndoUnit(UndoEngine+UndoUnit)

Aggiunge un oggetto UndoEngine.UndoUnit allo stack di annullamento.Adds an UndoEngine.UndoUnit to the undo stack.

CreateUndoUnit(String, Boolean)

Crea un nuovo oggetto UndoEngine.UndoUnit.Creates a new UndoEngine.UndoUnit.

DiscardUndoUnit(UndoEngine+UndoUnit)

Elimina un oggetto UndoEngine.UndoUnit.Discards an UndoEngine.UndoUnit.

Dispose()

Rilascia tutte le risorse usate da UndoEngine.Releases all resources used by the UndoEngine.

Dispose(Boolean)

Rilascia le risorse non gestite usate da UndoEngine e, facoltativamente, le risorse gestite.Releases the unmanaged resources used by the UndoEngine and optionally releases the managed resources.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Ereditato da Object)
GetRequiredService(Type)

Ottiene il servizio richiesto.Gets the requested service.

GetService(Type)

Ottiene il servizio richiesto.Gets the requested service.

GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Ereditato da Object)
OnUndoing(EventArgs)

Genera l'evento Undoing.Raises the Undoing event.

OnUndone(EventArgs)

Genera l'evento Undone.Raises the Undone event.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Ereditato da Object)

Eventi

Undoing

Viene generato immediatamente prima dell'esecuzione di un'operazione di annullamento.Occurs immediately before an undo action is performed.

Undone

Viene generato immediatamente dopo l'esecuzione di un'operazione di annullamento.Occurs immediately after an undo action is performed.

Si applica a

Vedi anche