Интерфейс конструктора
Форма редактора выражений в режиме конструктора показана на Рис. 2.1.
Рис. 2.1 Форма редактора выражений
Форма состоит из четырех разделов:
Управляющая панель (в верхней части формы).
Панель атрибутов сущности (левая часть формы).
Панель инструментов (часть формы между панелью атрибутов и панелью выражения).
Панель выражения или редактирования выражения (правая часть формы).
Между панелями атрибутов, инструментов и выражения расположены сплиттеры, которые позволяют настраивать размеры областей друг относительно друга.
Содержимое управляющей панели описано в Табл. 2.4. Функции конструктора, не представленные на панели инструментов, описаны в Табл. 2.5.
Табл. 2.4 Кнопки управляющей панели
Режим конструктора | Включение режима конструктора выражений. Включение кнопки автоматически отключает кнопку режима XML-редактора. | |
Режим XML-редактора | Переход в режим XML-редактора. Включение кнопки автоматически отключает кнопку режима конструктора. С помощью этого режима также можно просмотреть XML-код выражения, созданного с помощью конструктора. | |
Отменить действие | Отменить последнее изменение в выражении. Также для вызова данной функции можно применить сочетание клавиш [Ctrl+Z]. | |
Вернуть действие | Вернуть последнее отмененное изменение. | |
Отображать ошибки | Включает/отключает режим отображения ошибок (по умолчанию включен), когда ошибочные конструкции выделяются красной рамкой. Ситуация, когда режим проверки может быть отключен, описана в п. 2.8. | |
Упорядочить параметры | Функция предназначена для управления порядком элементов в списке пользовательских параметров (см. п. 2.7). |
Табл. 2.5 Функции конструктора, не представленные на управляющей панели
Пункт контекстного меню | Клавиша | Описание |
- |
Одинарный клик мышью | Выделение элемента выражения, на область которого наведен указатель мыши. Клик на заголовке логического оператора вызывает выделение всей конструкции, связанной с этим оператором. |
- | Двойной клик мышью | Редактирование элемента выражения, на область которого наведен указатель мыши. |
Удалить | [Delete] | Удаление выделенного элемента выражения. |
Копировать | [Ctrl+C] | Копирование в буфер обмена содержимого выделенного элемента выражения. |
Вставить | [Ctrl+V] | Вставка на место выделенного элемента выражения содержимого буфера обмена. |
В нижней части панели атрибутов располагается ярлык с отображением наименования сущности, с которой в данный момент работает конструктор (текущей сущности). Панель содержит список атрибутов указанной сущности (см. п.3 настоящего руководства) и служит для поиска нужных атрибутов и включения их в выражение.
Панель инструментов (средняя часть формы между панелью атрибутов и панелью условий) содержит кнопки, соответствующие различным элементам условия (виды операндов, операторы, функции). Кнопки панели инструментов описаны в таблицах, соответствующих видам элементов выражений:
Табл. 2.1 Виды операндов выражений,
Табл. 2.2 Операторы, используемые в выражениях,
Табл. 2.3 Функции, используемые в выражениях.
Кнопки двойных стрелок, появляющиеся в верхней и нижней части панели инструментов, служат для пролистывания панели инструментов, если она не помещается целиком в области формы. Двойной щелчок мышью на правом сплиттере автоматически устанавливает такой размер панели инструментов, чтобы на нем помещались все кнопки.
Панель выражения служит для отображения и редактирования выражения. Способ отображения и приемы работы с выражением описаны в п. 0. Начать создание выражения можно перетаскиванием элемента панели атрибутов или любого элемента панели инструментов конструктора.
Последовательность добавления элементов на панель редактирования выражений не имеет значения, т.к. добавленное условие в любой момент времени может быть отредактировано (изменены как операнды, так и операторы выражения).
В подпунктах настоящего раздела подробно описаны способ представления выражения и приемы работы с элементами логических выражений (п.2.2.2). Далее описана работа с основными видами элементов: атрибут сущности (п. 2.3.1), константное значение (п. 2.3.2), параметр (пп. 2.3.3 и 2.3.4), скобки (п. 2.3.7), оператор (п. 2.3.5) и функция (п. 2.3.6).
Особенности применения некоторых операторов и функций описаны в соответствующих разделах:
п. 2.4 Применение отдельных операторов,
п. 2.5 Применение функций,
п. 2.6 Применение функций для работы с объектами.
Графическое представление выражения
Операция может быть представлена двумя способами:
«объемное» представление логической операции, т.е. использующей логический оператор «И»/«ИЛИ» (см. Рис. 2.2),
универсальное представление операции (см. Рис. 2.3).
Рис. 2.2 Представление логического выражения «И»/«ИЛИ»
Рис. 2.3 Универсальное представление выражения
Область операнда в свою очередь также может содержать выражение, представленное любым из вышеупомянутых видов, а также функцию. Т.е. описанные выше блоки могут быть вложенными друг в друга. Двойной клик мышью на пиктограмме логического оператора «И»/«ИЛИ» сворачивает конструкцию следующим образом:
Это может быть полезным при редактировании больших выражений сложной структуры.
Функция на панели редактирования может быть представлена одним из двух способов, представленных на Рис. 2.4, Рис. 2.5. В качестве аргумента функции может выступать другая функция или операция, возвращающая значение требуемого типа.
Для редактирования выражения, содержащего функцию, используются те же методы, что и в операциях: контекстное меню, двойной клик на аргументе функции, перетаскивание.
Рис. 2.4 Блок функции (1 вариант)
Рис. 2.5 Блок функции (2 вариант)
Любой элемент выражения может быть выделен для произведения над ним какого-либо действия (например, для перемещения, удаления):
noteщелчок мыши на обозначении (наименовании) операнда или оператора вызывает выделение этого операнда/оператора;
щелчок мыши на обозначении (наименовании) операнда или оператора вызывает выделение этого операнда/оператора;
Выделенный элемент обозначается синей пунктирной рамкой, как это показано на Рис. 2.6. Над выделенным элементом могут быть произведены действия – удаление, копирование, вставка (см. Табл. 2.5). Выделенный элемент также может перетаскиваться с помощью мыши в другие области условия. Если при этом удерживать нажатой клавишу [Ctrl] выбранный объект не перемещается, а копируется.
Некорректный элемент выражения (операция/функция с отсутствующим операндом/аргументом, с несовместимыми типами операндов, некорректный тип операнда/аргумента и т.д.) выделяется красной рамкой (см. Рис. 2.7).
Рис. 2.6 Фрагменты панели редактирования выражений
с выделенными элементами различных видов
Рис. 2.7 Пример выделения некорректных элементов выражения
Символ вопросительного знака «?» отображается на месте операнда/оператора/аргумента функции, если они не определены. Соответствующая область элемента выражения автоматически выделяется как некорректная и пользователю следует заполнить ее правильным значением. До тех пор, пока выражение содержит некорректные элементы, невозможно его применение и просмотр в виде XML-кода.
Все условные обозначения, применяемые на панели редактирования условия, представлены и описаны в Табл. 2.6.
Табл. 2.6 Условные обозначения элементов выражения
| Заголовок конструкции, содержащей один из логических операторов «И» или «ИЛИ». |
? | Пустой оператор или операнд. Сигнализирует о том, что данная область должна быть заполнена конкретным значением (оператором или операндом). |
| Обозначение области элемента выражения (операции или операнда, функции или аргумента функции), щелчок на пиктограмме выделяет эту область. |
| Жирным шрифтом черного цвета выделяется заголовок (наименование) сущности или атрибута сущности, а также строка-приглашение к указанию сущности или атрибута. |
Синим цветом текста выделяется константное значение любого типа, константное значение «Пусто» заключается в угловые скобки. | |
Черным шрифтом отображается заголовок параметра или функции. Клик на заголовке функции выделяет область этой функции. | |
| Блок функции. Некоторые функции, имеющие сложную структуру, отображаются в выделенном блоке. Кнопка в правом верхнем углу блока функции позволяет свернуть блок для более компактного отображения, при этом будет видна только первая строка блока функции. Кнопка восстанавливает исходный размер блока. |
| Рамка выделения элемента выражения (оператора, операнда или выражения) |
| Рамка выделения некорректного элемента выражения |