Scripting of buttonproducing field to give buttons backgroundBehavior
Alex Tweedly
alex at tweedly.net
Sun Jan 23 10:39:35 EST 2005
Bob Hartley wrote:
> At 01:16 23/01/2005, you wrote:
>
>> I have met with the problem, that the handler of a field, which shall
>> enable user to produce pre-scripted buttons, is able to produce the
>> buttons with the scripts required, and place them where they shall be
>> placed, - but all attempts to, after "group" "set
>> backgroundBehavior to true" is failing. Best would be, if they could
>> be set to include themselves, as they are produced - now and then-by
>> the user, in one big shared group. Anybody have a solution?
>
> Ahhh sorry I realise you want to add to a group. I want to do this as
> well so I'll mail you if I get an answer.
>
> You could use the earlier script I sent to group the objects and also
> add a line to rename the group to "MasterGroup"
> Then use a button to ungroup the group "MasterGroup.
An alternative approach MIGHT be to use the clone command.
If you clone a control which is already part of a group, then it to will
be part of that group. So if there is at least one initial button in the
background group, you could clone it and then modify the name / script
/etc. of the newly created one. Only an option if there is an initial
background group with an initial button.
If you follow Bob's approach of ungrouping and regrouping, you could add
a filter command to allow the option of having other controls which are
not part of the background group (if you need that). Something like
on mouseUp
addToGroup "card id 1002", "My Group", "My Button"
end mouseUp
on addToGroup pCard, pGroupName, pButton
-- Adds button pButton to the group pGroupName on card pCard
-- assumes controls and groups have unique names
local L, tControls, toDo
repeat with L = 1 to the number of controls of card pCard
put the long name of control L & cr after tControls
end repeat
filter tControls with ("*of group " & quote & pGroupName & quote & "*")
ungroup group pGroupName of card pCard
put "group " into toDo
repeat with L = 1 to the number of lines in tControls
put word 1 to 2 of line L of tControls & " and " after toDo
end repeat
put "button" && quote & pButton & quote after toDo
do toDo
set the name of last group to pGroupName
end addtoGroup
-- Alex.
--
No virus found in this outgoing message.
Checked by AVG Anti-Virus.
Version: 7.0.300 / Virus Database: 265.7.1 - Release Date: 19/01/2005
More information about the use-livecode
mailing list