UndoManager
La clase UndoManager observa y registra cambios de modelo y admite operaciones de deshacer y rehacer.
Implementa: IUndoManager
Constructores
public UndoManager()
undoManager = UndoManager()
Crear un UndoManager que esté listo para registrar modificaciones de modelos, pero que no sepa sobre ningún modelo todavía.
Propiedades
public bool ChecksTransactionLevel { get; set; }
value = undoManager.ChecksTransactionLevel
undoManager.ChecksTransactionLevel = value
Obtiene o establece si este gestor de deshacer emitirá advertencias a los oyentes de Trace cuando los cambios de modelo ocurren fuera de una transacción.
public IList<IUndoableEdit> CompoundEdits { get; private set; }
value = undoManager.CompoundEdits
undoManager.CompoundEdits = value
Consigue una lista de todas las ediciones de compuestos.
public CompoundEdit CurrentEdit { get; set; }
value = undoManager.CurrentEdit
undoManager.CurrentEdit = value
Consigue la edición actual del compuesto para grabar eventos adicionales de cambio de modelo.
public string CurrentTransactionName { get; }
value = undoManager.CurrentTransactionName
Obtiene el nombre de transacción actual dado por String).
public IUndoableEdit EditToRedo { get; }
value = undoManager.EditToRedo
Consigue que la corriente IUndoableEdit@ sea redone, o null si no hay ninguno.
public IUndoableEdit EditToUndo { get; }
value = undoManager.EditToUndo
Consigue que la corriente IUndoableEdit@ se deshaga, o null si no hay ninguno.
public bool IsUndoingRedoing { get; protected set; }
value = undoManager.IsUndoingRedoing
undoManager.IsUndoingRedoing = value
Esta propiedad es verdadera durante una llamada a Deshacer o Redo.
public int MaximumEditCount { get; set; }
value = undoManager.MaximumEditCount
undoManager.MaximumEditCount = value
Obtiene o establece el número máximo de ediciones de compuestos que este gestor de deshacer recordará.
public IEnumerable<IDiagramModel> Models { get; }
value = undoManager.Models
Obtiene una lista de modelos para los cuales esta UndoManager@ está grabando información de undo/redo.
public IList<string> NestedTransactionNames { get; private set; }
value = undoManager.NestedTransactionNames
undoManager.NestedTransactionNames = value
Consigue una pila de nombres de transacción en curso.
public int TransactionLevel { get; protected set; }
value = undoManager.TransactionLevel
undoManager.TransactionLevel = value
Consigue el nivel actual de transacción.
public int UndoEditIndex { get; protected set; }
value = undoManager.UndoEditIndex
undoManager.UndoEditIndex = value
Consigue el índice en CompoundEdits para la edición actual indomable.
Métodos
public virtual void AddModel(IDiagramModel model)
undoManager.AddModel(model)
Asegúrese de que este gestor de deshacer sabe sobre un IDiagramModel para el cual está recibiendo las notificaciones de eventos Modificados.
- model
public virtual bool CanRedo()
result = undoManager.CanRedo()
Este predicado es cierto cuando uno puede llamar a Redo.
public virtual bool CanUndo()
result = undoManager.CanUndo()
Este predicado es cierto cuando uno puede llamar Deshacer.
public virtual void Clear()
undoManager.Clear()
Limpiar todo el CompoundEdits@ y restablecer todo el otro estado.
protected virtual CompoundEdit CommitCompoundEdit(CompoundEdit cedit)
result = undoManager.CommitCompoundEdit(cedit)
Este método es llamado por String) cuando se comete una edición de compuestos.
- cedit
- CurrentEdit@; esto puede ser nulo si no hubo cambios en el tiempo de compromiso
Devuelve: Por defecto, el no modificado.
public bool CommitTransaction(string tname)
result = undoManager.CommitTransaction(tname)
Llama a String), comprometiendo la transacción actual, con el nombre de presentación para la transacción.
- tname
- el nombre de transacción
Devuelve: el valor de la llamada a String)
protected virtual bool EndTransaction(bool commit, string tname)
result = undoManager.EndTransaction(commit, tname)
Detenga la transacción actual, ya sea revolviéndolo o comprometiéndola.
- commit
- verdadero para terminar la transacción normalmente; falso para abortar y revertir las ediciones existentes
- tname
- el nombre local-neutral interno de la transacción
Devuelve: verdadero para una transacción de alto nivel comprometida
public virtual object FindPrimaryObject(IUndoableEdit edit)
result = undoManager.FindPrimaryObject(edit)
Dado un IUndoableEdit devuelve un objeto editado que representa lo que fue modificado.
- edit
- un IUndoableEdit, por lo general un ModelChangedEventArgs o un CompoundEdit
Devuelve: Normalmente un Nodo o un Enlace, pero esto puede ser nulo si no hay tal objeto, tal vez porque una propiedad modelo fue modificada, o porque no hubo ediciones reales en el argumento.
public virtual void HandleModelChanged(object sender, ModelChangedEventArgs e)
undoManager.HandleModelChanged(sender, e)
Crear un IUndoableEdit para un evento cambiado.
- sender
- e
public virtual void Redo()
undoManager.Redo()
Restaurar el estado de algunos modelos a partir de la actual IUndoableEdit.
public virtual void RemoveModel(IDiagramModel model)
undoManager.RemoveModel(model)
Llame a este método para informar a este gestor de deshacer que ya no se notificará de los eventos Modificados modelo.
- model
public bool RollbackTransaction()
result = undoManager.RollbackTransaction()
Sólo llama a String), reenviando la transacción actual.
Devuelve: el valor de la llamada a String)
protected virtual bool SkipEvent(ModelChangedEventArgs evt)
result = undoManager.SkipEvent(evt)
Este predicado es responsable de decidir si un ModelChangedEventArgs no es lo suficientemente interesante para ser grabado.
- evt
Devuelve: normalmente falso, lo que hace que el evento dado sea recordado; pero verdadero para enumeraciones de valor negativo de ModelChange.
public virtual bool StartTransaction(string tname)
result = undoManager.StartTransaction(tname)
Comience una transacción, donde los cambios se realizan por CompoundEdit.
Devuelve: verdadero si se inicia una transacción de alto nivel
public virtual void Undo()
undoManager.Undo()
Restaurar el estado de algunos modelos a la actual IUndoableEdit.