Okay I *think* this is close...
Can any experienced users HELP ME out? (I'm down to a simple type
coercion error)
The following line is thowing an error
var item:TreeListData = itemData[i];
Here's the error
Error #1034: Type Coercion failed: cannot convert [EMAIL PROTECTED] to
mx.controls.treeClasses.TreeListData
public function treeDragDrop(event:DragEvent): void
{
var dropLocation:int = treeList.calculateDropIndex(event);
var data:XMLListCollection = XMLListCollection
(treeList.dataProvider);
var itemData:Array = event.dragSource.dataForFormat('items') as
Array;
for (var i:int = 0; i < itemData.length; i++)
{
var item:TreeListData = itemData[i];
data.addItem({label:item.label,data:item});
}
treeList.hideDropFeedback(event);
}
Here's the full app
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns="*"
layout="absolute" creationComplete="initApp();">
<mx:XML id="treeDP">
<node label="Mail">
<node label="Inbox"/>
<node label="Personal Folder">
<node label="Demo"/>
<node label="Personal"/>
<node label="Saved Mail"/>
<node label="bar"/>
</node>
<node label="Calendar"/>
<node label="Sent"/>
<node label="Trash"/>
</node>
</mx:XML>
<mx:Tree id="firstList" height="264" width="464"
showRoot="false"
labelField="@label"
dragEnabled="true"
allowMultipleSelection="true"
creationComplete="initApp();"
dragEnter="treeDragEnter(event);"
dragDrop="treeDragDrop(event);"
dragOver="treeDragOver(event);"
dragExit="treeDragExit(event);"
/>
<mx:List id="playlist" width="200" height="200" x="72" y="283"
dragEnabled="true">
<mx:dataProvider>
<mx:ArrayCollection>
<mx:Object>
<mx:label>Movie2</mx:label>
<mx:Price>11.99</mx:Price>
<mx:Album>Slanted and Enchanted</mx:Album>
</mx:Object>
<mx:Object>
<mx:label>Movie1</mx:label>
<mx:Album>Brighten the Corners</mx:Album>
<mx:Price>11.99</mx:Price>
</mx:Object>
</mx:ArrayCollection>
</mx:dataProvider>
</mx:List>
<mx:Script>
<![CDATA[
import mx.controls.treeClasses.TreeListData;
import mx.controls.listClasses.ListData;
private function initApp():void {
firstList.dataProvider = treeDP;
}
import mx.controls.treeclasses.TreeNode;
import mx.controls.treeClasses;
import mx.core.UIComponent;
import mx.events.DragEvent;
import mx.managers.DragManager;
import mx.events.ListEvent;
import mx.controls.Alert;
import mx.collections.XMLListCollection;
public function treeDragEnter(event:DragEvent): void {
var dropTarget:UIComponent=UIComponent(event.currentTarget);
DragManager.acceptDragDrop(dropTarget);
DragManager.showFeedback(DragManager.COPY);
}
public function treeDragOver(event:DragEvent): void
{
var dropLocation:int = firstList.calculateDropIndex(event);
var data:XMLListCollection = XMLListCollection
(firstList.dataProvider);
if (dropLocation >= 0 && dropLocation < data.length)
{
firstList.selectedIndex = dropLocation;
firstList.hideDropFeedback(event);
}
else
{
firstList.selectedIndex = -1;
firstList.showDropFeedback(event);
}
}
public function treeDragExit(event:DragEvent): void
{
firstList.hideDropFeedback(event);
}
public function treeDragDrop(event:DragEvent): void
{
var dropLocation:int = firstList.calculateDropIndex(event);
var data:XMLListCollection = XMLListCollection
(firstList.dataProvider);
var itemData:Array = event.dragSource.dataForFormat('items') as
Array;
for (var i:int = 0; i < itemData.length; i++)
{
// Get the node data
var item:TreeListData = itemData[i];
data.addItem({label:item.label,data:item});// data:item});
}
firstList.hideDropFeedback(event);
}
]]>
</mx:Script>
</mx:Application>
--
Flexcoders Mailing List
FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/flexcoders/
<*> Your email settings:
Individual Email | Traditional
<*> To change settings online go to:
http://groups.yahoo.com/group/flexcoders/join
(Yahoo! ID required)
<*> To change settings via email:
mailto:[EMAIL PROTECTED]
mailto:[EMAIL PROTECTED]
<*> To unsubscribe from this group, send an email to:
[EMAIL PROTECTED]
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/