mx.core

# DragSource - AS3 Flex

Package | mx.core
Class | public class DragSource
Inheritance | DragSource Object

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

The DragSource class contains the data being dragged. The data can be in multiple formats, depending on the type of control that initiated the drag.

Each format of data is identified with a string. The `hasFormat()` method is used to determine if the object has data in that format. The `dataForFormat()` method is used to retrieve the data in the specified format.

Data can be added directly using the `addData()` method, or indirectly using the `addHandler()` method. The `addHandler()` method registers a callback that will be called if the data is requested. This is useful for adding data in a non-native format that may require large computations or conversions. For example, if you have raw sound data you can add an MP3 format handler. The MP3 conversion will only be done if the MP3 data is requested.

Public Properties
Hide Inherited Public Properties
Show Inherited Public Properties

| Property | Defined By
--- | --- | ---
|  | constructor : Object A reference to the class object or constructor function for a given object instance. | Object
|  | formats : Array [read-only] Contains the formats of the drag data, as an Array of Strings. | DragSource

Public Methods
Hide Inherited Public Methods
Show Inherited Public Methods

| Method | Defined By
--- | --- | ---
|  | DragSource() Constructor. | DragSource
|  | addData(data:Object, format:String):void Adds data and a corresponding format String to the drag source. | DragSource
|  | addHandler(handler:Function, format:String):void Adds a handler that is called when data for the specified format is requested. | DragSource
|  | dataForFormat(format:String):Object Retrieves the data for the specified format. | DragSource
|  | hasFormat(format:String):Boolean Returns true if the data source contains the requested format; otherwise, it returns false. | DragSource
|  | hasOwnProperty(name:String):Boolean Indicates whether an object has a specified property defined. | Object
|  | isPrototypeOf(theClass:Object):Boolean Indicates whether an instance of the Object class is in the prototype chain of the object specified as the parameter. | Object
|  | propertyIsEnumerable(name:String):Boolean Indicates whether the specified property exists and is enumerable. | Object
|  | setPropertyIsEnumerable(name:String, isEnum:Boolean = true):void Sets the availability of a dynamic property for loop operations. | Object
|  | toLocaleString():String Returns the string representation of this object, formatted according to locale-specific conventions. | Object
|  | toString():String Returns the string representation of the specified object. | Object
|  | valueOf():Object Returns the primitive value of the specified object. | Object

Property Detail

### formats

property

`formats:Array` [read-only]

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

Contains the formats of the drag data, as an Array of Strings. Set this property using the `addData()` or `addHandler()` methods. The default value depends on data added to the DragSource object.

Implementation
`public function get formats():Array`
Constructor Detail

### DragSource

()
Constructor

`public function DragSource()`

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

Constructor.

Method Detail

### addData

()
method

`public function addData(data:Object, format:String):void`

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

Adds data and a corresponding format String to the drag source. This method does not return a value.

Parameters

| `data:Object` — Object that specifies the drag data. This can be any object, such as a String, a DataProvider, and so on.
| `format:String` — String that specifies a label that describes the format for this data.

### addHandler

()
method

`public function addHandler(handler:Function, format:String):void`

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

Adds a handler that is called when data for the specified format is requested. This is useful when dragging large amounts of data. The handler is only called if the data is requested. This method does not return a value.

Parameters

| `handler:Function` — Function that specifies the handler called to request the data. This function must return the data in the specified format.
| `format:String` — String that specifies the format for this data.

### dataForFormat

()
method

`public function dataForFormat(format:String):Object`

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

Retrieves the data for the specified format. If the data was added with the `addData()` method, it is returned directly. If the data was added with the `addHandler()` method, the handler function is called to return the data.

Parameters

| `format:String` — String that specifies a label that describes the format for the data to return. This string can be a custom value if you are creating a custom drop target with the `addData()` method. List-based controls have predefined values for the `format` parameter. If the control that initiated the drag operation is a Tree, then the format is "treeItems" and the items implement the ITreeDataProvider interface. For all other List-based controls that have built-in drag and drop support, the format is "items" and the items implement the IDataProvider interface.

Returns

| `Object` — An Object containing the data in the requested format. If you drag multiple items, the returned value is an Array. For a List-based control, the returned value is always an Array, even if it contains a single item.

### hasFormat

()
method

`public function hasFormat(format:String):Boolean`

Language Version: | ActionScript 3.0

Product Version: | Flex 3

Runtime Versions: | Flash Player 9, AIR 1.1

Returns `true` if the data source contains the requested format; otherwise, it returns `false`.

Parameters

| `format:String` — String that specifies a label that describes the format for the data.

Returns

| `Boolean` — `true` if the data source contains the requested format.

© 2015 Adobe Systems Incorporated. All rights reserved.
Mon Apr 10 2017, 12:28 PM -07:00