Нативные переопределения свойств UI XFA
Модули: HPDFXFA, HPDFXFARuntime и HPDFXFAEventScript
Создание и группы выбора
Поддерживаемые UI-узлы полей и draw открывают extras и picture плюс взаимоисключающий выбор виджета: barcode, button, checkButton, choiceList, dateTimeEdit, defaultUi, imageEdit, numericEdit, passwordEdit, signature или textEdit
Каждый ребёнок имеет кардинальность один; getElement и прямой доступ к свойствам материализуют поддерживаемые отсутствующие свойства под фактическим вхождением формы, разделяя нативные бюджеты создания и rollback транзакций
const row = xfa.form.resolveNode("main.row[1]");
row.input.ui.textEdit.multiLine = "1";
row.input.ui.textEdit.hScrollPolicy = "off";
row.password.ui.passwordEdit.hScrollPolicy = "off";
row.selection.ui.choiceList.open = "multiSelect";
row.selection.ui.choiceList.commitOn = "select";
Создание конфликтующего выбора виджета проваливает транзакцию события; extras и picture остаются метаданными и пропускаются при выборе эффективного виджета UI
Дефолты и поддерживаемые дочерние пути
UI, passwordEdit, choiceList и checkButton открывают общие атрибуты схемы id, use и usehref
PasswordEdit по умолчанию имеет hScrollPolicy=auto и passwordChar=*; choiceList — open=userControl, textEntry=0 и commitOn=select
PasswordEdit, choiceList и checkButton поддерживают детей border, extras и margin; textEdit сохраняет свои пути border, comb, extras и margin и существующие контекстные дефолты
CheckButton по умолчанию имеет size=10pt, shape=square, mark=default и allowNeutral=0; автоматическое создание нативных Boolean потребляет эффективные свойства маркера, границы и скалярной подписи на уровне экземпляров
setAttribute(value, name) остаётся доступным для явных дополнительных атрибутов; дальнейшие дефолты классов виджетов и дочерние схемы продолжаются как отдельные цели
Фактические потребители рантайма и уплощения
Рантайм перестраивает типы виджетов из эффективного UI для каждого повторяющегося вхождения после успешных событий; созданные узлы textEdit, passwordEdit и choiceList становятся настоящими элементами управления text, password и list или combo
Уплощение полей использует тот же эффективный выбор UI, включая нативный UI только формы или выбор виджета, добавленный в пустой или содержащий только метаданные шаблонный UI
Атрибуты UI питают фактические флаги PDF-полей, включая многострочный и непрокручиваемый текст, маскировку паролей, multi-select и фиксацию при выборе; объявленные варианты элементов и текущие связанные значения остаются соединёнными
Другие повторяющиеся экземпляры сохраняют прежний UI и значения; перезагрузка сохранённого XDP и последующие события продолжают разрешать созданные нативные узлы свойств UI
Сохраняемые текстовые appearance
Когда AutoFormAppearances включён, текстовые appearance XFA учитывают явные разрывы LF, CR и CRLF и размещают каждую строку отдельно
Для поддерживаемого однобайтового текста перенос по словам измеряет эффективное стандартное семейство и размер шрифта; слово шире элемента управления разбивается на измеренные вписывающиеся префиксы с сохранением всех символов текста в сгенерированном appearance
Каждая выпущенная строка потребляет своё эффективное выравнивание left, center или right и существующий нативный прямоугольник обрезки
Покрытие
Создание по схеме само по себе не добавляет отсутствующих потребителей для каждого выбора виджета; специализированное поведение image, barcode и виджета по умолчанию, собственные символы паролей, более богатый текст виджетов, встраивание Unicode и создание дополнительных дочерних значений остаются активными целями
Инициализация дефолта шаблона для отсутствующего неявного значения dataset и общее наследование прототипа также остаются отдельной работой
Справка и связанные API
Грамматика UI и дефолты следуют спецификации XFA 3.3
Создание нативных отсутствующих свойств, Нативный Property DOM и Интерактивный XFA Runtime