DialogXML: Make the frame style format parameter a first-class citizen

- It's now exposed in the schema with a new attribute, outline, on all elements that accept framed
- It now has four possible values: solid, outset, inset, double. Dashed or dotted may be added later; they're a lot harder.
- Second make scenario dialog uses a custom frame style
This commit is contained in:
2015-10-03 11:07:20 -04:00
parent 967f24a83b
commit b176918dda
10 changed files with 92 additions and 30 deletions

View File

@@ -7,11 +7,11 @@
<field name='town-l' type='uint' top='242' left='312' width='75' height='16'>0</field>
<field name='town-m' type='uint' top='269' left='312' width='75' height='16'>1</field>
<field name='town-s' type='uint' top='295' left='312' width='75' height='16'>0</field>
<text framed='true' top='28' left='55' width='405' height='124'/>
<text framed='true' top='159' left='55' width='405' height='157'/>
<text framed='true' top='323' left='55' width='405' height='107'/>
<button name='cancel' type='regular' top='436' left='334' def-key='esc'>Cancel</button>
<button name='okay' type='regular' top='436' left='400'>OK</button>
<text framed='true' outline='double' top='28' left='55' width='405' height='124'/>
<text framed='true' outline='double' top='159' left='55' width='405' height='157'/>
<text framed='true' outline='double' top='323' left='55' width='405' height='107'/>
<button name='cancel' type='regular' top='438' left='334' def-key='esc'>Cancel</button>
<button name='okay' type='regular' top='438' left='400'>OK</button>
<pict type='dlog' num='16' top='8' left='8'/>
<text size='large' top='6' left='52' width='278' height='17'>How big is your scenario?</text>
<text size='large' top='32' left='59' width='158' height='18'>Size of Outdoors:</text>

View File

@@ -63,6 +63,14 @@
<xs:enumeration value="led"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="frameStyle">
<xs:restriction base="xs:token">
<xs:enumeration value="solid"/>
<xs:enumeration value="inset"/>
<xs:enumeration value="outset"/>
<xs:enumeration value="double"/>
</xs:restriction>
</xs:simpleType>
<xs:attributeGroup name="rect-size">
<xs:attribute name="top" use="required" type="xs:integer"/>
<xs:attribute name="left" use="required" type="xs:integer"/>
@@ -123,6 +131,7 @@
</xs:sequence>
<xs:attribute name="name" type="xs:token"/>
<xs:attribute name="framed" default="false" type="bool"/>
<xs:attribute name="outline" default="inset" type="frameStyle"/>
<xs:attributeGroup ref="font"/>
<xs:attribute ref="def-key"/>
<xs:attribute name="clickable" default="false" type="bool"/>
@@ -137,6 +146,7 @@
<xs:attribute name="custom" default="false" type="bool"/>
<xs:attribute name="scaled" default="false" type="bool"/>
<xs:attribute name="framed" default="true" type="bool"/>
<xs:attribute name="outline" default="inset" type="frameStyle"/>
<xs:attribute name="size">
<xs:simpleType>
<xs:restriction base="xs:token">
@@ -238,6 +248,7 @@
</xs:choice>
<xs:attribute name="name" type="xs:token"/>
<xs:attribute name="framed" default="true" type="bool"/>
<xs:attribute name="outline" default="inset" type="frameStyle"/>
<xs:attribute name="style" type="scrollStyle" default="led"/>
<xs:attributeGroup ref="rect-size"/>
</xs:complexType>