deserialize method

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

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');
}