Визуальная модель типа Query, в качестве обязательного условия, должна содержать хотя бы один Атом в своем составе - объект Атом-В-Запросе. В процессе включения в массив (список) ссылки на какой-либо Атом, значения некоторых из его статических свойств автоматически копируются в новую запись объекта Атома-В-Запросе и могут быть перезаписаны при необходимости. Однако, другая часть свойств Атома-В-Запросе инициализируется из объекта Атом напрямую и их значения не могут быть переопределены в дальнейшем.

На следующем рисунке представлен снимок редактора Атома-В-Запросе с примером заполнения свойств элемента code:

QueryAtom

Свойства объекта Атом-В-Запросе

Свойство Описание

Порядковый номер

(SeqNo)

Порядковый номер атома в списке. Автоматически меняется при перетаскивании мышью или в результате перенумерации

Элемент

(Atom)

Ссылка на объект типа Атом

Алиас таблицы

(TableAlias)

Алиас таблицы, к которой относится данный Атом. Список задействованных таблиц с указанием их алиасов должен быть определен в модели Query - владельце данного атома. При указании алиаса программное имя атома автоматически меняется на <alias>_<atomname>

Флаги

(Flags)

Строка-маска, определяющая варианты поведения атома. Описание флагов и их значение приводится здесь

Заголовок таблицы

(Header)

Заголовок, который будет отображаться в табличном представлении модели. Для получения многострочного заголовка служит символ ";" (точка с запятой) - аналог пары CR+LF

Заголовок формы

(Label)

Подсказка, которая будет отображаться слева от атома в представлении модели в виде формы

Подсказка

(Prompt)

Текстовая строка, которая отображается в виде всплывающей подсказки (ToolTip), а также выводится в строке состояния

Расшифровка

(MoreInfo)

(exp) Выражение, результат которого отображается справа от значения атома в форме. При включенном флаге AB_DESCASLINK становится гиперссылкой, при клике на которую, контроллер получает соответствующее событие

Начальное значение

(Initial)

Начальное значение атома в момент добавления новой строки в таблицу. Если значение начинается с символа "=", то далее следует выражение, иначе - значение присваивается литерально (как есть)

Регистр

(CharCase)

Регистр символов: UPPER, lower, Any

Выравнивание

(Alignment)

Горизонтальное выравнивание значения атома: Left (влево). Right (вправо), Center (по центру), Justify (по краям)

Стиль редактирования

(Style)

Определяет способ, с помощью которого выполняется редактирование атома.

Кол-во строк

(Lines)

Количество строк (в символах), отводимое для управляющего элемента на экранной форме. Имеет смысл если атом - символьная строка

Параметры

(Parameters)

Дополнительные параметры атома в формате ключ=значение;... Описание возможных параметров приведено ниже.

Защита

(Protect)

(exp) Выражение, результат вычисления которого интерпретируется следующим образом: 0 - нет ограничений, 1 - редактирование с помощью клавиатуры запрещено, 2 - иконка функциональной кнопки (при ее наличии) не доступна, 3 - редактирование запрещено полностью

Правило проверки

(Validation)

(exp) Выражение, возвращающее логическое значение true/false. В последнем случае на экране появляется соответствующее сообщения, текст которого берется из следующего атома

Сообщение

(InvalidMessage)

Текстовая строка, отображаемая при недопустимости введенного значения атома

Цвет текста

(Color)

(exp) Выражение, результат которого представляет собой значение цвета, числовое или символьное. В качестве символьных названий цвета могут быть следующие: red, green, blue, yellow и др.

Цвет фона

(BgrColor)

(exp) Выражение, результат которого представляет собой значение цвета, числовое или символьное. В качестве символьных названий цвета могут быть следующие: red, green, blue, yellow и др.

Зависимости

(Dependences)

Перечень программных имен этомов через запятую, влияющих на автоматическое вычисление значения текущего атома

Формула

(Formula)

(exp) Выражение, результат которого присваивается атому, при изменении одного из атомов в списке Зависимости

Программное имя

message-2-32Программное имя атома - это имя, на которое можно ссылаться при обращении к его значению в программном коде и выражениях. Единственная ситуация, при которой программное имя атома не совпадает с его кодом - это наличие алиаса таблицы в описании атома, отличное от имени (алиаса) главной таблицы модели Query. В таком случае программное имя формируется согласно следующему правилу: <alias>_<atomname>. Например, для атома name с алиасом grp программное имя будет grp_name.

 

Стили редактирования

edit-property-32Способ редактирования текущего значения атома определяеься его свойством Стиль. Возможные стили редактирования описаны в следующей таблице:

Стиль Тип данных Описание Иконка
Calculator  number Предоставляет возможность ввода значения с помощью выпадающего окна Калькулятор  
Calendar  date, datetime Предоставляет возможность ввода значения с помощью выпадающего окна Калкедарь  
CheckBox  (any) Редактирование значения выполняется с помощью управляющего элемента CheckBox с поддержкой трех уникальных состояний: On, Off, Other, значения которых содержатся в поле Парамтеры  
DisplayAsPicture  string Отобразить как рисунок, если атом содержит имя или путь до графического файла в формате  GIF, JPG, PNG. В качестве имен могут быть использованы имена встроенных иконок (~4000 шт.)  
DropDownDW  (any) Выпадающий элемент DataWindow. Редко используется на практике, ввиду отсутствия возможности его самостоятельного проектирования без наличия лицензии на IDE языка PowerBuilder  
DropDownListBox  (any) Выпадающий список в стиле ComboBox. Варианты выбора должны быть описаны в поле Параметры  
Edit  (any) Стандартный элемент редактирования  
EditMask  (any) Элемент редактирования с поддержкой маски ввода значения  
MultiLineEdit  string Многострочный редактор. Необходимое количество символьных строк указывается в поле Кол-во строк (Lines)  
RadioButtons  (any) Радио кнопки. Значение присваивается путем выбора одного из предоставленных вариантов. Сами варианты описываются в поле Параметры  
UserEvent  (any) Событие. Контроллеру модели отсылается событие, имя которого введено в параметр редактирования. Логика присвоения значения содержится в коде события класса-контроллера.  
ViewModel  (any) Визуальная модель. Редактирование значения выполняется путем открытия модели, спецификация которой содержится в поле Параметры. Спецификация модели имеет следующий формат: [<тип_модели>://]<имя_класса_контроллера|*>.<имя_модели>[?<параметры>]. Спецификацию модели указывать не обязательно, если в описании главной таблицы (источника) модели заполнено поле DropDownAction  

Параметры стиля редактирования

details-large-view-32Свойство атома Параметры предназначено для указания дополнительной информации, которая будет использована при создании и инициализации соответствующего управляющего элемента  Формат описания параметров определяется в виде пар <ключ>=<значение>, разделенных символом ";" (точка с запятой).

 Параметр  Стиль атома  Описание
AllowEdit DropDownListBox Включает/отключает возможность редактирования значения, выбранного из списка
CodeTable

DropDownListBox, Edit, RadioButtons

Кодовая таблица в формате: <DisplayValue1>^<Data1>|<DisplayValue2>^<Data2>|... Еще один формат, который может быть использован: @КодОбъекта Перечисления
Columns RadioButtons Количество колонок, используемых для отображения вариантов элемента. По умолчанию 1 (варианты располагаются вертикально)
DDCalendar EditMask Логическое значение true/false, определющий возможность редактирования значения с помощью всплавющего элемента Календарь
EnumTable

DropDownListBox, Edit, RadioButtons

Содержит код объекта  Перечисление.
Format
все Формат отображения, переопределяющий одноименное свойство атома
Mask
EditMask Маска ввода символов, переопределяющая одноименное свойство атома
 MinMax  EditMask Допустимые границы вводимого значения в формате: <MinVal>~~<MaxVal>
 OFF CheckBox Значение для состояния Выключено. По умолчанию 0
 ON CheckBox Значение для состояние Включено. По умолчанию 1
 OTHER CheckBox Значения для третьего состояния (не обязательно)
Password Edit true/false. Режим ввода пароля
 Sorted DropDownListBox true/false. Сортировать значения списка в алфавитном порядке
 Width  все Ширина элемента в пикселях