I'm not sure I understand why "modal" matters.  It sounds like you have some 
display object you want to parent and unparent and then re-parent.  For sure, 
lots of code worked that way in Flex but does it have to work that way in 
Royale?  Why not just toss the instance when you unparent it and create a new 
one when you next need it?  Or make the modal invisible and visible again?

If there is a good reason I would not want a flag in every instance of UIBase 
only for the few top-level widgets that are going to be re-parented.  We might 
refactor addedToParent to call a method that sets up the "first time only" 
stuff.  Then the classes that are likely to be reparented can have a flag and 
override of the "first-time-only" method.

I thought every bead that comes from a ValuesManager lookup is supposed to 
check the strand first.

My 2 cents,
-Alex

On 11/13/18, 12:05 AM, "Harbs" <harbs.li...@gmail.com> wrote:

    I ran into a problem today trying to create a “modal” bead.
    
    Every time a component is added or moved from one parent to another, 
addedToParent() is called which adds all the declared beads as well as looks up 
beads from the ValuesManager. Besides having extra overhead, this results in 
duplicate beads if declared via MXML.
    
    The simplest way to fix this would be to have a private flag which is set 
the first time a component is added to a parent and if the flag is set, the 
bead-setup code would not be run. This is a bit of “just in case” code, but I’ 
not sure how else to resolve this.
    
    Thoughts?
    Harbs

Reply via email to