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