topical media & game development

talk show tell print

professional-flex-code-26-ModularApplicationMain2.mx

professional-flex-code-26-ModularApplicationMain2.mx [swf] flex


  <?xml version="1.0" encoding="utf-8"?>
  <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical">
    <mx:Script>
      <![CDATA[
        import mx.events.FlexEvent;
        import mx.events.ModuleEvent;
        import mx.modules.ModuleManager;
        
        private var flag:Boolean = true;
        private var dynamicModule:ModuleLoader;
        
        private function changeWidgets():void 
        {
          if( flag ) {
            if( dynamicModule == null ) {
              dynamicModule = new ModuleLoader();
              dynamicModule.url = "PowWidget.swf";
              dynamicModule.addEventListener( FlexEvent.LOADING, eventHandler );            dynamicModule.addEventListener( ModuleEvent.PROGRESS, eventHandler );           dynamicModule.addEventListener( ModuleEvent.READY, eventHandler );
              dynamicModule.addEventListener( ModuleEvent.SETUP, eventHandler );
              dynamicModule.addEventListener( ModuleEvent.UNLOAD, eventHandler );
              this.addChild( dynamicModule );
            }
            mlRuntimeCSS.unloadModule();
            mlDateWidget2.unloadModule();         
            dynamicModule.loadModule();
          } else {
            mlRuntimeCSS.loadModule();
            mlDateWidget2.loadModule();         
            dynamicModule.unloadModule();
          }
          
          flag = !flag;
        }
        
        private function eventHandler( event:Event ):void
        {
          trace( "Control: " + event.currentTarget + " type: " + event.type );
        }
      ]]>
    </mx:Script>
    <mx:Button label="Change Widgets" 
      click="changeWidgets()" />
    <mx:ModuleLoader id="mlRuntimeCSS"
      url="RuntimeCSSModule.swf"
      loading="eventHandler( event )"
      progress="eventHandler( event )"
      ready="eventHandler( event )"
      setup="eventHandler( event )"
      unload="eventHandler( event )" />
    <mx:ModuleLoader id="mlDateWidget2"
      url="DateWidget.swf"
      loading="eventHandler( event )"
      progress="eventHandler( event )"
      ready="eventHandler( event )"
      setup="eventHandler( event )"
      unload="eventHandler( event )" />
      
  </mx:Application>


(C) Æliens 04/09/2009

You may not copy or print any of this material without explicit permission of the author or the publisher. In case of other copyright issues, contact the author.