Understood!  I'll add that to my blog.

Thanks again.

--- In [email protected], Alex Harui <aha...@...> wrote:
>
> TopLevelSystemManager is might be used by a sub-app of that sub-app to get to 
> its parent sub-app if they are both on the same version and not using 
> loadForCompatibility (did you follow that?)
> 
> LoaderContext is available for those who really know what they are doing and 
> need explicit control for some configuration we don't support with the 
> Marshall Plan, usually for controlling the policy file parameter.  The 
> marshall plan does not support re-using an appdom.  LoadForCompatibility 
> refreshes the loaderContext before each load.
> 
> 
> On 2/1/10 4:01 PM, "jamesfin" <james.alan.finni...@...> wrote:
> 
> 
> 
> 
> 
> 
> And...
> 
> With what use-case would the loaderContext be used?
> 
> --- In [email protected] <mailto:flexcoders%40yahoogroups.com> , 
> "jamesfin" <james.alan.finnigan@> wrote:
> >
> > 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] <mailto:flexcoders%40yahoogroups.com> , 
> > Alex Harui <aharui@> 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.finnigan@> 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
> > >
> >
> 
> 
> 
> 
> 
> 
> --
> Alex Harui
> Flex SDK Team
> Adobe System, Inc.
> http://blogs.adobe.com/aharui
>


Reply via email to