Mega Code Archive

 
Categories / Flex / Container
 

Use SWFLoader control to load it into another Flex application

<!-- Code from Flex 4 Documentation "Using Adobe Flex 4". This user guide is licensed for use under the terms of the Creative Commons Attribution  Non-Commercial 3.0 License.  This License allows users to copy, distribute, and transmit the user guide for noncommercial  purposes only so long as    (1) proper attribution to Adobe is given as the owner of the user guide; and    (2) any reuse or distribution of the user guide contains a notice that use of the user guide is governed by these terms.  The best way to provide notice is to include the following link.  To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/ --> <!-- controls\swfloader\SWFLoaderInteract.mxml --> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"     xmlns:s="library://ns.adobe.com/flex/spark"     xmlns:mx="library://ns.adobe.com/flex/mx" backgroundColor="gray"     height="200">     <fx:Script>                   import mx.managers.SystemManager;          [Bindable]          public var loadedSM:SystemManager;          // Initialize variables with information from          // the loaded application.          private function initNestedAppProps():void {              loadedSM = SystemManager(myLoader.content);              // Enable the buttons after the application loads.              b1.enabled = true;              b2.enabled = true;              b3.enabled = true;          }          // Update the Label control in the outer application          // from the Label control in the loaded application.          public function updateLabel():void {              lbl.text=loadedSM.application["lblOne"].text;          }          // Write to the Label control in the loaded application.          public function updateNestedLabels():void {              loadedSM.application["lblOne"].text = "I was just updated.";              loadedSM.application["varOne"] = "I was just updated.";          }          // Write to the varOne variable in the loaded application          // using the setVarOne() method of the loaded application.          public function updateNestedVarOne():void {              loadedSM.application["setVarOne"]("Updated varOne!");          }             </fx:Script>     <s:VGroup>         <s:Label id="lbl" />         <mx:SWFLoader id="myLoader" width="300" source="FlexApp.swf"             complete="initNestedAppProps();" />         <s:Button id="b1" label="Update Label Control in Outer Application"             click="updateLabel();" enabled="false" />         <s:Button id="b2" label="Update Nested Controls"             click="updateNestedLabels();" enabled="false" />         <s:Button id="b3" label="Update Nested varOne"             click="updateNestedVarOne();" enabled="false" />     </s:VGroup> </s:Application>