org.apache.royale.core.SimpleStatesImpl.prototype.org_apache_royale_core_SimpleStatesImpl_apply = function()

in asdoc/org/apache/royale/core/SimpleStatesImpl.js [150:210]


org.apache.royale.core.SimpleStatesImpl.prototype.org_apache_royale_core_SimpleStatesImpl_apply = function(s) {
  var /** @type {Array} */ arr = s.overrides;
  var foreachiter4_target = arr;
  for (var foreachiter4 in foreachiter4_target) 
  {
  var o = foreachiter4_target[foreachiter4];
  {
    if (org.apache.royale.utils.Language.is(o, org.apache.royale.states.AddItems)) {
      var /** @type {Object} */ ai = o;
      if (ai.items == null) {
        ai.items = ai.itemsDescriptor.items;
        if (ai.items == null) {
          ai.items = org.apache.royale.utils.MXMLDataInterpreter.generateMXMLArray(ai.document, null, ai.itemsDescriptor.descriptor);
          ai.itemsDescriptor.items = ai.items;
        }
      }
      var foreachiter5_target = ai.items;
      for (var foreachiter5 in foreachiter5_target) 
      {
      var item = foreachiter5_target[foreachiter5];
      {
        var /** @type {Object} */ parent = ai.document;
        if (ai.destination != null)
          parent = parent[ai.destination];
        if (ai.relativeTo != null) {
          var /** @type {Object} */ child = ai.document[ai.relativeTo];
          if (ai.destination == null)
            parent = child.parent;
          var /** @type {number} */ index = parent.getElementIndex(child);
          if (ai.position == "after")
            index++;
          parent.addElementAt(item, index);
        } else if (ai.position == "first") {
          parent.addElementAt(item, 0);
        } else {
          parent.addElement(item);
        }
      }}
      
      if (org.apache.royale.utils.Language.is(parent, org.apache.royale.core.IContainer))
        parent.childrenAdded();
    } else if (org.apache.royale.utils.Language.is(o, org.apache.royale.states.SetProperty)) {
      var /** @type {Object} */ sp = o;
      if (sp.target != null) {
        sp.previousValue = sp.document[sp.target][sp.name];
        sp.document[sp.target][sp.name] = sp.value;
      } else {
        sp.previousValue = sp.document[sp.name];
        sp.document[sp.name] = sp.value;
      }
    } else if (org.apache.royale.utils.Language.is(o, org.apache.royale.states.SetEventHandler)) {
      var /** @type {Object} */ seh = o;
      if (seh.target != null) {
        seh.document[seh.target].addEventListener(seh.name, seh.handlerFunction);
      } else {
        seh.document.addEventListener(seh.name, seh.handlerFunction);
      }
    }
  }}
  
};