1 /*! 2 * @include "_Namespace.js" 3 * @include "CategoryList.js" 4 * @include "CosSim.js" 5 * @include "Edit.js" 6 * @include "MenuItem.js" 7 * @include "NamedVariant.js" 8 * @include "ViewItem.js" 9 * @include "ViewList.js" 10 */ 11 12 /** 13 * @static 14 * @class JaneScript 15 */ 16 var JaneScript = { 17 /** 18 * 現在アクティブなスレビューのアイテムを取得する 19 * Action:○ LateCall:○ Command:○ 20 * 21 * @return {_JVS.ViewItem} アクティブなViewItemのオブジェクト(オブジェクトリファレンス参照) 22 */ 23 ActiveView: function(){return new _JVS.ViewItem();}, 24 25 /** 26 * NGに新しいアイテムを登録する。 27 * 28 * ※アクティブなスレビューの再読込によるNGの反映は自動では行われない。 29 * そのような動作をさせたい場合は、これらの関数を実行した後でNGを反映させたいスレに対して 30 * スクリプトでthread.LocalReloadを実行する。 31 * 32 * Action:○ LateCall:○ Command:○ 33 * 34 * @param {String} Item 35 * @param {int} AboneType 登録するNGのあぼーんの種別 36 * 0: 通常あぼーん 37 * 2: 透明あぼーん 38 * 4: 重要キーワード 39 * @param {int} LiffeSpan アイテムの寿命 40 * -1: アイテムの種類ごとの設定値に従う 41 * 0: 寿命を管理されず、自動では削除されない 42 * その他: その日数だけ新たなレスがなければ自動消去 43 * @return {bool} 正常に登録された場合はtrue 44 * すでに登録されていたり、空白文字列を登録しようとした場合はfalse 45 */ 46 AddNgName: function(Item, AboneType, LiffeSpan){return true;}, 47 48 /** 49 * NGに新しいアイテムを登録する。 50 * 51 * ※アクティブなスレビューの再読込によるNGの反映は自動では行われない。 52 * そのような動作をさせたい場合は、これらの関数を実行した後でNGを反映させたいスレに対して 53 * スクリプトでthread.LocalReloadを実行する。 54 * 55 * Action:○ LateCall:○ Command:○ 56 * 57 * @param {String} Item 58 * @param {int} AboneType 登録するNGのあぼーんの種別 59 * 0: 通常あぼーん 60 * 2: 透明あぼーん 61 * 4: 重要キーワード 62 * @param {int} LiffeSpan アイテムの寿命 63 * -1: アイテムの種類ごとの設定値に従う 64 * 0: 寿命を管理されず、自動では削除されない 65 * その他: その日数だけ新たなレスがなければ自動消去 66 * @return {bool} 正常に登録された場合はtrue 67 * すでに登録されていたり、空白文字列を登録しようとした場合はfalse 68 */ 69 AddNgMail: function(Item, AboneType, LiffeSpan){return true;}, 70 71 /** 72 * NGに新しいアイテムを登録する。 73 * 74 * ※アクティブなスレビューの再読込によるNGの反映は自動では行われない。 75 * そのような動作をさせたい場合は、これらの関数を実行した後でNGを反映させたいスレに対して 76 * スクリプトでthread.LocalReloadを実行する。 77 * 78 * Action:○ LateCall:○ Command:○ 79 * 80 * @param {String} Item 81 * @param {int} AboneType 登録するNGのあぼーんの種別 82 * 0: 通常あぼーん 83 * 2: 透明あぼーん 84 * 4: 重要キーワード 85 * @param {int} LiffeSpan アイテムの寿命 86 * -1: アイテムの種類ごとの設定値に従う 87 * 0: 寿命を管理されず、自動では削除されない 88 * その他: その日数だけ新たなレスがなければ自動消去 89 * @return {bool} 正常に登録された場合はtrue 90 * すでに登録されていたり、空白文字列を登録しようとした場合はfalse 91 */ 92 AddNgId: function(Item, AboneType, LiffeSpan){return true;}, 93 94 /** 95 * NGに新しいアイテムを登録する。 96 * 97 * ※アクティブなスレビューの再読込によるNGの反映は自動では行われない。 98 * そのような動作をさせたい場合は、これらの関数を実行した後でNGを反映させたいスレに対して 99 * スクリプトでthread.LocalReloadを実行する。 100 * 101 * Action:○ LateCall:○ Command:○ 102 * 103 * @param {String} Item 104 * @param {int} AboneType 登録するNGのあぼーんの種別 105 * 0: 通常あぼーん 106 * 2: 透明あぼーん 107 * 4: 重要キーワード 108 * @param {int} LiffeSpan アイテムの寿命 109 * -1: アイテムの種類ごとの設定値に従う 110 * 0: 寿命を管理されず、自動では削除されない 111 * その他: その日数だけ新たなレスがなければ自動消去 112 * @return {bool} 正常に登録された場合はtrue 113 * すでに登録されていたり、空白文字列を登録しようとした場合はfalse 114 */ 115 AddNgWord: function(Item, AboneType, LiffeSpan){return true;}, 116 117 /** 118 * アドレスバーを参照するEditオブジェクト 119 * Action:○ LateCall:○ Command:○ 120 * @type _JVS.Edit 121 */ 122 AddressBar: new _JVS.Edit(), 123 124 /** 125 * 板一覧検索バーを参照するEditオブジェクト 126 * Action:○ LateCall:○ Command:○ 127 * @type _JVS.Edit 128 */ 129 BoardSearchBar: new _JVS.Edit(), 130 131 /** 132 * Janeの板一覧を格納したオブジェクトを取得する。取得したCategoryListにより、 133 * すべての板の列挙やURLからの板、スレの検索が可能。 134 * Action:○ LateCall:○ Command:○ 135 * ; 136 */ 137 CategoryList: new _JVS.CategoryList(), 138 139 /** 140 * 板またはスレを閉じる 141 * Action:× LateCall:○ Command:○ 142 * @param {Object} Item 閉じる対象の板(Boardオブジェクト)またはスレ(ThreadItemオブジェクトまたはViewItemオブジェクト) 143 */ 144 Close: function(Item){}, 145 146 /** 147 * 文字列のCosine Similarityに基づく比較を行うためのCosSimオブジェクトを作成する 148 * 149 * Action:○ LateCall:○ Command:○ 150 * 151 * @return {_JVS.CosSim} 作成されたCosSimオブジェクト 152 */ 153 CreateCosSimObject: function(){return new _JVS.CosSim();}, 154 155 /** 156 * グローバル座標系でのマウスカーソルの位置を取得する 157 * Action:○ LateCall:○ Command:○ 158 * @return {_JVS.NamedVariant} カーソル位置情報を格納したNamedVariant 159 * NamedVariant.X カーソルのX座標 160 * NamedVariant.Y カーソルのY座標 161 */ 162 CursorPos: function(){return new _JVS.NamedVariant();}, 163 164 /** 165 * JaneViewの実行ファイルパスを取得する 166 * Action:○ LateCall:○ Command:○ 167 * @return {String} Jane2ch.exeのフルパス名 168 */ 169 ExeName: function(){return "C:\\JaneDoeView\\Jane2ch.exe";}, 170 171 /** 172 * モーダルの入力ダイアログを表示し、ユーザーが入力した文字列を返す 173 * Action:× LateCall:○ Command:○ 174 * @param {String} Caption 入力ボックスのタイトルバーに表示する文字列 175 * @param {String} InitialText テキストボックスの文字列の初期値 176 * @return {_JVS.NamedVariant} ユーザーの入力結果を保持したNamedVariant 177 * ・NamedVariant.Canceled 178 * ユーザーがOKをクリックした場合はFalse, OKしないでダイアログを閉じた場合はtrue 179 * ・NamedVariant.Text: String 180 * ユーザーが入力した文字列 181 */ 182 InputBox: function(Caption, InitialText){return new _JVS.NamedVariant();}, 183 184 /** 185 * 既存のメニュー項目にスクリプト用メニューを追加する 186 * 追加できる場所はメニューのルートまたはコンテナ(一つ以上のサブメニューを持つ)の項目 187 * Action:○ LateCall:○ Command:○ 188 * @param {String} MenuName スクリプト用のメニューを追加したいメニューの名前 189 * (menuconf.iniのセクション名) 例: "MainWnd.MainMenu" 190 * @param {String} ItenMane スクリプト用のメニューを追加したいメニューの親アイテム名 191 * (menuconf.iniのメニュー名) 例: "MainWnd.MainMenu" 192 * ヌルストリングの場合はMenuNameのルートが親アイテムになる 193 * @param {int} Index 親アイテムの中での順番。Index=0が最上位、親アイテムの項目数よりも 194 * 大きな数字を設定した場合は最下位に追加される 195 * @return {_JVS.MenuItem} 追加されたMenuItemオブジェクト 196 */ 197 InsertMenu: function(MenuName, ItenMane, Index){return new _JVS.MenuItem();}, 198 199 /** 200 * URLがビューアが対応する形式の拡張子を持っているかを確認する 201 * (swfは対象外) 202 * Action:○ LateCall:○ Command:○ 203 * @param {String} URL 画像かどうかを調べたいURL 204 * @return {Boolean} URLがビューアで対応した画像の拡張子を持っていればtrue、そうでなければfalse 205 */ 206 IsImageURL: function(URL){return true;}, 207 208 /** 209 * アクションの中から呼び出せない処理(メッセージボックスの表示など)をアクションのコンテキストの外で 210 * 安全に呼び出すために使用する 211 * Action:○ LateCall:○ Command:○ 212 * @param {Function} Func 呼び出したい関数 213 * Funcとして設定できるのは、一つのVariantを引数として受け取る関数。 214 * 例: function CalleeFunction (funcObject) {}; 215 * Funcの呼び出しはアイドルループなどJaneのシステムがメッセージ処理をするタイミングで行われる 216 * @param {Object} funcParam Funcに渡す引数 217 */ 218 LateCall: function(Func, funcParam){}, 219 220 /** 221 * トレースに文字列を出力する 222 * Action:○ LateCall:○ Command:○ 223 * @param {} Text 224 */ 225 Log: function(Text){}, 226 227 /** 228 * 既存のメニュー項目の親アイテム上での位置を調べる。 229 * 特定の位置にメニューを挿入する場合、この関数の結果を元にInsertMenuのIndexを決める 230 * Action:○ LateCall:○ Command:○ 231 * @param {String} MenuName 親アイテム上での位置を調べたいメニュー項目が属するメニューの名前 232 * (menuconf.iniのセクション名) 例: "MainWnd.MainMenu" 233 * @param {String} ItemName 親アイテム上での位置を調べたいメニュー項目の名前 234 * (menuconf.iniのメニュー名) 例: "MainWnd.MainMenu" 235 * @return {Number} 指定したメニュー項目の、親アイテム上での順番(0が最上位) 236 */ 237 MenuIndex: function(MenuName, ItemName){return 0;}, 238 239 /** 240 * URLまたはスレ、板を開く。 241 * ※対象がビューアで開かれるURLだった場合、Number以降のパラメータは無視される 242 * Action:× LateCall:○ Command:○ 243 * @param {Object} target URL/Thread/Board 244 * 開きたい対象のURL(文字列)またはスレ(ThreadItemオブジェクト)または板(Boardオブジェクト)の 245 * いずれかを指定する 246 * @param {int} Number 対象がスレの場合、開いてからNumberが示すレス番にジャンプする。それ以外では無視される 247 * @param {int} Operation 開くときにサーバからのデータ取得を行うか、ローカルだけで取得を行わないかを設定する 248 * 0: なにもしない ※まったく無意味だが、内部処理上必要なために存在 249 * 1: ローカル 250 * 2: 適宜取得 251 * 3:更新チェック 252 * 4: 時間に応じて 253 * @param {bool} NewTab trueならば新しいタブで開くことを強制する 254 * falseならば、現在アクティブなスレタブがスレ表示用のビューならばアクティブタブで、 255 * そうでなければ新しいタブで開く 256 * @param {bool} Relative 新規タブで開く場合、Relativeがtrueならば現在のアクティブタブの隣に開かれる 257 * @param {bool} BackGround 開いたタブを選択状態にしない 258 */ 259 Open: function(target, Number, Operation, NewTab, Relative, BackGround){}, 260 261 /** 262 * Windows APIのPeekMessage関数を呼び出し、バッファのWindows Messageを処理する。 263 * 長い時間がかかる処理の途中に挟むことでUIがフリーズするのを防ぐことができるが、 264 * その中で受け付けたユーザー操作により使用中のオブジェクトの状態が変化したり 265 * 破棄される可能性があり、使用には細心の注意と適切な処理を要する 266 */ 267 ProcessMessage: function(){}, 268 269 /** 270 * メッセージダイアログを表示する。WSHのWScript.Echoに対応する。 271 * Action:× LateCall:○ Command:○ 272 * @param {String} Text メッセージボックスに表示する文字列 273 */ 274 ShowMessage: function(Text){}, 275 276 /** 277 * Windows APIのSleep関数を呼び出し、一定時間だけ動作を停止する 278 * Action:○ LateCall:○ Command:○ 279 * @param {int} millisec 停止する時間、単位はミリ秒 280 */ 281 Sleep: function(millisec){}, 282 283 /** 284 * スレビュー検索バーを参照するEditオブジェクト 285 * Action:○ LateCall:○ Command:○ 286 * @type _JVS.Edit 287 */ 288 ThreadSearchBar: new _JVS.Edit(), 289 290 /** 291 * Windows APIのtimeGetTimeの値を取得する。 292 * Action:○ LateCall:○ Command:○ 293 * @return {int} timeGetTime API関数によるシステム時刻 294 */ 295 TimeGetTime: function(){return 0;}, 296 297 /** 298 * スレビューの一覧を保持するViewListオブジェクトを取得する 299 * ViewListから、各スレビューへのアクセスやユーザー定義の新規スレビュー作成が可能 300 * 301 * Action:○ LateCall:○ Command:○ 302 * 303 * @return {_JVS.ViewList} スレビュー一覧を参照するViewListオブジェクト 304 */ 305 ViewList: function(){return new _JVS.ViewList();} 306 }; 307 308