Adobe Bridge (CS 5.1) プラグインを作成しています。
私の問題は、ユーザーがスクリプトに対して有効な項目を選択しない限り、それぞれのメニュー項目がグレー表示されるようにする方法がわからないことです。
次のようにコーディングすることで、目的の状態に到達できます
function greyOutMenu () {
var doc = application.document;
var these = [];
these = doc.selections;
menuItem.enabled = true;
if ( these.length < 1 ) {
menuItem.enabled = false;
return;
}
for ( var i in these ) {
if ( these[i] /* is invalid */ ) { menuItem.enabled = false;
return;
}
}
しかし、メニューが開いたときにこのチェックを直接実行するにはどうすればよいですか? 私が使用する場合
myMenu.onSelect = greyOutMenu();
メニューを開いたときではなく、起動時にチェックを実行するだけです。