Режимы вставки и удаления
Поведение статической части при вставке и удалении строк и столбцов, а также вставке данных из буфера обмена, довольно сложно, а понятие "правильного" поведения весьма неоднозначно. Для обеспечения большей гибкости и с целью возможности настройки при решении различных задач в соответствии с ожиданиями конкретного разработчика сделан диалог "Режимы вставки и удаления". В этом диалоге задаются режимы, используемые редактором табличной формы. Эти настройки сохраняются в конфигурационном файле. При программной вставке и удалении (вне редактора) строк и столбцов используются переменные внутреннего языка, задающие соответствующие режимы.
Для вызова диалога режимов нажмите клавиши Alt+M, кнопку на панели инструментов редактора табличной формы или выберите пункт меню Форма/Режимы...:
Режимы образуют четыре группы, которым соответствуют закладки в диалоге: "Строки", "Столбцы", "Буфер обмена", "Объединения". Рассмотрим подробно режимы для каждой группы.
-
Строки
-
Вставка
- Копировать атрибуты строки – устанавливать для новой строки высоту и другие атрибуты как у строки курсора.
- Копировать атрибуты ячеек – устанавливать атрибуты ячеек новой строки как у ячеек строки курсора. Этим признаком управляется также копирование типа данных ячейки и атрибутов данных. Также копируются декорационные элементы. Т.к. количество ячеек в новой строке совпадает с количеством ячеек в строке курсора, то на момент добавления соответствие между ячейками даже в нерегулярном разделе однозначное.
- Копировать тип ячеек – устанавливать тип ячеек новой строки как у ячеек строки курсора.
- Копировать значение ячеек – устанавливать значения ячеек новой строки как у ячеек строки курсора.
-
Горизонтальные границы – способ деления горизонтальных границ, которые вставляемая строка как бы "расщепляет":
- Удалять – общие границы строк, между которыми происходит вставка, исчезают. Никаких новых границ не создается.
- Копировать – общие границы строк, между которыми происходит вставка, дублируются для верхней и новой строки, а также для новой и нижней строки.
- Смещать вверх – общие границы строк, между которыми происходит вставка, трансформируются в общие границы верхней и новой строки.
- Смещать вниз – общие границы строк, между которыми происходит вставка, трансформируются в общие границы новой и нижней строки.
-
Вертикальные границы – определяет какими будут вертикальные границы между ячейками новой строки:
- Не копируются – вертикальные границы для новой строки не создаются.
- Копируются сверху – вертикальные границы для новой строки копируются из предыдущей (верхней) строки.
- Копируются снизу – вертикальные границы для новой строки копируются из следующей (нижней) строки.
-
Удаление
-
Горизонтальные границы – при удалении строки есть ее общие границы с верхней строкой и с нижней строкой. Режим определяет, какой будет общая граница верхней и нижней строки после удаления строки между ними.
- Удалять обе – границы верхней строки с удаляемой и удаляемой строки с нижней исчезают. Никаких новых границ не создается.
- Оставлять верхнюю – граница между верхней строкой и удаляемой трансформируется в границу между верхней и нижней строками, а граница между удаляемой и нижней строками исчезает.
- Оставлять нижнюю – граница между удаляемой строкой и нижней трансформируется в границу между верхней и нижней строками, а граница между верхней и удаляемой строками исчезает.
-
Горизонтальные границы – при удалении строки есть ее общие границы с верхней строкой и с нижней строкой. Режим определяет, какой будет общая граница верхней и нижней строки после удаления строки между ними.
-
Вставка
-
Столбцы
-
Вставка
- Копировать атрибуты столбца – устанавливать для нового столбца ширину и другие атрибуты как у столбца курсора.
- Копировать атрибуты ячеек – устанавливать атрибуты ячеек нового столбца как у ячеек столбца курсора. Этим признаком управляется также копирование типа данных ячейки и атрибутов данных. Также копируются декорационные элементы.
- Копировать тип ячеек – устанавливать тип ячеек для нового столбца как у ячеек столбца курсора.
- Копировать значения ячеек – устанавливать значения ячеек нового столбца как у ячеек столбца курсора. Копировать значение возможно только в случае копирования типа ячеек.
-
Горизонтальные границы – определяет какими будут горизонтальные границы между ячейками нового столбца:
- Не копируются – горизонтальные границы для нового столбца не создаются.
- Копируются слева – горизонтальные границы для нового столбца копируются из предыдущего (левого) столбца.
- Копируются справа – горизонтальные границы для нового столбца копируются из следующего (правого) столбца.
-
Вертикальные границы – способ деления вертикальных границ, которые вставляемый столбец как бы "расщепляет":
- Удалять – общие границы столбцов, между которыми происходит вставка, исчезают. Никаких новых границ не создается.
- Копировать – общие границы столбцов, между которыми происходит вставка, дублируются для правого и нового столбца, а также для нового и левого столбца.
- Смещать влево – общие границы столбцов, между которыми происходит вставка, трансформируются в общие границы левого и нового столбца.
- Смещать вправо – общие границы столбцов, между которыми происходит вставка, трансформируются в общие границы нового и правого столбца.
-
Удаление
-
Вертикальные границы – при удалении столбца есть его общие границы с левым столбцом и с правым столбцом. Режим определяет, какой будет общая граница левого и правого столбца после удаления столбца между ними.
- Удалять обе – границы левого столбца с удаляемым и удаляемого столбца с правым исчезают. Никаких новых границ не создается.
- Оставлять левую – граница между левым столбцом и удаляемым трансформируется в границу между левым и правым столбцами, а граница между удаляемым и правым столбцами исчезает.
- Оставлять правую – граница между удаляемым столбцом и правым трансформируется в границу между левым и правым столбцами, а граница между левым и удаляемым столбцами исчезает.
-
Вертикальные границы – при удалении столбца есть его общие границы с левым столбцом и с правым столбцом. Режим определяет, какой будет общая граница левого и правого столбца после удаления столбца между ними.
-
Вставка
-
Буфер обмена
-
Вставка
-
Позиция вставки – определяет способ выбора позиции вставки данных из буфера обмена. Применяется при вставке разделов в диалоге "Разделы табличной формы", а также при вставке блоков строки и регулярных столбцов. В предельном случае, когда список пуст, т.е. позиции курсора нет, вставка заполняет список от начала до конца независимо от выбранного режима.
- Перед курсором – вставка происходит в позицию перед позицией курсора. Данный режим не позволяет вставить данные в конец.
- После курсора – вставка происходит в позицию после позиции курсора. Данный режим не позволяет вставить данные в начало.
-
Идентификаторы – определяет способ разрешения конфликтов строковых идентификаторов строк, столбцов и ячеек между данными формы и вставляемым в нее из буфера обмена блоком данных.
- Приоритет целевой формы – приоритет отдается идентификаторам уже содержащимся в форме. Идентификаторы, не создающие конфликта, переносятся из буфера обмена.
- Приоритет вставляемого блока – приоритет отдается идентификаторам, содержащимся во вставляемом блоке. Идентификаторы в целевой форме, создающие конфликт, удаляются.
- Не копировать – идентификаторы, содержащиеся во вставляемом блоке, не переносятся в целевую форму, даже если не создают никаких конфликтов.
-
Шрифты – определяет способ установки соответствия дополнительных шрифтов целевой формы и вставляемого блока данных. Основной шрифт формы никогда не переносится при вставке.
- Связывать по имени, создавать новые – ставятся в соответствие шрифты с одинаковыми именами в целевой форме и вставляемом блоке. При этом такие шрифты могут иметь различное начертание. Шрифты вставляемого блока, для имен которых не найдено соответствие, создаются в целевой форме.
- Связывать по имени, не создавать новые – ставятся в соответствие шрифты с одинаковыми именами в целевой форме и вставляемом блоке. Шрифты вставляемого блока, для имен которых не найдено соответствие, заменяются в атрибутах ячеек основным шрифтом целевой формы. Т.е. набор шрифтов формы при вставке не изменяется.
- Создавать новые, сохранять начертание – обеспечивает сохранение начертаний шрифтов вставленного блока в целевой форме. Если совпадает имя шрифта и его начертание, то новый шрифт не создается. Если совпадает имя, но не совпадает начертание, то в целевой форме создается новый шрифт с добавленной к имени цифрой (например, "Крупный1", "Крупный2", ...). Если в целевой форме не найдено имя шрифта, то создается шрифт с таким именем и начертанием из вставляемого блока. Этот режим позволяет перенести начертания дополнительных шрифтов в копируемом блоке в том виде, в котором он отображался в исходной форме. Для полного соответствия внешнего вида должны также соответствовать основные шрифты исходной и целевой формы, но это отдается на усмотрение разработчика.
- Все заменять на основной шрифт – обеспечивает замену всех дополнительных шрифтов в атрибутах ячеек вставленного блока на основной шрифт целевой формы. Т.е. дополнительные шрифты вставляемого блока игнорируются.
-
Позиция вставки – определяет способ выбора позиции вставки данных из буфера обмена. Применяется при вставке разделов в диалоге "Разделы табличной формы", а также при вставке блоков строки и регулярных столбцов. В предельном случае, когда список пуст, т.е. позиции курсора нет, вставка заполняет список от начала до конца независимо от выбранного режима.
-
Вставка
-
Объединения
- Копировать атрибуты из левой верхней ячейки – признак копирования атрибутов в создаваемую объединенную ячейку. Этим признаком управляется также копирование типа данных ячейки и атрибутов данных.
- Копировать данные из левой верхней ячейки – признак копирования значения ячейки в создаваемую объединенную ячейку. Это признак также управляет копированием дополнительных значений, связанных с левой верхней ячейкой (начиная с версии 10.2). Копирование основного значения возможно только в случае копирования типа ячейки, т.е. установки признака "Копировать атрибуты из левой верхней ячейки".
- Преобразование границ объединяемых ячеек – включение механизма автоматического преобразование границ периметра объединенной ячейки.
- Создавать с неразрывными строками – определяет начальное значение атрибута неразрывности строк при печати объединенной ячейки.
- Создавать с неразрывными столбцами – определяет начальное значение атрибута неразрывности столбцов при печати объединенной ячейки.