ReplaceToTable debug
This commit is contained in:
@@ -54,45 +54,8 @@ internal static class DynamicReplaceToTableExt
|
||||
else if (baseFont is not null)
|
||||
fontProps = baseFont;
|
||||
|
||||
ReplaceWithTableBuilderDynamic(paragraph, param, buildTable, fontProps);
|
||||
ReplaceToTableExt.ReplaceWithTableBuilder(paragraph,
|
||||
builder => buildTable(param, builder), fontProps);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Создаёт TableBuilder, вызывает пользовательский делегат, заменяет параграф таблицей.
|
||||
/// (Копия <see cref="ReplaceToTableExt.ReplaceWithTableBuilder"/> с добавленным param.)
|
||||
/// </summary>
|
||||
private static void ReplaceWithTableBuilderDynamic(
|
||||
Paragraph paragraph,
|
||||
string param,
|
||||
Action<string, ITable> buildTable,
|
||||
FontProps? baseFont)
|
||||
{
|
||||
if (paragraph is null || paragraph.Parent is null || buildTable is null)
|
||||
return;
|
||||
|
||||
var parent = paragraph.Parent;
|
||||
|
||||
var builder = TableBuilder.Create(baseFont);
|
||||
buildTable(param, builder);
|
||||
var table = builder.Build();
|
||||
|
||||
int paraIndex = -1;
|
||||
var children = parent.ChildElements;
|
||||
|
||||
for (int i = 0; i < children.Count; i++)
|
||||
{
|
||||
if (children[i] == paragraph)
|
||||
{
|
||||
paraIndex = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (paraIndex == -1)
|
||||
return;
|
||||
|
||||
parent.RemoveChild(paragraph);
|
||||
parent.InsertAt(table, paraIndex);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user