menuItem は、マウスの右ボタンをクリックしたときに表示されるメニューの選択項目の設定に使用します。menuItem の構文は次のとおりです。
menuItem <name> <label> [checked:<boolean>] [enabled:<boolean>] [filter:<function>]
パラメータ
イベント ハンドラを作成するときの参照に使用します。
右クリック メニューに表示される文字列
マウスの右ボタンをクリックしたときに開くメニューで、ラベルの前にチェックマークを表示するかどうかを指定します。
true
の場合は項目にチェックマークが表示され、その他の場合はチェックマークは表示されません。
右クリック メニューを開いたときに項目の使用が可能であるかどうかを指定します。
true
の場合は項目が使用可能で、その他の場合は使用不可になりグレー表示されます。
ブール値を返す関数です。filter 関数は、右クリック メニューが初めて開かれるときに評価されます。filter 関数が
true
を返す場合は、menuItem がメニューに表示されます。false を返す場合は、表示されません。
プロパティ
右クリック メニューに表示される文字列
<menuitem>.checked Boolean
マウスの右ボタンをクリックしたときに開くメニューで、ラベルの前にチェックマークを表示するかどうかを指定します。
true
の場合は項目にチェックマークが表示され、その他の場合はチェックマークは表示されません。
<menuitem>.enabled Boolean
右クリック メニューを開いたときに項目の使用が可能であるかどうかを指定します。
true
の場合は項目が使用可能で、その他の場合は使用不可になりグレー表示されます。
イベント
on <menuitem> picked do <expr>
ユーザがメニュー項目をクリックしたときに呼び出されます。
例:
|
rcmenu RCmenuRenderable
(
fn onlyOneSelected = selection.count == 1 -- フィルタ関数を定義
menuItem mi_r "Renderable" filter: onlyOneSelected -- 1 つのオブジェクトのみが選択されている場合に表示
on RCmenuRenderable open do -- rcmenu が開いたときに以下を実行
(
if selection.count == 1 then -- 1 つのオブジェクトのみが選択されている場合
(
mi_r.text = $.name + " | " + "Renderable" -- メニュー項目のテキストを変更
if isKindOf $ Shape then -- シェイプの場合、レンダリング可能プロパティを自分自身に
$.renderable=$.renderable -- 設定し、シェイプとノードのレンダリングが可能
-- プロパティを同じにする
mi_r.checked=$.renderable -- レンダリング可能な場合、メニュー項目をオンにする
)
)
on mi_r pickeddo$.renderable = not $.renderable -- メニュー項目が選択されたときに、レンダリング可能の値を反転
)
--
registerRightClickMenu RcmenuRenderable -- rcmenu を登録します。
|