Language Version: | ActionScript 3.0 |
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.
formats:Array
[read-only]
Language Version: | ActionScript 3.0 |
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
public function DragSource()
Language Version: | ActionScript 3.0 |
Runtime Versions: | Flash Player 9, AIR 1.1 |
Constructor.
public function addData(data:Object, format:String):void
Language Version: | ActionScript 3.0 |
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.
|
public function addHandler(handler:Function, format:String):void
Language Version: | ActionScript 3.0 |
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.
|
public function dataForFormat(format:String):Object
Language Version: | ActionScript 3.0 |
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.
|
public function hasFormat(format:String):Boolean
Language Version: | ActionScript 3.0 |
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.
|