deserialize method
Deserializes the FML template elements, attributes and children
Implementation
@override
void deserialize(XmlElement xml) {
// deserialize
super.deserialize(xml);
/// Style Attributes
gradientStart = Xml.get(node: xml, tag: 'gradientstart') ??
Xml.get(node: xml, tag: 'start');
gradientEnd = Xml.get(node: xml, tag: 'gradientend') ??
Xml.get(node: xml, tag: 'end');
blur = Xml.get(node: xml, tag: 'blur');
/// Set Border Attributes
radius = Xml.get(node: xml, tag: 'radius');
borderColor = Xml.get(node: xml, tag: 'bordercolor');
borderWidth = Xml.get(node: xml, tag: 'borderwidth');
borderLabel = Xml.get(node: xml, tag: 'borderlabel');
border = Xml.get(node: xml, tag: 'border');
if (_border == null &&
(_radius != null ||
_borderColor != null ||
_borderWidth != null ||
_borderLabel != null)) {
border = "all";
}
elevation = Xml.get(node: xml, tag: 'elevation');
shadowColor = Xml.get(node: xml, tag: 'shadowcolor');
shadowX = Xml.get(node: xml, tag: 'shadowx');
shadowY = Xml.get(node: xml, tag: 'shadowy');
/// Build the layout
layout = Xml.get(node: xml, tag: 'layout');
center = Xml.get(node: xml, tag: 'center');
wrap = Xml.get(node: xml, tag: 'wrap');
expand = Xml.get(node: xml, tag: 'expand');
// build drawers
List<XmlElement>? nodes;
nodes = Xml.getChildElements(node: xml, tag: "DRAWER");
if (nodes != null && nodes.isNotEmpty) {
drawer = DrawerModel.fromXmlList(this, nodes);
}
}