menuitem

 

   

ユーザ インタフェースの作成 - クイック ナビゲーション

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

関連事項