On 8/21/12 10:23 PM, dunb...@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.

--
Jacqueline Landman Gay         |     jac...@hyperactivesw.com
HyperActive Software           |     http://www.hyperactivesw.com

_______________________________________________
use-livecode mailing list
use-livecode@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode

Reply via email to