{ "type": "class",
  "qname": "org.apache.royale.html.beads.MultiSelectionDragSourceBead",
  "baseClassname": "org.apache.royale.events.EventDispatcher"
  ,
    "description": "The MultiSelectionDragSourceBead 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.9.7"]},
      {  "tagName": "langversion",
         "values": ["3.0"]}  ],
  "members": [
  { "type": "method",
        "qname": "org.apache.royale.html.beads.MultiSelectionDragSourceBead",
        "namespace": "",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "Constructor",
        "tags": [
        {  "tagName": "playerversion",
               "values": ["Flash 10.2", "AIR 2.6"]},
            {  "tagName": "productversion",
               "values": ["Royale 0.9.7"]},
            {  "tagName": "langversion",
               "values": ["3.0"]}  ],
          "return": "",
          "params": []}
      ,
      { "type": "field",
        "qname": "continueDragOperation",
        "return": "Boolean",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {}},
      { "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.9.7"]},
            {  "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": "Array",
        "qname": "dragSourceIndices",
        "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": "accessor",
        "access": "read-only",
        "return": "org.apache.royale.core.IMultiSelectionModel",
        "qname": "model",
        "namespace": "protected",
        "bindable": [],
        "details": [],
        "deprecated": {},
          "description": "",
        "tags": [
        {  "tagName": "royaleignorecoercion",
               "values": ["org.apache.royale.core.IMultiSelectionModel", "org.apache.royale.core.IStrandWithModel"]}  ]},
      { "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.9.7"]},
            {  "tagName": "royaleignorecoercion",
               "values": ["Array", "org.apache.royale.collections.ArrayList"]},
            {  "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.9.7"]},
            {  "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"]}  ]}]
  }
