{ "type": "class",
  "qname": "org.apache.royale.textLayout.events.StatusChangeEvent",
  "baseClassname": "org.apache.royale.events.Event"
  ,
    "description": "A TextFlow instance dispatches this event when the status of a FlowElement changes. This event can be used to detect when an inline graphic element has completed loading. You can use your event handler to recompose the text flow based on the presence of the newly loaded inline graphic element.",
  "tags": [
  {  "tagName": "playerversion",
         "values": ["Flash 10", "AIR 1.5"]},
      {  "tagName": "langversion",
         "values": ["3.0"]}  ],
  "members": [
  { "type": "field",
        "qname": "INLINE_GRAPHIC_STATUS_CHANGE",
        "return": "String",
        "namespace": "public",
        "bindable": [],
        "details": ["static"],
        "deprecated": {},
          "description": "Defines the value of the <code>type</code> property of a <code>inlineGraphicStatusChanged</code> event object.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "method",
        "qname": "org.apache.royale.textLayout.events.StatusChangeEvent",
        "namespace": "",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Creates an event object that contains information about a status change. inherited <code>type</code> property. There is only one type of StatusChangeEvent: <code>StatusChangeEvent.INLINE_GRAPHIC_STATUS_CHANGE</code>; This event cannot be cancelled.",
        "tags": [
        {  "tagName": "param",
               "values": ["type  The type of the event. Event listeners can access this information through the", "bubbles  Indicates whether an event is a bubbling event.This event does not bubble.", "cancelable  Indicates whether the behavior associated with the event can be prevented.", "element The FlowElement instance that has experienced a change in status.", "newStatus The FlowElement instance's new status.", "e The ErrorEvent object, if any, associated with the status."]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "",
          "params": [{ "name": "type", "type": "String"},
        { "name": "bubbles", "type": "Boolean"},
        { "name": "cancelable", "type": "Boolean"},
        { "name": "element", "type": "org.apache.royale.textLayout.elements.IFlowElement"},
        { "name": "status", "type": "String"}]}
      ,
      { "type": "accessor",
        "access": "read-write",
        "return": "org.apache.royale.textLayout.elements.IFlowElement",
        "qname": "element",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The FlowElement instance that has experienced a change in status.",
        "tags": [
        {  "tagName": "see",
               "values": ["org.apache.royale.textLayout.elements.FlowElement"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "String",
        "qname": "status",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The FlowElement's new status. The possible values of this property are defined by the InlineGraphicElementStatus class. There are five static constants available in the InlineGraphicElementStatus class: <ul> <li>ERROR : String = &quot;error&quot;. An error occurred during loading of a referenced graphic.</li> <li>LOADING : String = &quot;loading&quot;. Load has been initiated (but not completed) on a graphic element that is a URL.</li> <li>LOAD_PENDING : String = &quot;loadPending&quot;. Graphic element is an URL that has not been loaded.</li> <li>READY : String = &quot;ready&quot;. Graphic is completely loaded and properly sized.</li> <li>SIZE_PENDING : String = &quot;sizePending&quot;. Graphic element with auto or percentage width/height has completed loading but has not been recomposed.</li> </ul>",
        "tags": [
        {  "tagName": "see",
               "values": ["org.apache.royale.textLayout.elements.InlineGraphicElementStatus"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]}]
  }
