The Owner of a background group

J. Landman Gay jacque at
Wed Aug 22 00:23:44 EDT 2012

On 8/21/12 10:23 PM, dunbarx at 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
     control -> group -> card -> background(s) -> stack
   Event messages: no

2. Shared card groups
   BackgroundBehavior: false
   Shared: yes, if placed on multiple cards
     control -> group -> card -> background(s) -> stack
   Event messages: no

3. Background groups
   BackgroundBehavior: true
   Shared: yes
     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.

Jacqueline Landman Gay         |     jacque at
HyperActive Software           |

More information about the use-livecode mailing list