I thought about that as well but it did not work. Thank You Dan Vega danv...@gmail.com http://www.danvega.org
On Mon, Dec 29, 2008 at 12:01 PM, valdhor <valdhorli...@embarqmail.com>wrote: > Try changing the bubbles property to true. The event needs to bubble > to the top so that the application sees it. > > > --- In flexcoders@yahoogroups.com <flexcoders%40yahoogroups.com>, "Dan > Vega" <danv...@...> wrote: > > > > For the file manager I am writing I am having an issue with > dispatching a > > custom event. I have a tree on the left with a custom tree item > renderer. In > > that renderer I have setup a context menu so the user can > rename/remove/add > > directories easily. > > > > private function renameDirectory(event:ContextMenuEvent):void { > > _renamedir = new RenameDirectory > > _renamedir.oldDirectoryName = data.name; > > _renamedir.parentPath = data.parent; > > //add modal window > > > > > > PopUpManager.addPopUp(_renamedir,DisplayObject(Application.application),true); > > //center modal window > > PopUpManager.centerPopUp(_renamedir); > > } > > > > My RenameDirectory component works well and does the renaming just > fine. The > > problem I am having is once the folder is renamed i need to refresh > the tree > > to show the changes. I figured for all of my options (add/remove/delete) > > would just dispatch a custom event. Here is my RenameDirectory.mxml > That is > > dispatching my custom event. > > > > <?xml version="1.0" encoding="utf-8"?> > > <mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" > layout="absolute" > > title="Rename Directory" width="300" height="125" > > showCloseButton="true" creationComplete="centerWindow()" > > close="closeWindow()"> > > > > <mx:Metadata> > > [Event(name="refreshTree",type="events.RefreshTreeEvent")] > > </mx:Metadata> > > > > <mx:Script> > > <![CDATA[ > > import mx.rpc.remoting.mxml.RemoteObject; > > import mx.controls.Alert; > > import mx.managers.PopUpManager; > > import events.RefreshTreeEvent; > > > > public var parentPath:String; > > public var oldDirectoryName:String; > > > > private var ro:RemoteObject = new RemoteObject(); > > > > private function centerWindow():void { > > PopUpManager.centerPopUp(this); > > } > > > > private function closeWindow():void { > > PopUpManager.removePopUp(this); > > } > > private function renameDirectory(event:Event):void { > > var _old = parentPath + "\\" + oldDirectoryName; > > var _new = parentPath + "\\" + newDirectoryName.text; > > if(_new != _old) { > > // rename the directory > > ro.destination = "ColdFusion"; > > ro.source = "FFManager.src.cfc.FileManager"; > > ro.renameDirectory(_old,_new); > > ro.showBusyCursor = true; > > > > dispatchEvent(new RefreshTreeEvent("refreshTree")); > > closeWindow(); > > } > > } > > ]]> > > > > </mx:Script> > > > > <mx:HBox verticalCenter="0" horizontalCenter="0"> > > <mx:TextInput id="newDirectoryName" text="{oldDirectoryName}" > > width="200"/> > > <mx:Button label="Save" click="renameDirectory(event)"/> > > </mx:HBox> > > > > </mx:TitleWindow> > > > > And my custom event. > > package events { > > > > import flash.events.Event; > > > > public class RefreshTreeEvent extends Event { > > > > public static const REFRESH_TREE:String = "refreshTree"; > > > > public function RefreshTreeEvent(type:String, > bubbles:Boolean=false, > > cancelable:Boolean=false) { > > super(type, bubbles, cancelable); > > } > > > > } > > } > > > > > > **************** The problem I am having is that I am unable to > listen for > > this event in my main application. If I add > > > > this.addEventListener(RefreshTreeEvent.REFRESH_TREE,reloadTree); > > > > The reloadTree method is never called. What am I doing wrong? > > > > Thanks again.. > > > > >