60 lines
2.1 KiB
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
|