1 /*! 2 * @include "_NameSpace.js" 3 * @include "PopupTargetInfo.js" 4 */ 5 6 /** 7 * ユーザー定義のメニューを保持するオブジェクト。JaneScript.InsertMenuや他のMenuItemの 8 * Add,Inertにより取得する。OnClickに関数を代入しておくことでメニューをクリックしたときに 9 * その関数を呼び出すことができる。キャプション、ショートカットの設定や可視性、チェックの 10 * 有無を設定可能。 11 * 12 * 用途上、一般的にはグローバルオブジェクトとして保持しておく必要がある 13 * @class _JVS.MenuItem 14 */ 15 _JVS.MenuItem = function(){ 16 /** 17 * MenuItemのサブメニューの先頭に新たなサブメニューを追加する 18 * Insert(0)と同等の処理 19 * Action:○ LateCall:○ Command:○ 20 * @return {_JVS.MenuItem} 新たに作成したメニューのMenuItem 21 */ 22 this.Add = function(){return null;}; 23 24 /** 25 * メニューに表示される文字列 26 * Action:○ LateCall:○ Command:○ 27 * @type String 28 */ 29 this.Caption = ""; 30 31 /** 32 * メニューの左端のチェックの有無 33 * true チェックあり 34 * false チェックなし 35 * Action:○ LateCall:○ Command:○ 36 * @type bool 37 */ 38 this.Checked = false; 39 40 /** 41 * MenuItemの参照先のメニューが存在しているか 42 * true 参照先のメニューは存在している 43 * false 参照先のメニューはDisconnectによりスクリプトから削除されたか、システムに削除された 44 * Action:○ LateCall:○ Command:○ 45 * @type bool 46 */ 47 this.Connected = true; 48 49 /** 50 * そのMenuItemに含まれるサブメニューの数 51 * Action:○ LateCall:○ Command:○ 52 * @type int 53 */ 54 this.Count = 1; 55 56 /** 57 * MenuItemが保持しているメニューを削除する。この関数の実行後、実行したオブジェクトの 58 * Connectedプロパティはfalseになる 59 * Action:○ LateCall:○ Command:○ 60 */ 61 this.Disconnect = function(){}; 62 63 /** 64 * メニューが有効かどうかの設定 65 * true メニューは有効 66 * false メニューは無効(グレーアウト状態) 67 * Action:○ LateCall:○ Command:○ 68 * @type bool 69 */ 70 this.Enabled = true; 71 72 /** 73 * ジェスチャー登録の時にJane内部で判定に使用する文字列。 74 * これが空白文字列の場合、ジェスチャー登録のメニュー一覧に表示されない。 75 * GestureNameが他のメニューと重複するとエラーになるので、GestureNameの設定は必要最小限に抑える 76 * Action:○ LateCall:○ Command:○ 77 * @type String 78 */ 79 this.GetGestureName = ""; 80 81 /** 82 * MenuItemの新たなサブメニューを作成し、Indexの位置に挿入する 83 * Action:○ LateCall:○ Command:○ 84 * @param {int} Index 新たなメニューを挿入する位置 85 * @return {_JVS.MenuItem} 新規に作成したメニューのMenuItemオブジェクト 86 */ 87 this.Insert = function(Index){return null;}; 88 89 /** 90 * MenuItemが保持しているメニューのサブメニューを取得する 91 * Action:○ LateCall:○ Command:○ 92 * @param {int} Index 取得するサブメニューのMenuItemの中での順番 93 * @return {_JVS.MenuItem} 対象メニューのMenuItemオブジェクト 94 */ 95 this.Items = function(Index){return null;}; 96 97 /** 98 * MenuItemの、親メニューの中での位置 99 * Action:○ LateCall:○ Command:○ 100 * @type int 101 */ 102 this.MenuIndex = 0; 103 104 /** 105 * MenuItemがユーザーに選択された場合に実行される関数を指定する。 106 * MenuItemがサブメニューを持つコンテナ項目の場合、サブメニューを展開する前にOnClickが呼ばれるので 107 * 状況に合わせてサブメニューのEnabled, Visible、Checkedを設定するのに利用可能。 108 * 109 * OnClickに代入できる関数の型は以下の通り 110 * function MenuClick(menuObject: MenuItem, targetInfo: PopupTargetInfo) {}; 111 * ・MenuObject クリックされたMenuItem (同じ関数を複数のMenuItemから呼び出す場合の区別に使用) 112 * ・targetObject メニューがポップアップした状況に関する情報を保持したPopupTargetInfoオブジェクト 113 * 詳細はPopupTargetInfoのリファレンスを参照 114 * 115 * Action:○ LateCall:○ Command:○ 116 * @type Function 117 */ 118 this.OnClick = function(menuObject, targetInfo){}; 119 120 /** 121 * MenuItemの親メニューを参照するMenuItemオブジェクト。 122 * 親メニューがスクリプトで作成したものでない場合はundefined 123 * Action:○ LateCall:○ Command:○ 124 * @type _JVS.MenuItem 125 */ 126 this.ParentMenu = null; 127 128 /** 129 * MenuItemのショートカットを設定する 130 * 例:MenuItem.ShortCut = "Shift+Ctrl+A"; 131 * 132 * ※メニューを代入するポップアップにによってはShortCutでショートカットを設定しても 133 * 効果がない場合あり 134 * 135 * Action:○ LateCall:○ Command:○ 136 * @type String 137 */ 138 this.ShortCut = ""; 139 140 /** 141 * メニューを表示するかを設定する 142 * true 表示する 143 * false 表示しない 144 * Action:○ LateCall:○ Command:○ 145 * @type bool 146 */ 147 this.Visible = true; 148 }; 149