Grande Hamad - e o grande aqui não é força de expressão :-D O problema ocorre porque estes componentes preparados para o Drag And Drop já tratam os Drag Events internamente. No caso da Tree, no DragOver ela faz:
DragManager.showFeedback(DragManager.NONE); ou: DragManager.showFeedback(DragManager.COPY); Como você também está tratando o evento DragOver é preciso cancelar o tratamento default da implementação da Tree. Para isto faça o seguinte: tiTemp.text = "denied"; // depois desta declaração no seu código event.preventDefault(); // adicione esta aqui []'s Beck Novaes On 11 maio, 08:20, Hamad Amaral <[EMAIL PROTECTED]> wrote: > Pessoal, > > Estou com uma dúvida com um DragOver que não exibe o showFeedback como > DragManager.NONE no DragManager. A idéia que apenas determinados tipos > de nodes possam receber um "drop", no código abaixo apenas > 'courses'podem receber 'modules'. > > Segue meu código que foi baseado no último exemplo no > link:http://www.adobe.com/devnet/flex/quickstart/working_with_tree/ > > Agradeço qualquer ajuda. > > <?xml version="1.0" encoding="utf-8"?> > <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" > initialize="onInit()"> > <mx:Script> > <![CDATA[ > import mx.core.DragSource; > import mx.managers.DragManager; > import mx.events.DragEvent; > import mx.collections.XMLListCollection; > > private const FOLDER:String = "folder"; > private const COURSE:String = "course"; > private const MODULE:String = "module"; > > [Bindable] > private var coursesList:XML = > <list><node objectID="6" name="CF" > parentID="1" recordType="course"><node objectID="7" name="CFC" parentID="6" > recordType="module"/><node objectID="8" name="CFAdmin" parentID="6" > recordType="module"/><node objectID="9" name="CFML" parentID="6" > recordType="module"/><node objectID="10" name="CFSCRIPT" parentID="6" > recordType="module"/></node><node objectID="2" name="DataBase" parentID="1" > recordType="folder"><node objectID="3" name="Oracle" parentID="2" > recordType="course"><node objectID="4" name="PLSQL" parentID="3" > recordType="module"/><node objectID="5" name="SP" parentID="3" > recordType="module"/></node></node></list> ; > > [Bindable] > private var courses:XMLListCollection; > > private function onInit():void > { > courses = new > XMLListCollection(coursesList.node); > } > > private function > treeNodeLabelFunction(item:XML):String > { > return [EMAIL PROTECTED] + " (" + [EMAIL > PROTECTED] + ")"; > } > > private function onDragOver(event:DragEvent):void > { > // r is the visible index in the tree > var dropTarget:Tree = > Tree(event.currentTarget); > var r:int = > dropTarget.calculateDropIndex(event); > myTree.selectedIndex = r; > > // retrieving the newly selected node, you > can examine it and decide to tell > // the user the drop is invalid by changing > the feedback. > var node:XML = myTree.selectedItem as XML; > if( [EMAIL PROTECTED] != COURSE ) { > > DragManager.showFeedback(DragManager.NONE); > tiTemp.text = "denied"; > return; > } > else > { > tiTemp.text = "allow"; > } > > // the type of drop - copy, link, or move can > be reflected in the feedback as well. > // Here the control and shift keys determine > that action. > if (event.ctrlKey) > DragManager.showFeedback(DragManager.COPY); > else if (event.shiftKey) > DragManager.showFeedback(DragManager.LINK); > else { > DragManager.showFeedback(DragManager.MOVE); > } > } > > private function onDragDrop(event:DragEvent):void > { > > } > ]]> > </mx:Script> > > <mx:Tree id="myTree" dataProvider="{courses}" > labelFunction="treeNodeLabelFunction" > dragEnabled="true" dragMoveEnabled="true" dropEnabled="true" > dragOver="onDragOver(event)" > dragDrop="onDragDrop(event)" > width="200" showRoot="false" height="300"/> > > <mx:TextInput id="tiUpNode" text="[EMAIL PROTECTED]" y="103" x="208"/> > <mx:TextInput id="tiTemp" y="142" x="208"/> > > </mx:Application> > > -- > Hamad Amaral > [EMAIL PROTECTED] --~--~---------~--~----~------------~-------~--~----~ Você recebeu esta mensagem porque está inscrito na lista "flexdev" Para enviar uma mensagem, envie um e-mail para [email protected] Para sair da lista, envie um email em branco para [EMAIL PROTECTED] Mais opções estão disponíveis em http://groups.google.com/group/flexdev -~----------~----~----~----~------~----~------~--~---
