deserialize method
Deserializes the FML template elements, attributes and children
Implementation
@override
void deserialize(XmlElement? xml) {
if (xml == null) return;
// deserialize
super.deserialize(xml);
// properties
url = Xml.get(node: xml, tag: 'url');
title = Xml.get(node: xml, tag: 'title');
// can window be closed?
closeable = Xml.get(node: xml, tag: 'closeable');
if (_closeable == null && _url == null && viewableChildren.isNotEmpty) closeable = false;
tooltip = Xml.get(node: xml, tag: 'tooltip');
icon = Xml.get(node: xml, tag: 'icon');
// add framework child
if (viewableChildren.isEmpty && url != null) {
var uri = URI.parse(url);
if (uri != null) {
children ??= [];
children!.add(FrameworkModel.fromUrl(this, uri.url));
}
}
}