{ "type": "class",
  "qname": "org.apache.royale.utils.UIUtils",
  "baseClassname": ""
  ,
    "description": "The UIUtils class is a collection of static functions that provide utility features to UIBase objects.",
  "tags": [
  {  "tagName": "playerversion",
         "values": ["Flash 10.2", "AIR 2.6"]},
      {  "tagName": "productversion",
         "values": ["Royale 0.0"]},
      {  "tagName": "langversion",
         "values": ["3.0"]}  ],
  "members": [
  { "type": "method",
        "qname": "center",
        "namespace": "public",
        "bindable": [],
        "details": ["static"],
        "deprecated": {},
          "description": "Centers the given item relative to another item. Typically the item being centered is a child or sibling of the second item.",
        "tags": [
        {  "tagName": "param",
               "values": ["item The component item being centered.", "relativeTo The component used as reference for the centering."]},
            {  "tagName": "playerversion",
               "values": ["Flash 10.2", "AIR 2.6"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.0"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "item", "type": "org.apache.royale.core.IUIBase"},
        { "name": "relativeTo", "type": "org.apache.royale.core.IUIBase"}]}
      ,
      { "type": "method",
        "qname": "findPopUpHost",
        "namespace": "public",
        "bindable": [],
        "details": ["static"],
        "deprecated": {},
          "description": "Given a component starting point, this function walks up the parent chain looking for a component that implements the IPopUpHost interface. The function either returns that component or null if no IPopUpHost can be found.",
        "tags": [
        {  "tagName": "param",
               "values": ["start A component to start the search."]},
            {  "tagName": "playerversion",
               "values": ["Flash 10.2", "AIR 2.6"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9"]},
            {  "tagName": "royaleignorecoercion",
               "values": ["org.apache.royale.core.IChild", "org.apache.royale.core.IPopUpHostParent", "org.apache.royale.core.IUIBase"]},
            {  "tagName": "royaleemitcoercion",
               "values": ["org.apache.royale.core.IPopUpHost"]},
            {  "tagName": "return",
               "values": ["A component that implements IPopUpHost or null."]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "org.apache.royale.core.IPopUpHost",
          "params": [{ "name": "start", "type": "org.apache.royale.core.IUIBase"}]}
      ,
      { "type": "method",
        "qname": "addPopUp",
        "namespace": "public",
        "bindable": [],
        "details": ["static"],
        "deprecated": {},
          "description": "Adds the given component to the IPopUpHost.",
        "tags": [
        {  "tagName": "param",
               "values": ["popUp the component that popups"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10.2", "AIR 2.6"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9"]},
            {  "tagName": "royaleignorecoercion",
               "values": ["org.apache.royale.core.IChild", "org.apache.royale.core.IPopUpHostParent"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "popUp", "type": "org.apache.royale.core.IChild"},
        { "name": "host", "type": "org.apache.royale.core.IUIBase"}]}
      ,
      { "type": "method",
        "qname": "removePopUp",
        "namespace": "public",
        "bindable": [],
        "details": ["static"],
        "deprecated": {},
          "description": "Removes the given component from the IPopUpHost.",
        "tags": [
        {  "tagName": "param",
               "values": ["popUp the component that popups"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10.2", "AIR 2.6"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9"]},
            {  "tagName": "royaleignorecoercion",
               "values": ["org.apache.royale.core.IChild", "org.apache.royale.core.IPopUpHostParent"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "popUp", "type": "org.apache.royale.core.IChild"}]}
      ]
  }
