deserialize method
Deserializes the FML template elements, attributes and children
Implementation
@override
void deserialize(XmlElement xml) {
// deserialize
super.deserialize(xml);
// set properties
format = Xml.get(node: xml, tag: fromEnum('type'));
if (formatType == "xml") {
String? xml;
XmlElement? child;
child ??= Xml.getChildElement(
node: element!, tag: fromEnum('value')!.toUpperCase());
child ??= Xml.getChildElement(
node: element!, tag: fromEnum('value')!.toLowerCase());
child ??= Xml.getChildElement(node: element!, tag: fromEnum('value')!);
if (child != null) xml = child.innerXml;
if (xml != null) {
// This Defeats Binding
XmlDocument? document = Xml.tryParse(xml, silent: true);
if (document != null) value = "";
value = xml;
}
} else {
value = Xml.get(node: xml, tag: fromEnum('value'));
}
// set validator
setValidator(Xml.get(node: xml, tag: 'errortext'));
hint = Xml.get(node: xml, tag: 'hint') ?? "";
size = Xml.get(node: xml, tag: 'size');
weight = Xml.get(node: xml, tag: 'weight');
style = Xml.get(node: xml, tag: 'style');
lines = Xml.get(node: xml, tag: 'lines');
length = Xml.get(node: xml, tag: 'length');
obscure = Xml.get(node: xml, tag: 'obscure');
clear = Xml.get(node: xml, tag: 'clear');
maxlines = Xml.get(node: xml, tag: 'maxlines');
expand = Xml.get(node: xml, tag: 'expand');
onfocuslost = Xml.get(node: xml, tag: 'onfocuslost');
icon = Xml.get(node: xml, tag: 'icon');
keyboardType = Xml.get(node: xml, tag: 'keyboardtype');
keyboardInput = Xml.get(node: xml, tag: 'keyboardinput');
allow = Xml.get(node: xml, tag: 'allow');
deny = Xml.get(node: xml, tag: 'deny');
capitalization = Xml.get(node: xml, tag: 'case');
dense = Xml.get(node: xml, tag: 'dense');
border = Xml.get(node: xml, tag: 'border');
radius = Xml.get(node: xml, tag: 'radius');
borderColor = Xml.get(node: xml, tag: 'bordercolor');
borderWidth = Xml.get(node: xml, tag: 'borderwidth');
textcolor = Xml.get(node: xml, tag: 'textcolor');
mask = Xml.get(node: xml, tag: 'mask');
}