123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- 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
|