I'm happy to help. I've been experimenting a bit and have found an approach using getObjectsUnderPoint which I like better. It's at:
http://flexamusements.blogspot.com/2009/10/flex-tree-what-node-am-i-dragging-over.html There are (of course) lots of other ways to accomplish this as well. --- In [email protected], "timgerr" <tgallag...@...> wrote: > > Max, that was a big help. Thanks all for helping me out, this group rocks. > > timgerr > > --- In [email protected], "max.nachlinger" <max.nachlinger@> 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 > > >

