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 -- フィルタ関数を定義
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 を登録します。
関連事項