InMemoryCompositionModelBehavior

StockSharp.Diagram

In-memory implementation of ICompositionModelBehavior: keeps nodes and links in observable collections and raises BehaviorChanged notifications, without any visual or built-in undo backing of its own (an IUndoManager can be attached externally). Suitable for headless hosts and for UI front-ends that render the model directly (e.g. the Avalonia diagram editor).

Implements: ICompositionModelBehavior<InMemoryCompositionModelNode, InMemoryCompositionModelLink>, ICloneable

Properties

IsUndoManagerSuspended
public bool IsUndoManagerSuspended { get; set; }
value = inMemoryCompositionModelBehavior.IsUndoManagerSuspended
inMemoryCompositionModelBehavior.IsUndoManagerSuspended = value

Undo manager is suspended if this property is set to true.

Modifiable
public bool Modifiable { get; set; }
value = inMemoryCompositionModelBehavior.Modifiable
inMemoryCompositionModelBehavior.Modifiable = value

Is it possible to edit a composite element diagram.

Nodes
public IEnumerable<InMemoryCompositionModelNode> Nodes { get; set; }
value = inMemoryCompositionModelBehavior.Nodes
inMemoryCompositionModelBehavior.Nodes = value

Nodes.

Parent
public ICompositionModel Parent { get; set; }
value = inMemoryCompositionModelBehavior.Parent
inMemoryCompositionModelBehavior.Parent = value

Parent.

UndoManager
public IUndoManager UndoManager { get; set; }
value = inMemoryCompositionModelBehavior.UndoManager
inMemoryCompositionModelBehavior.UndoManager = value

IUndoManager

Methods

AddNode
public void AddNode(InMemoryCompositionModelNode node)
inMemoryCompositionModelBehavior.AddNode(node)
CommitTransaction
public bool CommitTransaction(string name)
result = inMemoryCompositionModelBehavior.CommitTransaction(name)

Commit transaction.

name
Operation name.

Returns: Operation result.

FindNodeByKey
public InMemoryCompositionModelNode FindNodeByKey(string key)
result = inMemoryCompositionModelBehavior.FindNodeByKey(key)

Find node by key.

key
Key.
GetLinksForNode
public IEnumerable<InMemoryCompositionModelLink> GetLinksForNode(InMemoryCompositionModelNode node)
result = inMemoryCompositionModelBehavior.GetLinksForNode(node)
RaiseCommited
public void RaiseCommited(string name, InMemoryCompositionModelNode node, IUndoableEdit op)
inMemoryCompositionModelBehavior.RaiseCommited(name, node, op)
RaiseLinksRemoved
public void RaiseLinksRemoved(InMemoryCompositionModelNode node)
inMemoryCompositionModelBehavior.RaiseLinksRemoved(node)
RaiseSocketAdded
public void RaiseSocketAdded(InMemoryCompositionModelNode node)
inMemoryCompositionModelBehavior.RaiseSocketAdded(node)
RemoveNode
public void RemoveNode(InMemoryCompositionModelNode node)
inMemoryCompositionModelBehavior.RemoveNode(node)
RollbackTransaction
public bool RollbackTransaction()
result = inMemoryCompositionModelBehavior.RollbackTransaction()

Rollback transaction.

Returns: Operation result.

StartTransaction
public bool StartTransaction(string name)
result = inMemoryCompositionModelBehavior.StartTransaction(name)

Start transaction.

name
Operation name.

Returns: Operation result.

Events

BehaviorChanged
public event Action<ValueTuple<ModelChange, object, string, object, object, object, object>> BehaviorChanged
inMemoryCompositionModelBehavior.BehaviorChanged += handler

Changed event.