Riconciliazione dello Stato di Aspetto di Pulsanti di scelta e Caselle

La scrittura di un valore di campo pulsante ora riconcilia lo stato /AS di ogni widget con la selezione e l'appiattimento riconcilia di nuovo prima di generare gli aspetti, così che uno /AS Off obsoleto non possa mai vincere su un /V aggiornato

Scrittura dei valori

SetFormFieldValue e SetLoadedFormFieldValueByName percorrono il campo (e i suoi /Kids) e selezionano, nel dizionario di stato /AP /N di ogni widget, lo stato il cui nome è uguale al /V ereditato; ogni altro widget torna a Off. I figli dei pulsanti di scelta che non hanno un /V risolvono la selezione tramite la loro catena genitore

Appiattimento

FlattenLoadedFormFields riconcilia ogni obiettivo prima della generazione dell'aspetto, così che i valori importati (FDF, XFDF) si appiattiscano sullo stato di casella o pulsante di scelta corretto anche quando il documento è stato salvato per ultimo con una selezione diversa

Stabilità della rigenerazione

EnsureLoadedFieldAppearanceStream preserva il nome dello stato attivo esistente di un dizionario di stato quando rigenera gli aspetti dei pulsanti, così che un valore di esportazione di un pulsante di scelta non venga mai rinominato in un generico Yes e i figli dei pulsanti di scelta senza dizionario di stato derivino il loro nome di stato attivo dal proprio /T