The Owner of a background group
dunbarx at aol.com
dunbarx at aol.com
Wed Aug 22 09:31:25 EDT 2012
Jacque.
Whew. Exhaustive presentation. Thanks.
I will keep this in my scrapbook. But my veiled point is that groups, for all their power and advantages, are just slightly a kluge, and have to manage odd and disparate issues due to the simple fact that they are an object that contains lower level objects.
So be it. I am not complaining, just nostalgic. I am still embellishing old HC stacks.
Regards,
Craig
-----Original Message-----
From: J. Landman Gay <jacque at hyperactivesw.com>
To: How to use LiveCode <use-livecode at lists.runrev.com>
Sent: Wed, Aug 22, 2012 12:24 am
Subject: Re: The Owner of a background group
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.
--
Jacqueline Landman Gay | jacque at hyperactivesw.com
HyperActive Software | http://www.hyperactivesw.com
_______________________________________________
use-livecode mailing list
use-livecode at lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription
preferences:
http://lists.runrev.com/mailman/listinfo/use-livecode
More information about the use-livecode
mailing list