The code below works fine except for the fact that the menu of the
PopUpButton does not close. When I comment out the
CairngormEventDispatcher, the PopUpButton closes. So I assume that
there is something wrong with dispatching an event in a
handler??


<?xml version="1.0" encoding="utf-8"?>
<mx:HBox xmlns:mx="http://www.adobe.com/2006/mxml"; width="400"
height="300">
        <mx:Script>
                <![CDATA[
                        import mx.events.MenuEvent;
                        import mx.controls.Menu;
                        import 
com.adobe.cairngorm.control.CairngormEventDispatcher;
                        import com.faindu.base.control.event.GetPageEvent;
                        import mx.core.UIComponent;

                        [Bindable]
                        public var pageTree:XMLList;
                        private var myMenu:Menu;

                        private function itemClickHandler(e:MenuEvent):void {
                                BelowPages.label = "new label";
                                BelowPages.close();
                                myMenu.selectedIndex = e.index;
                                var event :  GetPageEvent = new 
GetPageEvent([EMAIL PROTECTED]);
                                
CairngormEventDispatcher.getInstance().dispatchEvent( event );  
                        }
                
                        private function populateButton(allpages:XMLList) : 
UIComponent {
                                allpages = allpages.below.*;
                                myMenu = new Menu();
                                myMenu.dataProvider = allpages;
                                myMenu.labelField = "@label";
                                myMenu.addEventListener("itemClick", 
itemClickHandler);
                                return myMenu;
                        }
                ]]>
        </mx:Script>
    <mx:PopUpButton id="BelowPages" popUp="{populateButton(pageTree)}"/>
</mx:HBox>


Reply via email to