deserialize method
Deserializes the FML template elements, attributes and children
Implementation
@override
void deserialize(XmlElement? xml) {
if (xml == null) return;
// deserialize
super.deserialize(xml);
/// Attributes
///
/// Contstraint Attributes
/// Style Attributes
start = Xml.get(node: xml, tag: 'start');
end = Xml.get(node: xml, tag: 'end');
blur = Xml.get(node: xml, tag: 'blur');
/// Border and Shadow Attributes
radius = Xml.get(node: xml, tag: 'radius');
bordercolor = Xml.get(node: xml, tag: 'bordercolor');
borderwidth = Xml.get(node: xml, tag: 'borderwidth');
border = Xml.get(node: xml, tag: 'border');
elevation = Xml.get(node: xml, tag: 'elevation');
shadowcolor = Xml.get(node: xml, tag: 'shadowcolor');
shadowy = Xml.get(node: xml, tag: 'shadowy');
shadowx = Xml.get(node: xml, tag: 'shadowx');
/// Layout Attributes
layout = Xml.get(node: xml, tag: 'layout');
center = Xml.get(node: xml, tag: 'center');
// expand="false" is same as adding attribute shrink
var expand = Xml.get(node: xml, tag: 'expand');
if (expand == null && Xml.hasAttribute(node: xml, tag: 'shrink')) expand = 'false';
this.expand = expand;
wrap = Xml.get(node: xml, tag: 'wrap');
}