Xcode içermeyen açılır menüye sahip bir AppleScript'i nasıl yapabilirim?


8

Xcode kullanmadan açılır menü gösteren bir AppleScript'i nasıl yapabilirim?

Yanıtlar:


1

AppleScript dilinde diyalog uyarılarında yerleşik bir menü konsepti yoktur.

Yapabileceğiniz en yakın şey, bazı kukla dosyaları (geçici bir klasörde) uygun eylemle adlandırmak ve kullanıcının gerçekleştirmek istediğiniz eylemle etiketlenmiş dosyayı seçmesini sağlamaktır.

open folder blah
  with selected file bah
    do whatever

Kakao menüsüne ihtiyaç duyan bir soruna korkunç bir "çözüm" - Xcode'da ya da başka biri yaparsanız - Xcode / IB bir menü oluşturan araçtır . MacRuby, AppleScript'ten daha tam özellikli bir kullanıcı arayüzüne ihtiyaç duyan bir uygulamayı kodlamanın güzel bir yoludur. Bir uygulamayı saf komut dosyasından yakutlamak için Xcode / IB'ye ihtiyacınız yoktur.

Arabirim Oluşturucu'yu kullanarak bir NIB oluşturabilir ve hepsini AppleScript kullanarak komut dosyası oluşturabilirsiniz, ancak uç menünün kendisini tanımlar - AppleScript'i değil (AppleScript menü öğelerini çalışma zamanında doldurabilir veya silebilir olsa bile).


11

Bir seçenek CocoaDialog ** kullanmak olacaktır :

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

Ayrıca choose from listşunları da kullanabilirsiniz :

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


** Bu Github deposunun orijinal URL'si mstratmandeğişti. Araştırmadan CocoaDialog bir kuruluşa geçti . İşte yeni değişiklikler:


1

Ayrıca, seçim yapabileceğiniz bir listeye ihtiyacınız varsa,

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

Google "AppleScript Listeden seçin".


1

Bunun eski bir soru olduğunu anlıyorum, ancak en iyi oylanan cevap CocoaDialog 2 belgelerinde söylendiği için:

İndirmeler çalışmıyor Cocoadialog 2 için indirmeler artık mevcut değil. Bu çoğunlukla kısmen çeşitli değişiklikler ve yıllar boyunca kalıcı depolama eksikliğinden kaynaklanmaktadır.

ve 3 İlkbahar / Yaz 18'e kadar gelmiyor Başka alternatifler arıyordum ve Pashua'yı buldum :

resim açıklamasını buraya girin (siteden çekilen resim)

Belgeler altında buna şöyle denir 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

Ekran görüntüsü:

resim açıklamasını buraya girin

Github Reposu

Kullandıktan sonra Pashua.app uygulamasını Uygulama dizininize yükleyebilir veya Pashua'yı uygulamanıza yerleştirebilirsiniz. Bunun yazarı değilim ama bir GUI için temel bir çözüme ihtiyacım vardı ve bundan bahsedilmedi.


0

AppleScript için Xcode'a ihtiyacınız yoktur. AppleScript Editor uygulamasını Uygulamalar / Yardımcı Programlar'da açın (Yardımcı Programlar klasörü için Finder kısayolu: ⌘ Command+ Shift+ U). MacScripter: Açılır menüsünde açılır menüler için bazı örnek kodlar vardır .


Bu bağlantıya çoktan baktım. Komut dosyası bir NIB / Xcode arayüzü gerektirir.
daviesgeek

AppleScript'in menü öğelerini çalışma zamanında nasıl değiştirebileceğine harika bir örnek :-)
bmike

Evet, ama tam olarak aradığım şey değil.
daviesgeek
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.