{ "type": "class",
  "qname": "org.apache.royale.textLayout.elements.LinkElement",
  "baseClassname": "org.apache.royale.textLayout.elements.SubParagraphGroupElementBase"
  ,
    "description": "The LinkElement class defines a link to a URI (Universal Resource Identifier), which is executed when the user clicks it. The LinkElement class is a subclass of the SubParagraphGroupElementBase class and it can contain one or more FlowElement objects, such as a SpanElement object that stores the link text. An empty LinkElement, which does not contain a FlowElement object, is ignored.  <p>Normally when clicked the LinkElement will call the <code>flash.net.navigateToURL()</code> method.  A special URI scheme <code>event:</code> is also supported.  This scheme will generate a ITextFlow event that the user may listen to in order to execute AS3 code.  An example is included below.</p>  <p>If you specify a target, it must be one of the following values: <table class=&quot;innertable&quot; width=&quot;100%&quot;> <tr> <th>Target value</th> <th>description</th> </tr> <tr> <td>_self</td> <td>Replaces the current HTML page. If it is in a frame or frameset, it will load within that frame. If it is the full browser, it opens to replace the page from which it came.</td> </tr> <tr> <td>_blank</td> <td>Opens a new browser name with no name.</td> </tr> <tr> <td>_parent</td> <td>Replaces the HTML page from which it came.</td> </tr> <tr> <td>_top</td> <td>Loads in the current browser, replacing anything within it, such as a frameset.</td> </tr> </table> </p>",
  "tags": [
  {  "tagName": "see",
         "values": ["LinkState", "FlowElement#linkActiveFormat FlowElement.linkActiveFormat", "FlowElement#linkHoverFormat FlowElement.linkHoverFormat", "FlowElement#linkNormalFormat FlowElement.linkNormalFormat", "ITextFlow"]},
      {  "tagName": "playerversion",
         "values": ["Flash 10", "AIR 1.5"]},
      {  "tagName": "langversion",
         "values": ["3.0"]}  ],
  "members": [
  { "type": "method",
        "qname": "org.apache.royale.textLayout.elements.LinkElement",
        "namespace": "",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Constructor - creates a new LinkElement instance.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "",
          "params": []}
      ,
      { "type": "accessor",
        "access": "read-only",
        "return": "String",
        "qname": "className",
        "namespace": "public",
        "bindable": [],
        "details": ["override"],
        "deprecated": {}},
      { "type": "accessor",
        "access": "read-only",
        "return": "uint",
        "qname": "precedence",
        "namespace": "public",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "description": "@private"},
      { "type": "method",
        "qname": "addEventListener",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "as its only parameter and must return nothing, as this example shows: <p><code>function(evt:Event):void</code></p> The function can have any name. and bubbling phases. If <code>useCapture</code> is set to <code>true</code>, the listener processes the event only during the capture phase and not in the target or bubbling phase. If <code>useCapture</code> is <code>false</code>, the listener processes the event only during the target or bubbling phase. To listen for the event in all three phases, call <code>addEventListener()</code> twice, once with <code>useCapture</code> set to <code>true</code>, then again with <code>useCapture</code> set to <code>false</code>. The higher the number, the higher the priority. All listeners with priority <em>n</em> are processed before listeners of priority <em>n-1</em>. If two or more listeners share the same priority, they are processed in the order in which they were added. The default priority is 0. reference (the default) prevents your listener from being garbage-collected. A weak reference does not. <p>Class-level member functions are not subject to garbage collection, so you can set <code>useWeakReference</code> to <code>true</code> for class-level member functions without subjecting them to garbage collection. If you set <code>useWeakReference</code> to <code>true</code> for a listener that is a nested inner function, the function will be garbge-collected and no longer persistent. If you create references to the inner function (save it in another variable) then it is not garbage-collected and stays persistent.</p>",
        "tags": [
        {  "tagName": "param",
               "values": ["type The type of event.", "listener The listener function that processes the event. This function must accept an event object", "useCapture Determines whether the listener works in the capture phase or the target", "priority  The priority level of the event listener. Priorities are designated by a 32-bit integer.", "useWeakReference Determines whether the reference to the listener is strong or weak. A strong"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "copy",
               "values": ["org.apache.royale.events.IEventDispatcher#addEventListener()"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "type", "type": "String"},
        { "name": "listener", "type": "Function"},
        { "name": "useCapture", "type": "Boolean"}]}
      ,
      { "type": "method",
        "qname": "dispatchEvent",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "copy",
               "values": ["org.apache.royale.events.IEventDispatcher#dispatchEvent()"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "Boolean",
          "params": [{ "name": "evt", "type": "org.apache.royale.events.Event"}]}
      ,
      { "type": "method",
        "qname": "hasEventListener",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "copy",
               "values": ["org.apache.royale.events.IEventDispatcher#hasEventListener()"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "Boolean",
          "params": [{ "name": "type", "type": "String"}]}
      ,
      { "type": "method",
        "qname": "removeEventListener",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "param",
               "values": ["type The type of event.", "listener The listener object to remove.", "useCapture Specifies whether the listener was registered for the capture phase or the target and bubbling phases. If the listener was registered for both the capture phase and the target and bubbling phases, two calls to <code>removeEventListener()</code> are required to remove both: one call with <code>useCapture</code> set to <code>true</code>, and another call with <code>useCapture</code> set to <code>false</code>."]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "copy",
               "values": ["org.apache.royale.events.IEventDispatcher#removeEventListener()."]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "type", "type": "String"},
        { "name": "listener", "type": "Function"},
        { "name": "useCapture", "type": "Boolean"}]}
      ,
      { "type": "accessor",
        "access": "read-only",
        "return": "Boolean",
        "qname": "abstract",
        "namespace": "protected",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "description": "@private"},
      { "type": "accessor",
        "access": "read-only",
        "return": "String",
        "qname": "defaultTypeName",
        "namespace": "public",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "description": "@private"},
      { "type": "accessor",
        "access": "read-write",
        "return": "String",
        "qname": "href",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The Uniform Resource Identifier (URI) associated with the LinkElement object.  The URI can be any URI supported by the <code>flash.net.navigateToURL()</code> method. This property maps to the <code>request</code> parameter for that method.  The URI may also be of the form <code>event:eventType</code>.  When clicked the ITextFlow will generate an event of type <code>eventType</code>.",
        "tags": [
        {  "tagName": "see",
               "values": ["../../../flash/net/package.html#navigateToURL() flash.net.navigateToURL()"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "String",
        "qname": "target",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The Target value associated with the LinkElement. Possible values are &quot;_self&quot;, &quot;_blank&quot;, &quot;_parent&quot;, and &quot;_top&quot;. This value maps to the <code>window</code> parameter of the <code>flash.net.navigateToURL()</code> method.",
        "tags": [
        {  "tagName": "see",
               "values": ["../../../flash/net/package.html#navigateToURL() flash.net.navigateToURL()"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-only",
        "return": "String",
        "qname": "linkState",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The current state of the link.",
        "tags": [
        {  "tagName": "see",
               "values": ["LinkState"]},
            {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "read-only",
        "return": "org.apache.royale.textLayout.formats.ITextLayoutFormat",
        "qname": "effectiveLinkElementTextLayoutFormat",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The state-dependent character attributes for the link.",
        "tags": [
        {  "tagName": "private",
               "values": []}  ]},
      { "type": "accessor",
        "access": "read-only",
        "return": "org.apache.royale.textLayout.formats.ITextLayoutFormat",
        "qname": "formatForCascade",
        "namespace": "public",
        "bindable": [],
        "details": ["override"],
        "deprecated": {},
          "description": "@private TODO: Possible optimization - replace this with prototype chaining??"}]
  ,
  "events": [
  { "qname": "mouseDown",
        "type": "org.apache.royale.textLayout.events.FlowElementMouseEvent"
      ,
          "description": "Dispatched when the mouse is pressed down over a link.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "eventType",
               "values": ["org.apache.royale.textLayout.events.FlowElementMouseEvent.MOUSE_DOWN"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "qname": "mouseUp",
        "type": "org.apache.royale.textLayout.events.FlowElementMouseEvent"
      ,
          "description": "Dispatched when the mouse is released over a link.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "eventType",
               "values": ["org.apache.royale.textLayout.events.FlowElementMouseEvent.MOUSE_UP"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "qname": "mouseMove",
        "type": "org.apache.royale.textLayout.events.FlowElementMouseEvent"
      ,
          "description": "Dispatched when the mouse passes over the link.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "eventType",
               "values": ["org.apache.royale.textLayout.events.FlowElementMouseEvent.MOUSE_MOVE"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "qname": "rollOver",
        "type": "org.apache.royale.textLayout.events.FlowElementMouseEvent"
      ,
          "description": "Dispatched when the mouse first enters the link.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "eventType",
               "values": ["org.apache.royale.textLayout.events.FlowElementMouseEvent.ROLL_OVER"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "qname": "rollOut",
        "type": "org.apache.royale.textLayout.events.FlowElementMouseEvent"
      ,
          "description": "Dispatched when the mouse goes out of the link.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "eventType",
               "values": ["org.apache.royale.textLayout.events.FlowElementMouseEvent.ROLL_OUT"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "qname": "click",
        "type": "org.apache.royale.textLayout.events.FlowElementMouseEvent"
      ,
          "description": "Dispatched when the link is clicked. Clients may override how the link handles the event by handling it themselves, and calling preventDefault().",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10", "AIR 1.5"]},
            {  "tagName": "eventType",
               "values": ["org.apache.royale.textLayout.events.FlowElementMouseEvent.CLICK"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]}]
  }
