On 9/2/13 11:53 PM, "Maurice Amsellem" <[email protected]> wrote:

>Thanks Alex, these information are enlightening.
>Actually,  I meant having access to the module root UI instance (the
>subclass of s:Module).
If you used ModuleLoader then the child is that thing.  But if you used
ModuleManager, you can create multiple instances of that thing, and that's
why the framework doesn't have a back-reference to "the" module root UI
instance since there can be more than one.

-Alex

>
>Maurice 
>
>-----Message d'origine-----
>De : Alex Harui [mailto:[email protected]]
>Envoyé : mardi 3 septembre 2013 05:53
>À : [email protected]
>Objet : Re: question on modules
>
>This is a common misconception:  modules do not have a "module instance".
>All you are doing is loading a factory from which you can make any number
>of instances of the classes in the module via the factory.create() method.
> That's why there is no mapping back to a single instance, just the
>factory.
>
>A popup would not be parented by any module instances since they are hung
>off of the top-level app's systemManager.  You'll have to build your own
>map.
>
>-Alex
>
>On 9/2/13 5:24 PM, "Maurice Amsellem" <[email protected]> wrote:
>
>>Actually, from SamplePopup.mxml,
>>parentApplication.sampleModuleLoader.child points to the module...
>>
>>So if I KNOW that the component is in module X , this is how to get it.
>>
>>The problem is that I need a generic mechanism, that would allow me to
>>get the module instance of any ui component, even if there are several
>>modules, or even if it belongs to  the top level application.
>>
>>FYI, the purpose of this is to fix an issue in Cairngorm3/Parsley 2.4
>>Popup tag (ie com.adobe.cairngorm.popup.PopupBase class and
>>subclasses), that does not seem to be module aware.
>>Actually,  PopupBase.getParent() always returns
>>FlexGlobal.topLevelApplication even if the Popup tag belongs to a
>>module, instead of the module instance.
>>The effect of this is that the context is not computed correctly (
>>returns the topLevel application context, instead of the module child
>>context), Which in turn prevent  FastInject from working inside Popups
>>that are declared in modules.
>>
>>Regards,
>>
>>Maurice
>>
>>-----Message d'origine-----
>>De : Maurice Amsellem [mailto:[email protected]]
>>Envoyé : mardi 3 septembre 2013 01:56
>>À : [email protected]
>>Objet : RE: question on modules
>>
>>I am new to modules, so not sure to understand what you wrote.
>>
>>This is how I am using the module:
>>
>>In main app:
>><s:ModuleLoader id="sampleModuleLoader"  url="../SampleModule.swf"/>
>>
>>The module itself is declared as follows:
>>
>>SampleModule.mxml
>><s:Module>
>> ...
>></s:Module>
>>
>>Then I have somewhere else a popup defined in the module
>>SamplePopup.mxml <s:TitleWindow ...>
>>   <s:TextInput id="ti" />
>></s:TitleWindow>
>>
>>So what is moduleComponentId in this case ?
>>
>>Maurice
>>
>>-----Message d'origine-----
>>De : Mark Kessler [mailto:[email protected]]
>>Envoyé : mardi 3 septembre 2013 01:21
>>À : Users@flex
>>Objet : Re: question on modules
>>
>>Would something like either of the following have any effect on the
>>your pathing for test purposes?
>>
>>(parentApplication.moduleComponentId as
>>Modulename).ventana.variableName.text = "test";
>>
>>or
>>
>>(parentApplication.moduleComponentId as
>>Object).ventana.variableName.text = "test";
>>
>>
>>-Mark
>>
>>On Mon, Sep 2, 2013 at 6:56 PM, Michael Astudillo <
>>[email protected]> wrote:
>>
>>> Hi,
>>> When you try to access to a popup trougth a module first you create a
>>>variable like TitleWindow and second assign the call at this, for
>>>example:
>>>
>>> public var ventana:TitleWindow = new TitleWindow(); function Sample()
>>> {
>>>                ventana =
>>> PopUpManager.createPopUp(this,**titleWindowSample,true)
>>> as TitleWindow;
>>>                 PopUpManager.centerPopUp(**ventana);
>>> }
>>>
>>> parentApplication.**moduleComponentId.ventana.**variableName.text =
>>> "";
>>>
>>>
>

Reply via email to