{ "type": "class",
  "qname": "org.apache.royale.html.beads.SensitiveSingleSelectionDropTargetBead",
  "baseClassname": "org.apache.royale.events.EventDispatcher"
  ,
    "description": "The SensitiveSingleSelectionDropTargetBead enables items to be dropped onto single-selection List components. When the pointing device is in the first half of an item renderer it assumes the item is to be dropped on that item renderer. If it is on the second half it assumes the drop target is the next item renderer.",
  "tags": [
  {  "tagName": "see",
         "values": ["org.apache.royale.html.beads.SingleSelectionDropIndicatorBead"]},
      {  "tagName": "playerversion",
         "values": ["Flash 10.2", "AIR 2.6"]},
      {  "tagName": "productversion",
         "values": ["Royale 0.9.6"]},
      {  "tagName": "langversion",
         "values": ["3.0"]}  ],
  "members": [
  { "type": "method",
        "qname": "org.apache.royale.html.beads.SensitiveSingleSelectionDropTargetBead",
        "namespace": "",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Constructor",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10.2", "AIR 2.6"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.6"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "",
          "params": []}
      ,
      { "type": "accessor",
        "access": "write-only",
        "return": "org.apache.royale.core.IStrand",
        "qname": "strand",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "private",
               "values": []},
            {  "tagName": "royaleignorecoercion",
               "values": ["org.apache.royale.events.IEventDispatcher"]}  ]},
      { "type": "accessor",
        "access": "read-write",
        "return": "String",
        "qname": "dropDirection",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The direction the drop indicator should display. &quot;horizontal&quot; (default) or &quot;vertical&quot;.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10.2", "AIR 2.6"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.6"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "field",
        "qname": "_indicatorParent",
        "return": "org.apache.royale.core.UIBase",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {}},
      { "type": "accessor",
        "access": "read-only",
        "return": "org.apache.royale.core.UIBase",
        "qname": "indicatorParent",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "private",
               "values": []},
            {  "tagName": "royaleignorecoercion",
               "values": ["org.apache.royale.html.beads.IDrawingLayerBead"]}  ]}]
  ,
  "events": [
  { "qname": "enter",
        "type": "org.apache.royale.events.Event"
      ,
          "description": "The enter event is dispatched when a DragEnter has been detected in the drop target strand. This event can be used to determine if the strand can and will accept the data being dragged onto it. If the data cannot be used by the drop target strand this event should be cancelled.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10.2", "AIR 2.6"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.6"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "qname": "exit",
        "type": "org.apache.royale.events.Event"
      ,
          "description": "The exit event is sent when the drag goes outside of the drop target space.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10.2", "AIR 2.6"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.6"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "qname": "over",
        "type": "org.apache.royale.events.Event"
      ,
          "description": "The over event is dispatched while the drag is happening over the drop target space. This event may be cancelled if that particular area of the drop target cannot accept the drag source data.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10.2", "AIR 2.6"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.6"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "qname": "drop",
        "type": "org.apache.royale.events.Event"
      ,
          "description": "The drop event is dispatched just prior to incorporating the drag source data into the drop target's dataProvider. This event may be cancelled to prevent that from happening. Note that a &quot;exit&quot; event always precedes this event to allow any drag-drop graphics to be cleared.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10.2", "AIR 2.6"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.6"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "qname": "complete",
        "type": "org.apache.royale.events.Event"
      ,
          "description": "The complete event is dispatched when the drop operation has completed from the drop target's perspective.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10.2", "AIR 2.6"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.6"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]}]
  }
