InMemoryCompositionModelBehavior
Implementação de memória de ICompositionModelBehavior: mantém nós e links em coleções observáveis e eleva BehaviorChanged notificações, sem qualquer suporte visual ou incorporado de desfazer próprio (um IUndoManager@ pode ser anexado externamente). Adequado para máquinas sem cabeça e para interfaces de interface que tornam o modelo diretamente (e.g@. o editor de diagramas de Avalonia).
Implementa: ICompositionModelBehavior<InMemoryCompositionModelNode, InMemoryCompositionModelLink>, ICloneable
Propriedades
public bool IsUndoManagerSuspended { get; set; }
value = inMemoryCompositionModelBehavior.IsUndoManagerSuspended
inMemoryCompositionModelBehavior.IsUndoManagerSuspended = value
O gestor de desfazer é suspenso se esta propriedade estiver configurada como verdadeira.
public IEnumerable<InMemoryCompositionModelLink> Links { get; set; }
value = inMemoryCompositionModelBehavior.Links
inMemoryCompositionModelBehavior.Links = value
Links.
public bool Modifiable { get; set; }
value = inMemoryCompositionModelBehavior.Modifiable
inMemoryCompositionModelBehavior.Modifiable = value
É possível editar um diagrama de elementos compostos.
public IEnumerable<InMemoryCompositionModelNode> Nodes { get; set; }
value = inMemoryCompositionModelBehavior.Nodes
inMemoryCompositionModelBehavior.Nodes = value
Nós.
public ICompositionModel Parent { get; set; }
value = inMemoryCompositionModelBehavior.Parent
inMemoryCompositionModelBehavior.Parent = value
Pai.
public IUndoManager UndoManager { get; set; }
value = inMemoryCompositionModelBehavior.UndoManager
inMemoryCompositionModelBehavior.UndoManager = value
IUndoManager
Métodos
public InMemoryCompositionModelLink AddLink(InMemoryCompositionModelNode from, string fromPort, InMemoryCompositionModelNode to, string toPort)
result = inMemoryCompositionModelBehavior.AddLink(from, fromPort, to, toPort)
public void AddLink(InMemoryCompositionModelLink link)
inMemoryCompositionModelBehavior.AddLink(link)
public void AddNode(InMemoryCompositionModelNode node)
inMemoryCompositionModelBehavior.AddNode(node)
public bool CommitTransaction(string name)
result = inMemoryCompositionModelBehavior.CommitTransaction(name)
Transactar.
- name
- Nome da operação.
Retorna: Resultado da operação.
public InMemoryCompositionModelNode FindNodeByKey(string key)
result = inMemoryCompositionModelBehavior.FindNodeByKey(key)
Encontrar nó por chave.
- key
- Chave.
public IEnumerable<InMemoryCompositionModelLink> GetLinksForNode(InMemoryCompositionModelNode node)
result = inMemoryCompositionModelBehavior.GetLinksForNode(node)
public void RaiseCommited(string name, InMemoryCompositionModelNode node, IUndoableEdit op)
inMemoryCompositionModelBehavior.RaiseCommited(name, node, op)
public void RaiseLinksRemoved(InMemoryCompositionModelNode node)
inMemoryCompositionModelBehavior.RaiseLinksRemoved(node)
public void RaiseSocketAdded(InMemoryCompositionModelNode node)
inMemoryCompositionModelBehavior.RaiseSocketAdded(node)
public void RemoveLink(InMemoryCompositionModelLink link)
inMemoryCompositionModelBehavior.RemoveLink(link)
public void RemoveLink(InMemoryCompositionModelNode from, string fromPort, InMemoryCompositionModelNode to, string toPort)
inMemoryCompositionModelBehavior.RemoveLink(from, fromPort, to, toPort)
public void RemoveNode(InMemoryCompositionModelNode node)
inMemoryCompositionModelBehavior.RemoveNode(node)
public bool RollbackTransaction()
result = inMemoryCompositionModelBehavior.RollbackTransaction()
Transacção de retorno.
Retorna: Resultado da operação.
public bool StartTransaction(string name)
result = inMemoryCompositionModelBehavior.StartTransaction(name)
Iniciar transacção.
- name
- Nome da operação.
Retorna: Resultado da operação.
Eventos
public event Action<ValueTuple<ModelChange, object, string, object, object, object, object>> BehaviorChanged
inMemoryCompositionModelBehavior.BehaviorChanged += handler
Evento alterado.