/// <summary> /// Modifies the index to address the next position in a block list. /// </summary> public virtual void MoveBlockUp() { NodeTreeHelperBlockList.GetLastBlockIndex(ParentNode, PropertyName, out int LastBlockIndex); Debug.Assert(BlockIndex + 1 < LastBlockIndex); BlockIndex++; }
/// <summary> /// Initializes a new instance of the <see cref="WriteableInsertionNewBlockNodeIndex"/> class. /// </summary> /// <param name="parentNode">Node containing the block list.</param> /// <param name="propertyName">Property in <paramref name="parentNode"/> corresponding to the block list.</param> /// <param name="node">First node in the block.</param> /// <param name="blockIndex">Position of the block in the block list.</param> /// <param name="patternNode">Replication pattern in the block.</param> /// <param name="sourceNode">Source identifier in the block.</param> public WriteableInsertionNewBlockNodeIndex(INode parentNode, string propertyName, INode node, int blockIndex, IPattern patternNode, IIdentifier sourceNode) : base(parentNode, propertyName, node) { Debug.Assert(blockIndex >= 0); Debug.Assert(NodeTreeHelperBlockList.GetLastBlockIndex(parentNode, propertyName, out int LastBlockIndex) && blockIndex <= LastBlockIndex); Debug.Assert(patternNode != null); Debug.Assert(sourceNode != null); BlockIndex = blockIndex; PatternNode = patternNode; SourceNode = sourceNode; }