Réconciliation des états d’apparence des boutons radio et cases à cocher
L’écriture d’une valeur de champ bouton réconcilie désormais l’état /AS de chaque widget avec la sélection, et l’aplatissement recommence avant de générer les apparences, de sorte qu’un /AS Off obsolète ne l’emporte jamais sur une valeur /V mise à jour
Écriture des valeurs
SetFormFieldValue et SetLoadedFormFieldValueByName parcourent le champ et ses /Kids, puis sélectionnent dans le dictionnaire d’états /AP /N de chaque widget l’état dont le nom égale le /V hérité ; tous les autres widgets reviennent à Off. Les enfants radio sans /V résolvent la sélection par leur chaîne de parents
Aplatissement
FlattenLoadedFormFields réconcilie chaque cible avant la génération d’apparence, de sorte que les valeurs importées FDF ou XFDF soient aplaties vers l’état correct de case à cocher ou de bouton radio, même si le document a été enregistré avec une autre sélection
Stabilité de régénération
EnsureLoadedFieldAppearanceStream préserve le nom d’état actif existant d’un dictionnaire d’états lors de la régénération des apparences de bouton, afin qu’une valeur d’export radio ne soit jamais renommée en Yes générique ; les enfants radio sans dictionnaire d’état dérivent leur nom actif de leur propre /T