namespace QWERTYkez.WordProcessor; /// /// Определяет тип разрыва или смены ориентации страницы, /// применяемый к элементу замены. /// public enum PageBreakType { /// Без разрыва или смены ориентации. None, /// Обычный разрыв страницы (новый лист). PageBreak, /// Начать новую секцию с альбомной ориентацией страницы. NewLandscapeSection, /// Начать новую секцию с книжной ориентацией страницы. NewPortraitSection, } /// /// Представляет элемент замены текста, содержащий сам текст и указание /// на тип разрыва или смены ориентации, который должен быть применён /// после вставки этого текста. /// /// /// Используется в методах множественной замены, например, /// . /// public readonly struct ReplaceItem { /// /// Инициализирует новый экземпляр с пустым текстом /// и типом разрыва . /// public ReplaceItem() { } /// /// Инициализирует новый экземпляр с указанным текстом /// и типом разрыва/смены ориентации. /// /// Текст, который будет вставлен вместо плейсхолдера. /// /// Тип разрыва или смены ориентации, который будет применён после вставки текста. /// По умолчанию . /// public ReplaceItem(string text, PageBreakType splitValue = PageBreakType.None) { Text = text; SplitValue = splitValue; } /// /// Получает текст, который будет вставлен вместо плейсхолдера. /// public string Text { get; init; } = string.Empty; /// /// Получает тип разрыва или смены ориентации, который будет применён /// после вставки текста. /// public PageBreakType SplitValue { get; init; } = PageBreakType.None; /// /// Определяет явное преобразование из строки в . /// /// Строка текста. /// Новый экземпляр с указанным текстом и . public static explicit operator ReplaceItem(string text) => new() { Text = text }; }