あなたが「applescript」と言うとき、私はあなたが「普通」のAppleScriptまたはAppleScriptObjCバージョンを意味するのかどうかわかりません。あなたが後者を意味するなら、私はそれを行う方法を知っています。 私が遅いプロセスで使用した1つの方法は、ウィンドウのコンテンツビュー全体にオーバーレイビューを置くことです。私はそれを部分的にウィンドウを覆い隠すために半透明の白にし、ある種のメッセージ(および進捗インジケータ)をその上に置きます。 IBで(カスタムタイプの)NSBoxを使用してこれを作成し、NSBoxのサブクラスを作成してビューの色を設定し、mouseDown:をオーバーライドすることができます。 MouseDown:は、その中にコードを入れる必要はなく、オーバーライドするだけで、キーイベントやマウスイベントをキャプチャしてイベントキューに蓄積しないようにすることができます。
script Overlay
property parent : class "NSBox"
on awakeFromNib()
set overlayColor to current application's NSColor's colorWithCalibratedWhite_alpha_(1,.8)
setFillColor_(overlayColor)
end
on mouseDown_(theEvent)
--log "mouseDown"
end
終了スクリプト
私はビュー階層における最上位のビューとしてこのビューを持っている、と私はそれを表示するまでtrueに隠されたプロパティを設定します。ここでは、私が使用したコードです。