Yes I extend the loader to create this new component. I had the same problem you have. The document is undefined on complete event, but a fill seconds after they appear so a put a interval to manipulate the content. I don't like this solution but I'll try a better one. If you have some idea, please let me know....
 
Tks...

 
On 3/24/06, inawire <[EMAIL PROTECTED]> wrote:
I take it 'AppLoader' is a custom component you created by extending
the Loader component? How did you endup handeling the 'unloading' of
an app before loading a second one?

How did you handel a notification from the inner app that it was
complete and that the shell app could talk to it.

Thanks


Ross

--- In flexcoders@yahoogroups.com, "Bruno Martins" <[EMAIL PROTECTED]> wrote:
>
> Hi Inawire,
>
> Excellent discover about the SystemManager. Now I did a first
AppLoader
> component(use AppLoader instead of Loader), until now its works
fine for
> me if you find some bugs please let me know.
>
> Thanks...
>
>
>
> On 3/24/06, inawire <[EMAIL PROTECTED]> wrote:
> >
> > Hi Bruno
> >
> > I was finaly able to talk to the inner app.
> > I added this code to a button in the shell app.
> > Note: applet is the id of my mx:Loader component in the shell app
> >
> > var subApp:SystemManager = SystemManager(applet.content );
> > trace(subApp.document.appName);
> >
> > content is of type SystemManager which has a document property.
This
> > document is the inner app root application. appName is a property
I
> > created in the root of the inner app.
> >
> > I had to stick this on a button to make sure the inner app was
> > completely loaded before I tried to talk to it. The complete
event of
> > the mx:Loader component is before the document is ready. I tried
the
> > INIT event of the LoaderInfo but no sucess yet with that.
> >
> > That's all I have so far.
> >
> >
> > Ross
> >
> >
> > --- In flexcoders@yahoogroups.com , "Bruno Martins" <bheman@>
wrote:
> > >
> > > Hi,
> > >
> > > I know about this listener problem but I'll try other solution
as
> > soon as
> > > possible...
> > >
> > > Tks....
> > >
> > >
> > > On 3/23/06, inawire <ross@> wrote:
> > > >
> > > > 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" <bheman@>
> > 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 <douglowder@> 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
> >
> >
> >    -  Visit your

> >    on the web.
> >
> >    -  To unsubscribe from this group, send an email to:
> >     [EMAIL PROTECTED]<flexcoders-
[EMAIL PROTECTED]>
> >
> >    -  Your use of Yahoo! Groups is subject to the Yahoo! Terms of
> >    Service <http://docs.yahoo.com/info/terms/>.
> >
> >
> >  ------------------------------
> >
>
>
>
> --

> Bruno Gustavo Martins
> Mobile: (55)(11)9585-9587
> [EMAIL PROTECTED]

> experience everywhere
> http://www.dclick.com.br/blog
>





 

YAHOO! GROUPS LINKS






--
Bruno Gustavo Martins
Mobile: (55)(11)9585-9587
[EMAIL PROTECTED]
experience everywhere
http://www.dclick.com.br/blog


--
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




Reply via email to