네이티브 XFA UI 프로퍼티 재정의
유닛: HPDFXFA, HPDFXFARuntime, HPDFXFAEventScript
생성과 선택 그룹
지원되는 field와 draw UI 노드는 extras와 picture에 더해 상호 배타적 위젯 선택, 즉 barcode, button, checkButton, choiceList, dateTimeEdit, defaultUi, imageEdit, numericEdit, passwordEdit, signature, textEdit을 노출합니다
각 자식은 카디널리티 1입니다. getElement와 직접 프로퍼티 접근은 실제 폼 occurrence 아래 지원되는 부재 프로퍼티를 실체화하며, 네이티브 생성 예산과 트랜잭션 롤백을 공유합니다
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 생성은 유효한 인스턴스별 마커, border, 스칼라 캡션 프로퍼티를 소비합니다
명시적 추가 속성에는 setAttribute(value, name)를 계속 쓸 수 있습니다. 더 많은 위젯 클래스 기본값과 자식 스키마는 별도 과제로 계속됩니다
실제 런타임과 플래트닝 소비자
런타임은 성공한 이벤트 뒤 반복 occurrence마다 유효 UI로 위젯 종류를 다시 만듭니다. 생성된 textEdit, passwordEdit, choiceList 노드는 실제 텍스트, password, list·combo 컨트롤이 됩니다
field 플래트닝은 같은 유효 UI 선택을 씁니다. 네이티브 폼 전용 UI나 빈 또는 메타데이터뿐인 템플릿 UI에 추가된 위젯 선택도 포함입니다
UI 속성은 실제 PDF field 플래그, 즉 여러 줄·스크롤 없는 텍스트, password 가림, 다중 선택, 선택 시 커밋을 먹입니다. 선언된 item 옵션과 현재 바인딩 값은 계속 연결되어 있습니다
다른 반복 인스턴스는 이전 UI와 값을 유지합니다. 저장된 XDP 다시 읽기와 이후 이벤트도 생성된 네이티브 UI 프로퍼티 노드를 계속 해석합니다
저장된 텍스트 appearance
AutoFormAppearances가 켜지면 XFA 여러 줄 텍스트 appearance는 명시적 LF, CR, CRLF 나눔을 존중하고 각 행을 따로 배치합니다
지원되는 싱글바이트 텍스트는 단어 줄바꿈이 유효한 표준 폰트 패밀리와 크기를 측정합니다. 컨트롤보다 넓은 단어는 측정된 맞는 접두어들로 쪼개져 생성 appearance에 모든 텍스트 문자를 유지합니다
내보낸 행마다 유효한 left, center, right 정렬과 기존 네이티브 클리핑 사각형을 소비합니다
적용 범위
스키마 생성만으로 모든 위젯 선택의 없는 소비자가 더해지지는 않습니다. 전문 image, barcode, 기본 위젯 동작, 사용자 정의 password 문자, 더 풍부한 위젯 텍스트, Unicode 임베딩, 추가 값 자식 생성은 진행 중 과제로 남습니다
없는 암시 dataset 값의 템플릿 기본값 초기화와 일반 프로토타입 상속도 별도 작업으로 남습니다
참고 자료와 관련 API
UI 문법과 기본값은 XFA 3.3 사양을 따릅니다