コンテキストメニューやドロップダウンメニューを作成するクラスです
// This example shows how to create a context menu inside a custom EditorWindow. class MyWindow extends EditorWindow { @MenuItem("TestContextMenu/Open Window") static function Init () { var window = GetWindow (MyWindow); window.position = Rect (50, 50, 250, 60); window.Show (); } function Callback (obj:Object) { Debug.Log ("Selected: " + obj); } function OnGUI() { var evt : Event = Event.current; var contextRect : Rect = new Rect (10, 10, 100, 100); if (evt.type == EventType.ContextClick) { var mousePos : Vector2 = evt.mousePosition; if (contextRect.Contains (mousePos)) { // Now create the menu, add items and show it var menu : GenericMenu = new GenericMenu (); menu.AddItem (new GUIContent ("MenuItem1"), false, Callback, "item 1"); menu.AddItem (new GUIContent ("MenuItem2"), false, Callback, "item 2"); menu.AddSeparator (""); menu.AddItem (new GUIContent ("SubMenu/MenuItem3"), false, Callback, "item 3"); menu.ShowAsContext (); evt.Use(); } } } }
AddDisabledItem | 選択不可のアイテムをメニューに追加します |
AddItem | メニューにアイテムを追加します |
AddSeparator | 区切り文字を追加します。空文字列(“”)の場合は区切り線になります |
DropDown | 今まで追加されたメニューをRect範囲内でドロップダウンメニューとして表示します |
GetItemCount | メニューに追加されているアイテムの数を取得します |
ShowAsContext | マウスの位置にコンテキストメニューを表示します |