menuItem は、マウスの右ボタンをクリックしたときに表示されるメニューの選択項目の設定に使用します。menuItem の構文は次のとおりです。
menuItem <name> <label> [checked:<boolean>] [enabled:<boolean>] [filter:<function>]
パラメータ
name:
イベント ハンドラを作成するときの参照に使用します。
label:
右クリック メニューに表示される文字列
checked:
マウスの右ボタンをクリックしたときに開くメニューで、ラベルの前にチェックマークを表示するかどうかを指定します。true
の場合は項目にチェックマークが表示され、その他の場合はチェックマークは表示されません。
enabled:
右クリック メニューを開いたときに項目の使用が可能であるかどうかを指定します。true
の場合は項目が使用可能で、その他の場合は使用不可になりグレー表示されます。
filter:
ブール値を返す関数です。filter 関数は、右クリック メニューが初めて開かれるときに評価されます。filter 関数が true
を返す場合は、menuItem がメニューに表示されます。false を返す場合は、表示されません。
プロパティ
<menuitem>.text String
右クリック メニューに表示される文字列
<menuitem>.checked Boolean
マウスの右ボタンをクリックしたときに開くメニューで、ラベルの前にチェックマークを表示するかどうかを指定します。true
の場合は項目にチェックマークが表示され、その他の場合はチェックマークは表示されません。
<menuitem>.enabled Boolean
右クリック メニューを開いたときに項目の使用が可能であるかどうかを指定します。true
の場合は項目が使用可能で、その他の場合は使用不可になりグレー表示されます。
イベント
on <menuitem> picked do <expr>
ユーザがメニュー項目をクリックしたときに呼び出されます。
例:
rcmenu RCmenuRenderable ( fn onlyOneSelected = selection.count == 1 -- define filter function menuItem mi_r "Renderable" filter: onlyOneSelected -- display if only 1 object selected on RCmenuRenderable open do -- perform following on rcmenu open ( if selection.count == 1 then -- if only one object selected... ( mi_r.text = $.name + " | " + "Renderable" -- change text of menu item if isKindOf $ Shape then -- if shape set renderable property to $.renderable=$.renderable -- itself to get shape and node renderable -- properties the same mi_r.checked=$.renderable -- turn on menu item check if renderable ) ) on mi_r picked do$.renderable = not $.renderable -- when menu item picked, flip renderable value ) -- registerRightClickMenu RcmenuRenderable -- register the rcmenu