godot/misc/hooks/asmessage.applescript

60 lines
2.1 KiB
AppleScript

on run argv
set vButtons to { "OK" }
set vButtonCodes to { 0 }
set vDbutton to "OK"
set vText to ""
set vTitle to ""
set vTimeout to -1
repeat with i from 1 to length of argv
try
set vArg to item i of argv
if vArg = "-buttons" then
set vButtonsAndCodes to my fSplit(item (i + 1) of argv, ",")
set vButtons to {}
set vButtonCodes to {}
repeat with j from 1 to length of vButtonsAndCodes
set vBtn to my fSplit(item j of vButtonsAndCodes, ":")
copy (item 1 of vBtn) to the end of the vButtons
copy (item 2 of vBtn) to the end of the vButtonCodes
end repeat
else if vArg = "-title" then
set vTitle to item (i + 1) of argv
else if vArg = "-center" then
-- not supported
else if vArg = "-default" then
set vDbutton to item (i + 1) of argv
else if vArg = "-geometry" then
-- not supported
else if vArg = "-nearmouse" then
-- not supported
else if vArg = "-timeout" then
set vTimeout to item (i + 1) of argv as integer
else if vArg = "-file" then
set vText to read (item (i + 1) of argv) as string
else if vArg = "-text" then
set vText to item (i + 1) of argv
end if
end try
end repeat
set vDlg to display dialog vText buttons vButtons default button vDbutton with title vTitle giving up after vTimeout with icon stop
set vRet to button returned of vDlg
repeat with i from 1 to length of vButtons
set vBtn to item i of vButtons
if vBtn = vRet
return item i of vButtonCodes
end if
end repeat
return 0
end run
on fSplit(vString, vDelimiter)
set oldDelimiters to AppleScript's text item delimiters
set AppleScript's text item delimiters to vDelimiter
set vArray to every text item of vString
set AppleScript's text item delimiters to oldDelimiters
return vArray
end fSplit