Avstämning av radio- och kryssruteutseendelägen

Att skriva ett knappfältvärde stämmer nu av varje widgets /AS-tillstånd med markeringen, och tillplattning stämmer av igen före generering av utseenden, så att ett föråldrat /AS Off aldrig kan vinna över ett uppdaterat /V

Värde-skrivningar

SetFormFieldValue och SetLoadedFormFieldValueByName går igenom fältet (och dess /Kids) och väljer, i varje widgets /AP /N-tillståndsordlista, det tillstånd vars namn är lika med det ärvda /V; varje annan widget faller tillbaka till Off. Radio-barn som saknar /V löser upp markeringen genom sin föräldrakedja

Tillplattning

FlattenLoadedFormFields stämmer av varje mål före utseendegenerering, så att importerade värden (FDF, XFDF) tillplattas till rätt bock- eller radioläge även när dokumentet senast sparades med en annan markering

Stabilitet vid återgenerering

EnsureLoadedFieldAppearanceStream bevarar det befintliga på-tillståndets namn i en tillståndsordlista när knapputseenden återgenereras, så att ett radio-exportvärde aldrig byts namn till ett generiskt Yes, och radio-barn utan tillståndsordlista härleder sitt på-tillståndsnamn från sitt eget /T