The Owner of a background group

Devin Asay devin_asay at byu.edu
Wed Aug 22 10:58:59 EDT 2012


Jacque,

This is a great overview of how groups work. I am so saving this in my notes. With attribution, of course!

Devin

On Aug 21, 2012, at 10:23 PM, J. Landman Gay wrote:

> On 8/21/12 10:23 PM, dunbarx at aol.com wrote:
> 
>> And so a group, being an object that contains other objects, has no
>> unequivocal place in the hierarchy.
> 
> There's an order. It's changed a couple of times, but as I understand it, the system is:
> 
> 1. Card groups
>  BackgroundBehavior: false
>  Shared: no, only appears on one card
>  Messages:
>    control -> group -> card -> background(s) -> stack
>  Event messages: no
> 
> 
> 2. Shared card groups
>  BackgroundBehavior: false
>  Shared: yes, if placed on multiple cards
>  Messages:
>    control -> group -> card -> background(s) -> stack
>  Event messages: no
> 
> 
> 3. Background groups
>  BackgroundBehavior: true
>  Shared: yes
>  Messages:
>    Unplaced groups (not on any card): receive no messages
>    Placed groups, when a grouped control is clicked:
>       control -> group -> card -> other background(s) -> stack
>    Placed groups, when clicked outside any control:
>       card -> group -> other background(s) -> stack
>  Event messages: yes
> 
> 
> Unplaced groups can serve as resource storage for images, icons, behavior buttons, etc. and can be referenced by anything in the stack. They are not in the message hierarchy.
> 
> Numbers 1 and 2 are very similar and could probably be consolidated into simply "card groups". Shared card groups were removed from a recent version, and any group that was placed on multiple cards was automatically set to have its backgroundBehavior = true. But people had been sharing non-background groups and the change broke their stacks, so they were put back in again.
> 
> When not dealing with mouse messages, background groups always receive event messages after the card, and handler calls will travel through them on their way to the stack script. Card groups, both shared and unshared, do not receive event messages because they are "on top" of the card, and engine messages are always sent to the card. Handler calls from the card will not reach card groups either unless specifically "sent" there.
> 
> That's my current understanding but if any of it's wrong, someone please correct me.


Devin Asay
Humanities Technology and Research Support Center
Brigham Young University







More information about the use-livecode mailing list