{ "type": "class",
  "qname": "org.apache.royale.html.beads.SingleSelectionDragSourceBead",
  "baseClassname": "org.apache.royale.events.EventDispatcher"
  ,
    "description": "The SingleSelectionDragSourceBead brings drag capability to single-selection List components. By adding this bead, a user can drag a row of the List to a new location within the list. This bead should be used in conjunction with SingleSelectionDropTargetBead.  This bead adds a new event to the strand, &quot;dragImageNeeded&quot;, which is dispatched on the strand just prior to the dragImage's appearance. An event listener can create its own dragImage if the default, taken from the data item, is not suitable.",
  "tags": [
  {  "tagName": "see",
         "values": ["org.apache.royale.html.beads.SingleSelectionDropTargetBead."]},
      {  "tagName": "playerversion",
         "values": ["Flash 10.2", "AIR 2.6"]},
      {  "tagName": "productversion",
         "values": ["Royale 0.8"]},
      {  "tagName": "langversion",
         "values": ["3.0"]}  ],
  "members": [
  { "type": "method",
        "qname": "org.apache.royale.html.beads.SingleSelectionDragSourceBead",
        "namespace": "",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Constructor",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10.2", "AIR 2.6"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.8"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "",
          "params": []}
      ,
      { "type": "accessor",
        "access": "read-write",
        "return": "String",
        "qname": "dragType",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The type of drag and drop operation: move or copy.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10.2", "AIR 2.6"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.8"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "accessor",
        "access": "write-only",
        "return": "org.apache.royale.core.IStrand",
        "qname": "strand",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "private",
               "values": []}  ]},
      { "type": "accessor",
        "access": "read-only",
        "return": "int",
        "qname": "dragSourceIndex",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "The index into the dataProvider of the strand's model where the dragSource can be found. If -1, the dragSource is not in the dataProvider.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10.2", "AIR 2.6"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "type": "method",
        "qname": "acceptingDrop",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Handles pre-drop actions.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10.2", "AIR 2.6"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.8"]},
            {  "tagName": "royaleignorecoercion",
               "values": ["Array", "org.apache.royale.collections.ArrayList", "org.apache.royale.core.ISelectionModel", "org.apache.royale.core.IDataProviderModel"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "dropTarget", "type": "Object"},
        { "name": "type", "type": "String"}]}
      ,
      { "type": "method",
        "qname": "acceptedDrop",
        "namespace": "public",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Handles post-drop actions.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10.2", "AIR 2.6"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.8"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "void",
          "params": [{ "name": "dropTarget", "type": "Object"},
        { "name": "type", "type": "String"}]}
      ]
  ,
  "events": [
  { "qname": "start",
        "type": "org.apache.royale.events.Event"
      ,
          "description": "The start event is dispatched when a DragStart event happens. The DragEvent.dragSource is set before this event is dispatched. A listener for this event can then decide if if the drag-drop action should continue or not. If not, the event should be cancelled.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10.2", "AIR 2.6"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "qname": "accept",
        "type": "org.apache.royale.events.Event"
      ,
          "description": "The accept event is dispatched when the drop happens but just before the data being dragged as been incorporated into the drop target's data source. Cancelling this event prevents that from happening.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10.2", "AIR 2.6"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "qname": "complete",
        "type": "org.apache.royale.events.Event"
      ,
          "description": "The complete event is dispatched when the entire drag-and-drop operation has completed from the drag source's perspective.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10.2", "AIR 2.6"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "qname": "dragMove",
        "type": "org.apache.royale.events.DragEvent"
      ,
          "description": "The dragMove event is dispatched while the drag action moves.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10.2", "AIR 2.6"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.7"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]},
      { "qname": "dragEnd",
        "type": "org.apache.royale.events.DragEvent"
      ,
          "description": "The dragEnd event is dispatched while the drag action stops. This is dispatched even when the drag event is aborted.",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10.2", "AIR 2.6"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.7"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ]}]
  }
