on deleteGroup
Devin Asay
devin_asay at byu.edu
Thu Jan 7 10:47:14 EST 2010
On Jan 7, 2010, at 8:21 AM, David Bovill wrote:
> Hi Devin - the problem is no message is sent so I can't tell when
> the group
> is deleted. The only way to do that is have a front script, but I
> was hoping
> to use behaviors - so i could script a component without having to
> install
> somethin in a users development environment.
Sorry, David, I didn't read your original message closely enough. What
if the parent group has a deleteGroup handler that passes the message
on? Maybe the parent group is just swallowing group-related messages
from child groups.
What does the Message Watcher say? If no deleteGroup is generated by
nested groups it seems like a bug to me.
Regards,
Devin
>
> 2010/1/4 Devin Asay <devin_asay at byu.edu>
>
>>
>> On Jan 1, 2010, at 12:45 PM, David Bovill wrote:
>>
>> Just noticed that the deleteGroup message is not sent when the
>> group is
>>> nested - anyone got an idea how to get around this?
>>>
>>> Say you have a group that you want to do some tidying up if a user
>>> deletes
>>> it - and so you put a handler like this in the group itself:
>>>
>>> on deleteGroup
>>>
>>>> beep
>>>> doSomeTidying
>>>> pass deleteGroup
>>>> end deleteGroup
>>>>
>>>>
>>> Which works fine if it is a toplevel group - but when this group
>>> is inside
>>> another group deleting the toplevel group triggers a deleteGroup
>>> message
>>> which travels up the hierarchy to the card - but no deleteGroup
>>> messages
>>> are
>>> sent from the inner groups - this means you can't attach appropriate
>>> behaviors to the groups.
>>>
>>> Wandering if anyone has looked at this - I can't think how to do
>>> it as
>>> deleteGroup is sent after deletion so even a frontscript would not
>>> be able
>>> to tell what was inside a deleted group. Even the new closeControl
>>> message
>>> does not seem to be sent in these circumstances?
>>>
>>
>> David,
>>
>> Maybe you'll need to check the child objects of the group before
>> you delete
>> the parent group. If they have child groups delete them first from
>> the
>> "inside out", so that each group is deleted individually and so
>> triggers the
>> deleteGroup message.
>>
>> repeat with x= 1 to the number of groups in group "parent"
>> if there is a group x of group "parent" then
>> delete group x of group "parent"
>> else
>> exit repeat
>> end if
>> end repeat
>>
>> Regards,
>>
>> Devin
>>
>>
>> Devin Asay
>> Humanities Technology and Research Support Center
>> Brigham Young University
>>
>> _______________________________________________
>> use-revolution mailing list
>> use-revolution at lists.runrev.com
>> Please visit this url to subscribe, unsubscribe and manage your
>> subscription preferences:
>> http://lists.runrev.com/mailman/listinfo/use-revolution
>>
> _______________________________________________
> use-revolution mailing list
> use-revolution at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-revolution
Devin Asay
Humanities Technology and Research Support Center
Brigham Young University
More information about the use-livecode
mailing list