ฉันจะสร้าง AppleScript ด้วยเมนูแบบเลื่อนลงโดยไม่มี Xcode ได้อย่างไร


8

ฉันจะสร้าง AppleScript ที่แสดงเมนูดร็อปดาวน์โดยไม่ใช้ Xcode ได้อย่างไร

คำตอบ:


1

ไม่มีแนวคิดในตัวของเมนูในการเตือนโต้ตอบภายในภาษา AppleScript

สิ่งที่ใกล้เคียงที่สุดที่คุณสามารถทำได้คือตั้งชื่อไฟล์จำลอง (ในโฟลเดอร์ชั่วคราว) ด้วยการกระทำที่เหมาะสมและให้ผู้ใช้เลือกไฟล์ที่มีป้ายกำกับด้วยการกระทำที่คุณต้องการดำเนินการ

open folder blah
  with selected file bah
    do whatever

"โซลูชัน" ที่น่ากลัวสำหรับปัญหาที่ต้องมีเมนูโกโก้ไม่ว่าคุณจะสร้างเป็น Xcode หรือบุคคลอื่นทำXcode / IB เป็นเครื่องมือที่สร้างเมนูขึ้นมา MacRuby เป็นวิธีที่ดีในการเขียนสคริปต์แอพที่ต้องการ UI ที่โดดเด่นมากกว่า AppleScript คุณไม่จำเป็นต้องใช้ Xcode / IB เพื่อทำการทับทิมแอพจากสคริปต์ล้วนๆ

คุณสามารถสร้าง NIB โดยใช้ตัวสร้างส่วนต่อประสานและสร้างสคริปต์ทั้งหมดโดยใช้ AppleScript แต่ปลายปากกาจะกำหนดเมนูเอง - ไม่ใช่ AppleScript (แม้ว่า AppleScript จะสามารถสร้างหรือลบรายการเมนูในเวลาทำงาน)


11

ทางเลือกหนึ่งคือการใช้CocoaDialog **:

set l to {"aa", "bb", "cc"}
set choices to ""
repeat with x in l
    set choices to choices & quoted form of x & " "
end repeat
set dialog to paragraphs of (do shell script "/Applications/CocoaDialog.app/Contents/MacOS/CocoaDialog" & " standard-dropdown --title title --text text --items " & choices)
if item 1 of dialog is "2" then return -- pressed cancel button
item ((item 2 of dialog) + 1) of l

คุณสามารถใช้choose from list:

choose from list {"aa", "bb", "cc"} with title "Title" with prompt "Please choose" default items "bb" with multiple selections allowed


** URL ดั้งเดิมของ repo Github นี้mstratmanมีการเปลี่ยนแปลง จากการวิจัยดูเหมือนว่าCocoaDialogเปลี่ยนไปเป็นองค์กร นี่คือการเปลี่ยนแปลงใหม่:


1

นอกจากนี้หากคุณต้องการรายการให้เลือกคุณสามารถทำได้

choose from list listYouDefined with prompt "Choose from the list."

Google "AppleScript เลือกจากรายการ"


1

ฉันเข้าใจว่านี่เป็นคำถามเก่า แต่เนื่องจากคำตอบที่ดีที่สุดที่ระบุไว้ในเอกสารสำหรับ CocoaDialog 2:

การดาวน์โหลดไม่ทำงานดาวน์โหลดสำหรับ cocoadialog 2 ไม่สามารถใช้งานได้อีกต่อไป นี่คือส่วนใหญ่เนื่องจากการเปลี่ยนแปลงต่าง ๆ และการขาดการจัดเก็บถาวรมากกว่าปี

และ 3 ยังไม่มาถึงสปริง / ซัมเมอร์ 18 ฉันค้นหาตัวเลือกอื่นและพบPashua :

ป้อนคำอธิบายรูปภาพที่นี่ (รูปที่นำมาจากเว็บไซต์)

ภายใต้เอกสารนี้เรียกว่าpopup:

Example: Using popup
p.type = popup
p.label = Example popup menu
p.width = 310
p.option = Popup menu item #1
p.option = Popup menu item #2
p.option = Popup menu item #3
p.default = Popup menu item #2

ภาพหน้าจอ:

ป้อนคำอธิบายรูปภาพที่นี่

GitHub repo

หลังจากใช้แล้วฉันพบว่าคุณสามารถติดตั้ง Pashua.app ในไดเรกทอรีแอปพลิเคชันของคุณหรือคุณสามารถฝัง Pashua ในแอปของคุณ ฉันไม่ใช่ผู้เขียนสิ่งนี้ แต่ฉันต้องการโซลูชันพื้นฐานสำหรับ GUI และสิ่งนี้ไม่ได้กล่าวถึง


0

คุณไม่จำเป็นต้องมี Xcode สำหรับ AppleScript เพียงเปิดตัวแก้ไข AppleScript ใน Applications / Utilities (ทางลัด Finder สำหรับโฟลเดอร์ Utilities: ⌘ Command+ Shift+ U) มีบางตัวอย่างรหัสสำหรับเมนูแบบเลื่อนลงบนเป็นMacScripter: เมนูแบบเลื่อนลง


ฉันได้ดูลิงก์นั้นแล้ว สคริปต์ต้องการอินเตอร์เฟส NIB / Xcode
daviesgeek

เป็นตัวอย่างที่ดีว่า AppleScript สามารถปรับเปลี่ยนรายการเมนูในขณะใช้งานได้อย่างไร :-)
bmike

ใช่ แต่ไม่ใช่สิ่งที่ฉันกำลังมองหา
daviesgeek
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.