Thanks Bruno and Doug, This is on the right track (though I still do not know why this worked in beta 1 with out all this extra code).
Bruno, your code worked for me fine (flex 2 version of Doug's idea). When I load my inner app, the content resizes perfectly (see inner app below). The only trouble I am having now it a basic problem that anyone could probably help me with. The event listener for the 'resize' is still being called from the shell when I try to load a second inner app. I have been trying to use removeListener but do not seam to find an event that lets me know when the first inner app is being removed (or unloaded). I have tried to call unload() on the instance of the Loader app in the shell app and keep getting the error 'Call to a possibly undefined method 'unLoad' through a reference with static type 'mx.controls:Loader' Is there an event I can make the inner app listen for that tells me that it is being removed when I load a new inner app (or is it being removed)? Thanks Ross P.S. Bruno, as for your question, using your code and the fact that my inner apps scale using the layout anchors, I did not have to talk to the inner app from the shell app. I have tried using the LoaderInstanceName.content.propertyInInnerApp and I can not get around the same compliler error as stated above. Thanks for your help. Code for sample inner app the resizes to fit ========================================== <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" mlns="*" layout="absolute" width="100%" height="100%" creationComplete="initApp();" paddingBottom="0" paddingLeft="0" paddingRight="0" paddingTop="0" > <mx:Script> import flash.util.trace; private function resizeLoader(event:Event = null):void { width = parent.parent.parent.width; height = parent.parent.parent.height; } public function unLoader():void { trace('unLoader called') parent.parent.parent.removeEventListener("resize", resizeLoader); } private function initApp():void { resizeLoader(); parent.parent.parent.addEventListener("resize", resizeLoader); } </mx:Script> <mx:Canvas left="0" right="0" top="0" bottom="0" id="main"> <mx:DataGrid id="dg" left="0" top="0" bottom="0" right="0"> <mx:columns> <mx:DataGridColumn headerText="Column 1" dataField="col1"/> <mx:DataGridColumn headerText="Column 2" dataField="col2"/> <mx:DataGridColumn headerText="Column 3" dataField="col3"/> </mx:columns> </mx:DataGrid> </mx:Canvas> </mx:Application> ============================================================ --- In flexcoders@yahoogroups.com, "Bruno Martins" <[EMAIL PROTECTED]> wrote: > > Hi, > > I did a poor solution to this problem but I believe that is a start to solve > the problem: > > I put the following code in the application that will be loaded: > > private function resizeLoader(event:Event = null):void > { > width = parent.parent.parent.width; > height = parent.parent.parent.height; > } > > private function initApp():void{ > resizeLoader(); > parent.parent.parent.addEventListener("resize", resizeLoader); > } > > onCreationComplete execute the initApp()... > > I try to create a AppLoader component extend the loader and adjust the > content after the complete event but I don't know how to access the content > proprieties, if some one know how to change the content properties please > let me know... > > Tks... > > On 3/22/06, Doug Lowder <[EMAIL PROTECTED]> wrote: > > > > I know in 1.5 the trick was to provide the loaded (inner) app with > > getPreferredHeight() and getPreferredWidth() functions; may be worth a > > try in your case if you are able to modify the code for the loaded > > apps. In AS2, it was: > > > > function getPreferredHeight() { > > return _parent? _parent.layoutHeight : super.getPreferredHeight(); > > } > > > > function getPreferredWidth() { > > return _parent? _parent.layoutWidth : super.getPreferredWidth (); > > > > } > > > > --- In flexcoders@yahoogroups.com, "inawire" <ross@> wrote: > > > > > > With further testing, the loaded (inner) app (application.width) is > > > scailing to the correct size on initial load. When the outer shell > > > resizes, the inner app resize does not get called (it does when it > > > runs on its own). > > > > > > Also when the inner app first loads, thought the inner app is showing > > > the correct width available, the inner content does not scale to > > > fit available size of the inner app. > > > > > > Does anyone have any ideas? > > > > > > Ross > > > > > > > > > > > > > > > --- In flexcoders@yahoogroups.com, "Bruno Martins" <bheman@> wrote: > > > > > > > > I had the same problem, but I don't fix yet. > > > > > > > > On 3/21/06, inawire <ross@> wrote: > > > > > > > > > > Hi > > > > > > > > > > I just converted my app to Beta 2. Ran the conversion scripts, > > > switch > > > > > layout constraintes, changed LinkBar click to itemClick (that got > > > > > me),worked through some new warnings that were not present before. > > > > > Everything works fine now ... but (always a but) > > > > > > > > > > I'm loading other Flex apps into a shell Flex app. I had the > > > loaded > > > > > apps expanding to fill 100% of the available space. The shell app > > > has > > > > > a top control panel, a bottom status bar and the rest is left to > > > the > > > > > following code (below) to fill out the middle. In Beta 1, the apps > > > > > would load into the shell and expand to fit the available > > > > > width/height. Now when I load the apps they come in as 500x375. > > > The > > > > > apps on their own fill the browser window. Also, if I set the > > > apps to > > > > > be say 600 wide, they will come in 600 wide (loader will expand to > > > > > fit). > > > > > > > > > > Something has changed, does anyone have any ideas? > > > > > Is this related to the issue: > > > > > "Resize effect problems The Resize effect doesn't work with layout > > > > > constraints." (from known issues) > > > > > If so is there a workaround? > > > > > > > > > > Thanks > > > > > > > > > > Ross > > > > > > > > > > ----------------------------------------- > > > > > Code from shell app that loads sub apps. > > > > > ... > > > > > <mx:HBox width="100%" height="100%" borderStyle="solid" > > > > > cornerRadius="5" styleName="colorPanel" dropShadowEnabled="true" > > > > > horizontalGap="0"> > > > > > <mx:VBox width="100%" height="100%"> > > > > > <mx:Loader > > > > > height="100%" > > > > > width="100%" > > > > > id="applet" > > > > > minHeight="400" > > > > > minWidth="354" > > > > > source="{app}" > > > > > scaleContent="true" > > > > > complete="doneLoading()" > > > > > showBusyCursor="true" > > > > > /> > > > > > </mx:VBox> > > > > > </mx:HBox> > > > > > ... > > > > > > > > > > -- Flexcoders Mailing List FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com Yahoo! Groups Links <*> To visit your group on the web, go to: http://groups.yahoo.com/group/flexcoders/ <*> To unsubscribe from this group, send an email to: [EMAIL PROTECTED] <*> Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/