Here's a couple of handlers that let you call them by the text of the
menuitem. They may not be industrial strength but work OK for my
purposes
on EnableMenuItem tMenu tMenuItem
--enable menu items and submenu items 1 deep (use | as submenu separator)
if tMenuItem is empty then
repeat with x = 1 to the number of lines in btn tMenu
enable menuitem x of btn tMenu
end repeat
else
--preprocess to remove shortcuts ,"&" and "(" data:
put empty into tlines
repeat for each line tlinetxt in btn tMenu
put tlinetxt into tline --avoid modifying repeat handle
replace "&" with empty in tline
replace "(" with empty in tline
get offset ("/",tline)
if it <> 0 then delete char it to -1 of tline
put tline & return after tlines
end repeat
delete char -1 of tlines
set the itemdel to "|"
set the wholematches to true
put lineoffset (item 1 of tMenuItem,tlines) into tlineNo
enable menuitem tlineNo of btn tMenu
--enable submenu item
put item 2 of tMenuItem into tMenuItem
add 1 to tlineNo
put line tlineNo of btn tMenu into tline
set the itemdel to tab
repeat until item 2 of tline is empty
if item 2 of tline = tMenuItem or tMenuItem is empty then
enable menuitem tlineNo of btn tMenu
add 1 to tlineNo
put line tlineNo of btn tMenu into tline
end repeat
end if
end EnableMenuItem
on disableMenuItem tMenu tMenuItem
--disable menuitem and submenu items one deep (separated by |)
if tMenuItem is empty then
repeat with x = 1 to the number of lines in btn tMenu
disable menuitem x of btn tMenu
end repeat
else
--preprocess to remove shortcuts, "&" and "(" data:
put empty into tlines
repeat for each line tlinedata in btn tMenu
put tlinedata into tline --avoid modifying repeat variable
get offset("/",tline)
if it <> 0 then delete char it to -1 of tline --remove
keyboard shortcut
replace "&" with empty in tline
replace "(" with empty in tline
replace "/" with empty in tline
put tline & return after tlines
end repeat
delete char -1 of tlines
set the itemdel to "|"
set the wholematches to true
put lineoffset (item 1 of tMenuItem,tlines) into tMainlineNo
put item 2 of tMenuItem into tMenuItem
put 1 + tMainlineNo into tlineNo
put line tlineNo of btn tMenu into tline
set the itemdel to tab
put true into DisableMainItem
repeat until item 2 of tline is empty
if item 2 of tline = tMenuItem or tMenuItem is empty then
disable menuitem tlineNo of btn tMenu else \
put false into DisablemainItem
add 1 to tlineNo
put line tlineNo of btn tMenu into tline
end repeat
if DisableMainItem then disable menuitem tMainlineNo of btn tMenu
end if
end disableMenuItem
regards
Martin
_______________________________________________
use-revolution mailing list
[email protected]
Please visit this url to subscribe, unsubscribe and manage your subscription
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution