Typbeskrivning


Typbeskrivningar ligger liksom klassbeskrivningar i en klassvolym. De är placerade i en egen
hierarki under ett $TypeHier objekt. Typer är uppdelade i två kategorier, bastyper och
härledda typer.

Bastyper

Bastyperna ligger definierade i systemvolymen pwrs. Exempel på bastyper är Boolean, Float32
Int32, String, Enum och Mask.

Härledda typer

Härledda typer kan definieras i vilken klassvolym som helst. De utgörs av
- vektorer av bastyper, t ex String80.
- uppräkningstyper, Enum, med definerade texter för olika värden.
- bitmasker, Mask, med definerade texter för olika bitar.

$TypeHier
Typbeskrivningar ligger under rotobjektet 'Type' av klassen $TypeHier. $TypeHier objektet har
$Type och $TypeDef objekt som barn.

$Type
Beskrivning av en bastyp. Detta objekt är reserverat för systemvolymen pwrs.

$TypeDef
Beskrivning av en härledd typ. Attributet 'TypeRef' innehåller bastypen. Den vanligaste
användningen är strängar och texter med specifika längder, och uppräkningstyper och bitmaskar.

För en uppräkningstyp ska bastypen vara $Enum. Under $TypeDef objektet definerar man texter
för olika värden med $Value objekt. När ett värdet av attribut av typen ska visas, visas den
text som motsvara aktuellt värde. När attributet ska datasättas visas de olika de olika
texterna med checkboxar och man väljer ut ett alternativ.

För bitmaskar används bastypen $Mask. Under $TypeDef objektet defineras texter för olika
bitar med $Bit objekt. Vid datasättning väljer man liksom för uppräkningstyper, alternativ
med checkboxar. För bitmaskar kan man välja flera alternativ.

$Value
Används för att definiera ett värde i en uppräkningstyp. Värdet kopplas till ett text som
visas i konfiguratören och xtt när ett attribut av typen öppnas. I include-filen för volymen
skapas en enum deklaration som kan användas i eventuell c-kod.

$Bit
Används för att definiera en bit i en bitmask. Biten kopplas till ett text som visas i
konfiguratören och xtt när ett attribut av typen öppnas. I include-filen för volymen skapas
en enum deklaration som kan användas i eventuell c-kod.