Thanks for the feedback.  Ironically, I had just found the 
systemManager.getSandboxRoot() reference and was putting it in to test!

While on the same subject, is systemManager.topLevelSystemManager used in a 
non-sandboxed-sub-app?

I'll blog this for sure as it was quite a hike around the mountain.

Thx again!

--- In [email protected], Alex Harui <aha...@...> wrote:
>
> Couple of things:
> 
> 
>  1.  You should not be setting a loaderContext.  It doesn't affect this test 
> case, but it is not recommended practice.  Set loadForCompability=true BEFORE 
> you call load().  I modified your init() function to look just like this:
> 
>             private function init():void{
> 
>                 loader.loadForCompatibility = true;
>                 loader.load("SubAppTestChild.swf");
>             }
> 
> 2. I thought the original goal was to get the sub-apps popup to center in the 
> main app, but the code looked like the goal was to center between two lines.  
> If the goal is to center in the main app, I adjusted the code to look like 
> this:
> 
>             public function loadDialog():void{
>                 var test:TestView = 
> PopUpManager.createPopUp(systemManager.getSandboxRoot(), TestView, true) as 
> TestView;
>                 PopUpManager.centerPopUp(test);
>             }
> 
> 
> 
> On 2/1/10 11:32 AM, "jamesfin" <james.alan.finni...@...> wrote:
> 
> 
> 
> 
> 
> 
> I've been trying to center a dialog in a sub application but haven't had any 
> success.  All SubApplication experts can pitch-in here...
> 
> Backgrounder...SubApps are cool because two SWF's can be compiled with 
> different SDK's and can still work together.
> 
> The upper/left-hand corner of the dialog appears between the two HRule's 
> because that is where the SWFLoader resides in the parent MXML.  The dialog 
> isn't clipped in any way.
> 
> I've tried many combinations to get the dialog to center but it won't budge.
> 
> For a quick demo...
> 
> http://71.36.29.20:8888/SubAppTestParent.html
> 
> Parent Source...
> 
> <?xml version="1.0" encoding="utf-8"?>
> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"; layout="absolute" 
> applicationComplete="init()" preinitialize="preinit()">
> 
> <mx:Script>
>  <![CDATA[
>  import mx.controls.SWFLoader;
>  import mx.managers.SystemManager;
> import mx.events.FlexEvent;
> import mx.managers.PopUpManager;
> 
>  private function preinit():void{
> // Security.allowDomain("*");
>  }
> 
> private function init():void{
> 
> var context:LoaderContext = new LoaderContext();
> context.securityDomain = SecurityDomain.currentDomain;
> context.applicationDomain = new ApplicationDomain();
> loader.loaderContext = context;
> loader.load("http://71.36.29.20:8888/SubAppTestChild.swf";);
> loader.loadForCompatibility = true;
> loader.trustContent = true;
> }
> 
> private function testChild(event:MouseEvent):void{
> (loader.content as Object).application.loadDialog();
>  }
> 
>  ]]>
>  </mx:Script>
> 
> <mx:VBox width="100%">
> <mx:HBox width="100%">
> <mx:Button click="testChild(event)" label="Open SubApplication"/>
> <mx:Text text="The popup top/left corner should be between the two HRule 
> lines"/>
> </mx:HBox>
> <mx:HRule width="100%"/>
> <mx:SWFLoader id="loader"/>
> <mx:HRule width="100%"/>
> </mx:VBox>
> 
> </mx:Application>
> 
> Child Source...
> 
> <?xml version="1.0" encoding="utf-8"?>
> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"; layout="absolute" 
> preinitialize="preinit()" viewSourceURL="srcview/index.html">
> 
> <mx:Script>
> <![CDATA[
> 
> import mx.managers.PopUpManager;
> 
> private function preinit():void{
> // Security.allowDomain("*");
>  }
> 
> public function loadDialog():void{
> var test:TestView = PopUpManager.createPopUp(Application.application as 
> DisplayObject, TestView, true) as TestView;
>      PopUpManager.centerPopUp(test);
> }
> 
> ]]>
> </mx:Script>
> </mx:Application>
> 
> 
> 
> 
> 
> 
> --
> Alex Harui
> Flex SDK Team
> Adobe System, Inc.
> http://blogs.adobe.com/aharui
>


Reply via email to