deserialize method

  1. @override
void deserialize(
  1. XmlElement xml
)
override

Deserializes the FML template elements, attributes and children

Implementation

@override
void deserialize(XmlElement xml)
{

  // deserialize
  super.deserialize(xml);

  // properties
  label      = Xml.get(node: xml, tag: 'value') ?? Xml.get(node: xml, tag: 'label') ?? Xml.getText(xml);
  onclick    = Xml.get(node: xml, tag: 'onclick');
  onenter    = Xml.get(node: xml, tag: 'onenter');
  onexit     = Xml.get(node: xml, tag: 'onexit');
  buttontype = Xml.get(node: xml, tag: 'type');
  radius     = Xml.get(node: xml, tag: 'radius');

  // create text model bound to this label as default
  if (viewableChildren.isEmpty && label != null)
  {
    children ??= [];
    children!.add(TextModel(this, null, value: "{$id.label}"));
  }
}