Max, that was a big help.  Thanks all for helping me out, this group rocks.

timgerr

--- In [email protected], "max.nachlinger" <max.nachlin...@...> wrote:
>
> 
> 
> 
> 
> 
> Here's a bit of code that might help.
> 
> Silly test app: -----------------------------------------------------
> 
> <?xml version="1.0" encoding="utf-8"?>
> <Application xmlns="http://www.adobe.com/2006/mxml"; layout="absolute" 
> creationComplete="_onLoad()" xmlns:local="*">
> <Script>
> <![CDATA[
> import mx.events.*;
> import mx.collections.ArrayCollection;
> [Bindable] private var _data:ArrayCollection;
> 
> private function _onLoad():void
> {
>       var a:Array = [];
>       var o:Object = {};
>       var o1:Object = {};
>       var o2:Object = {};
>       var o3:Object = {};
>       
>       var c:int, d:int, e:int;
>       for( var i:int = 0; i < 100; i++ )
>       {
>               c = _randIntRange(2,20);
>               o = {name:'Great Grand-Parent '+(i+1), children:[]};
>               
>               for( var j:int = 0; j < c; j++ )
>               {
>                       o1 = {name:'Grand Parent '+(j+1), children:[]};
>                       
>                       d = _randIntRange(1,5);
>                       for( var k:int = 0; k < d; k++ )
>                       {
>                               o2 = {name:'Parent '+(k+1), children:[]};
>                               
>                               e = _randIntRange(1,2);
>                               for( var l:int = 0; l < e; l++ )
>                               {
>                                       o3 = {name:'Child '+(l+1)};
>                                       o2.children.push(o3);
>                               }
>                               
>                               o1.children.push(o2);
>                       }
> 
>                       o.children.push(o1);
>               }
>               
>               a.push(o);
>       }
>       _data = new ArrayCollection(a);
> }
> private function _randIntRange( start:Number, end:Number ):int
> {
>       return int(Math.floor(start +(Math.random() * (end - start))));
> }
> ]]>
> </Script>
> <local:TestTree id="tr" width="250" height="100%" dataProvider="{_data}" 
> labelField="name" 
>       dragEnabled="true" dropEnabled="true" dragMoveEnabled="true"/>
> </Application>
> 
> Silly test tree: -----------------------------------------------------
> 
> <?xml version="1.0" encoding="utf-8"?>
> <Tree xmlns="http://www.adobe.com/2006/mxml";>
> <Script>
> <![CDATA[
> import mx.events.*;
> import mx.controls.listClasses.*;
> 
> private var _currentRenderer:IListItemRenderer;
> private var _draggedItem:Object;
> 
> override protected function mouseOverHandler(event:MouseEvent):void 
> {
>       super.mouseOverHandler(event);
>       var item:IListItemRenderer = mouseEventToItemRenderer(event);
>       if ( item != null && _currentRenderer != item ) 
>       {
>               _currentRenderer = item;
>               trace(className + '::mouseMoveHandler(): ' + 
> _currentRenderer.data['name'] );
>       }
> }
> 
> override protected function dragOverHandler(event:DragEvent):void
> {
>       _draggedItem = event.dragSource.dataForFormat('treeItems')[0];
>       trace(className + '::dragOverHandler(): dragging (' + 
> _draggedItem['name'] + ') over (' + _currentRenderer.data['name'] + ')' );
> }
> ]]>
> </Script>
> </Tree>
> 
> Hope that helps a bit.
> 
> --Max
>


Reply via email to