Remove ICellText
All checks were successful
Publish NuGet packages / publish (push) Successful in 27s

This commit is contained in:
melekhin
2026-06-17 09:33:21 +07:00
parent eccb12b83c
commit c9ef2a796e
3 changed files with 576 additions and 620 deletions

View File

@@ -560,6 +560,69 @@ public interface IRange
/// <summary>Представляет одну ячейку на листе.</summary>
public interface ICell
{
/// <summary>Количество фрагментов (Run) в тексте.</summary>
int RunsCount { get; }
/// <summary>Возвращает все фрагменты.</summary>
IEnumerable<IRun> GetRuns();
/// <summary>Возвращает фрагмент по индексу или null.</summary>
IRun? GetRunAt(int index);
/// <summary>Пытается получить фрагмент по индексу.</summary>
bool TryGetRunAt(int index, out IRun run);
/// <summary>Первый фрагмент или null.</summary>
IRun? First();
/// <summary>Пытается получить первый фрагмент.</summary>
bool TryGetFirst(out IRun run);
/// <summary>Последний фрагмент или null.</summary>
IRun? Last();
/// <summary>Пытается получить последний фрагмент.</summary>
bool TryGetLast(out IRun run);
/// <summary>Пытается удалить фрагмент.</summary>
bool TryRemoveRun(IRun run);
/// <summary>Удаляет фрагмент по индексу.</summary>
bool TryRemoveRun(int index);
/// <summary>Удаляет фрагмент по индексу и возвращает удалённый.</summary>
bool TryRemoveRun(int index, out IRun? removed);
/// <summary>Добавляет разрыв строки (перенос внутри ячейки).</summary>
ICell Break();
/// <summary>Добавляет обычный текстовый фрагмент.</summary>
ICell Run(string text, RunFormat? format = null);
/// <summary>Добавляет фрагмент с последующим разрывом строки.</summary>
ICell RunBreak(string text, RunFormat? format = null);
/// <summary>Добавляет подстрочный фрагмент (эквивалентно AddRun с Vertical = Subscript).</summary>
ICell Sub(string text, RunFormat? format = null);
/// <summary>Добавляет надстрочный фрагмент.</summary>
ICell Sup(string text, RunFormat? format = null);
/// <summary>Вставляет фрагмент по индексу.</summary>
bool TryInsertRun(int index, string text, RunFormat? format = null);
/// <summary>Вставляет фрагмент с последующим разрывом строки по индексу.</summary>
bool TryInsertRunBreak(int index, string text, RunFormat? format = null);
/// <summary>Вставляет подстрочный фрагмент по индексу.</summary>
bool TryInsertSub(int index, string text, RunFormat? format = null);
/// <summary>Вставляет надстрочный фрагмент по индексу.</summary>
bool TryInsertSup(int index, string text, RunFormat? format = null);
/// <summary>Применяет заданный формат ко всем существующим фрагментам (поверх их текущего форматирования, заменяя неуказанные свойства).</summary>
void ApplyFormatToAllRuns(RunFormat format);
/// <summary>Проверяет, входит ли ячейка в объединённый диапазон.</summary>
bool IsMerged { get; }
@@ -699,15 +762,6 @@ public interface ICell
/// <summary>Устанавливает шрифт ячейки.</summary>
ICell Set(CellFont format);
/// <summary>Устанавливает богатый текст (форматированный) с помощью делегата.</summary>
ICell Text(Action<ICellText> value);
/// <summary>Возвращает объект для редактирования богатого текста ячейки (если ячейка содержит InlineString).</summary>
bool TryText(out ICellText cellText);
/// <summary>Возвращает объект для редактирования богатого текста ячейки (если ячейка содержит InlineString).</summary>
ICellText Text();
/// <summary>Устанавливает простое текстовое значение (без форматирования).</summary>
ICell Set(string value);
@@ -742,76 +796,6 @@ public interface ICell
void Clear();
}
/// <summary>Представляет богатый текст внутри ячейки (несколько форматированных фрагментов).</summary>
public interface ICellText
{
/// <summary>Количество фрагментов (Run) в тексте.</summary>
int Count { get; }
/// <summary>Возвращает все фрагменты.</summary>
IEnumerable<IRun> GetRuns();
/// <summary>Возвращает фрагмент по индексу или null.</summary>
IRun? GetRunAt(int index);
/// <summary>Пытается получить фрагмент по индексу.</summary>
bool TryGetRunAt(int index, out IRun run);
/// <summary>Первый фрагмент или null.</summary>
IRun? First();
/// <summary>Пытается получить первый фрагмент.</summary>
bool TryGetFirst(out IRun run);
/// <summary>Последний фрагмент или null.</summary>
IRun? Last();
/// <summary>Пытается получить последний фрагмент.</summary>
bool TryGetLast(out IRun run);
/// <summary>Пытается удалить фрагмент.</summary>
bool TryRemoveRun(IRun run);
/// <summary>Удаляет фрагмент по индексу.</summary>
bool TryRemoveRun(int index);
/// <summary>Удаляет фрагмент по индексу и возвращает удалённый.</summary>
bool TryRemoveRun(int index, out IRun? removed);
/// <summary>Добавляет разрыв строки (перенос внутри ячейки).</summary>
ICellText Break();
/// <summary>Добавляет обычный текстовый фрагмент.</summary>
ICellText Run(string text, RunFormat? format = null);
/// <summary>Добавляет фрагмент с последующим разрывом строки.</summary>
ICellText RunBreak(string text, RunFormat? format = null);
/// <summary>Добавляет подстрочный фрагмент (эквивалентно AddRun с Vertical = Subscript).</summary>
ICellText Sub(string text, RunFormat? format = null);
/// <summary>Добавляет надстрочный фрагмент.</summary>
ICellText Sup(string text, RunFormat? format = null);
/// <summary>Вставляет фрагмент по индексу.</summary>
bool TryInsertRun(int index, string text, RunFormat? format = null);
/// <summary>Вставляет фрагмент с последующим разрывом строки по индексу.</summary>
bool TryInsertRunBreak(int index, string text, RunFormat? format = null);
/// <summary>Вставляет подстрочный фрагмент по индексу.</summary>
bool TryInsertSub(int index, string text, RunFormat? format = null);
/// <summary>Вставляет надстрочный фрагмент по индексу.</summary>
bool TryInsertSup(int index, string text, RunFormat? format = null);
/// <summary>Применяет заданный формат ко всем существующим фрагментам (поверх их текущего форматирования, заменяя неуказанные свойства).</summary>
void ApplyFormatToAllRuns(RunFormat format);
/// <summary>Удаляет все фрагменты, очищая текст ячейки.</summary>
void Clear();
}
/// <summary>Представляет один форматированный фрагмент текста внутри ячейки.</summary>
public interface IRun
{