AT Metadata for UI
------------------
The following are suggestions for how metadata could be added to an AT in order to provide a flexible UI that
allows for both lists and views (the latter also being able to function as a form). For enums icons which are
named in the form <label>.png would be optionally able to be displayed. The file format used here is known as
"structured I/O" and comes from the CIYAM project (https://github.com/ciyam/ciyam/blob/master/src/sio.cpp).
<enums/>
<enum/>
<name>playing_card
<options>use_icons
<items/>
<item/>
<value>1
<label>clubs_ace
</item>
<item/>
<value>2
<label>clubs_two
</item>
...
<item/>
<value>17
<label>diamonds_ace
</item>
<item/>
<value>18
<label>diamonds_two
</item>
...
</items>
</enum>
</enums>
<views/>
<view/>
<name>card
<style>normal
<actions>
<options>runtime,no_edit
<view_fields/>
<view_field/>
<label>card
<value>0000007f
<options>enum=playing_card
<variety>byte
</view_field>
<view_field/>
<label>selected
<value>00000080
<options>
<variety>bool
</view_field>
</view_fields>
</view>
</views>
<lists/>
<list/>
<view>card
<style>normal
<actions>shuffle=message:1,select=message:2
<options>runtime
<list_fields/>
<list_field/>
<label>card_1
<extra>selected=00000080
<address>00000000:0000007f
<options>enum=playing_card
<variety>byte
</list_field>
<list_field/>
<label>card_2
<extra>selected=00008000
<address>00000000:00007f00
<options>enum=playing_card
<variety>byte
</list_field>
...
</list_fields>
</list>
</lists>