private void ReplaceTagPair(string updatedText, ITagPair tagPair, IAbstractMarkupDataContainer parent, ConversionItem conversionItem) { var entitizer = new HtmlEntitizer(); var markupData = CreateMarkupData(updatedText, new HtmlTagTable(entitizer.Entitize(updatedText, conversionItem.Search.Text)), entitizer, conversionItem); var index = tagPair.IndexInParent; if (markupData.Count > 0) { foreach (var item in markupData) { parent.Insert(index++, item); } tagPair.RemoveFromParent(); } }
private static void ReAddSubItemsToParent(List <IAbstractMarkupData> subItemList, IAbstractMarkupDataContainer parent, int index) { if (subItemList != null) { // Reinsert at same index if not at end of container if (parent.Count > index) { foreach (var subItem in subItemList) { subItem.RemoveFromParent(); parent.Insert(index, subItem); index++; } } else { foreach (var subItem in subItemList) { subItem.RemoveFromParent(); parent.Add(subItem); } } } }