1 /**
  2  * @namespace _JVS
  3  */
  4 var _JVS = {};
  5 
  6 /**
  7  * 板一覧の個別の板を参照するオブジェクトで、板にあるスレのThreadItemオブジェクトを保持する。
  8  * また、板に固有の情報への参照にも使用する
  9  * @class _JVS.Board
 10  */
 11 _JVS.Board = function(){};
 12 
 13 /**
 14  * 板一覧のカテゴリに対応するオブジェクトで、カテゴリ内の板に対応するBoardオブジェクトを保持する。
 15  * 板名を元にした板の検索が可能
 16  * @class _JVS.Category
 17  */
 18 _JVS.Category = function(){};
 19 
 20 /**
 21  * 板一覧の基底オブジェクトで、各カテゴリに対応したCategoryオブジェクトを保持している。
 22  * また、URLから対応する板(boardオブジェクト)やスレ(threadItemオブジェクト)を取得するのに用いる
 23  * ThreadFinderオブジェクトもCategoryListから取得する
 24  * @class _JVS.CategoryList
 25  */
 26 _JVS.CategoryList = function(){};
 27 
 28 /**
 29  * 文字列の類似度を調べるためのオブジェクト
 30  * 
 31  * Subjectに基準文字列を代入し、Evaluete(Str)でSubjectとStrの類似度を取得する。
 32  * 類似度はtri-gramのCosine Similarityにより算出され、0〜1の浮動小数点値として得られる。
 33  * (1が完全に同一の文字列、0が類似性なし)
 34  * 文字には重み付けがあり、数字、記号を含む部分は重み付けを小さく判定する。
 35  * オートヒストリで使用しているのと基本的には同一の処理。
 36  * @class _JVS.CosSim
 37  */
 38 _JVS.CosSim = function(){};
 39 
 40 /**
 41  * スレビューに文字列を書き込むためのオブジェクト。書き込む対象となるViewItemオブジェクトから、
 42  * ViewItem.QueryDatOutで取得する
 43  * DatOutの処理はメッセージ処理を伴うので、処理中に対象のスレビューが解放される可能性を考慮して
 44  * プログラミングを行う必要がある
 45  * (スレビューが解放されてしまった場合、対象のViewItemとDatOutのConnectedがfalseになることで
 46  * 確認できる)
 47  * @class _JVS.DatOut
 48  */
 49 _JVS.DatOut = function(){};
 50 
 51 /**
 52  * Janeのウィンドウ上にあるエディットボックスやコンボボックスの文字列を参照するためのオブジェクト
 53  * 文字列の参照や変更が可能
 54  * 
 55  * @class _JVS.Edit
 56  */
 57 _JVS.Edit = function(){};
 58 
 59 /**
 60  * ユーザー定義のメニューを保持するオブジェクト。JaneScript.InsertMenuや他のMenuItemの
 61  * Add,Inertにより取得する。OnClickに関数を代入しておくことでメニューをクリックしたときに
 62  * その関数を呼び出すことができる。キャプション、ショートカットの設定や可視性、チェックの
 63  * 有無を設定可能。
 64  * 
 65  * 用途上、一般的にはグローバルオブジェクトとして保持しておく必要がある
 66  * @class _JVS.MenuItem
 67  */
 68 _JVS.MenuItem = function(){};
 69 
 70 /**
 71  * 任意の名前のプロパティを作成してデータを保持する機能を持つオブジェクト。
 72  * 複数の値を返す必要がある関数で戻り値として使用する。
 73  * 
 74  * @class _JVS.NamedVariant
 75  * 
 76  * @example
 77  * JaneScript.CursorPosは X,Yの二つのプロパティ変数にマウスカーソルのX座標とY座標を代入した
 78  * NamedVariantを戻り値として返す。
 79  * var pos = JaneScript.CursorPos();
 80  * JaneScript.Log("現在のマウスの位置は(X:" + pos.X + ",Y:" + pos.Y + ")");
 81  */
 82 _JVS.NamedVariant = function(){};
 83 
 84 /**
 85  * スクリプトが作成したメニュー(MenuItem)が選択された時の状況に関する情報を保持するオブジェクト。
 86  * プロパティの情報の意味はMenuItemが登録されたメニューの場所により異なる。
 87  * 
 88  * メニュー登録場所とプロパティの内容の関係
 89  * ・MainWnd.PopupViewMenu
 90  * 	PopupObject = 右クリックしたビューのViewItemオブジェクト
 91  * 	Number = レス番
 92  * 	InfoText = 空白文字列
 93  * ・MainWnd.PopupTextMenu
 94  * 	PopupObject = 右クリックしたビューのViewItemオブジェクト
 95  * 	Number = 0
 96  * 	InfoText = 空白文字列
 97  * ・MainWnd.PopupIdMenu
 98  * 	PopupObject = 右クリックしたビューのViewItemオブジェクト
 99  * 		A.日付中IDを右クリックした場合
100  * 			Number = レス番
101  * 			InfoText = 空白文字列
102  * 		B.本文中IDを右クリックした場合
103  * 			Number = -1
104  * 			InfoText = ID
105  * ・MainWnd.ThreadPopupMenu
106  * 	PopupObject = 右クリックしたタブのViewItemオブジェクト
107  * 	Number = クリックしたタブのインデックス
108  * ・MainWnd.PopupTree
109  * 	PopupObject = 右クリックした板タブまたは板一覧アイコンの板のBoardオブジェクト
110  * 		A.板一覧アイコンを右クリックした場合
111  * 			Number = -1
112  * 		B.板タブを右クリックした場合
113  * 			Number =  右クリックした板タブのインデックス
114  * 			InfoText = 空白文字列
115  * ・その他
116  * 	PopupObject = undefined
117  * 	Number = 0
118  * 	InfoText = 空白文字列
119  * 
120  * @class _JVS.PopupTargetInfo
121  */
122 _JVS.PopupTargetInfo = function(){};
123 
124 /**
125  * 複数の数値範囲を保持するオブジェクト。
126  * レス番リンクのリンク先などを取得する関数の戻り値などに使われる。
127  * @class _JVS.RangeList
128  */
129 _JVS.RangeList = function(){};
130 
131 /**
132  * ThreadItem.GetReferredListにより取得される、スレの各レスがどのレスから参照されているかの情報を
133  * 保持するオブジェクト。
134  * レス番着色の着色情報を作成するためのクラスをラップしたもの。
135  * 参照された数とどのレスから参照されたのかを確認できるので、特定のレスから参照されたレスを
136  * 抽出する場合などに利用可能。
137  * @class _JVS.ReferredList
138  */
139 _JVS.ReferredList = function(){};
140 
141 /**
142  * レスの情報を保持するオブジェクト。
143  * ※プロパティで左辺代入可能となっているものでも、取得元によっては書き換えが禁止の場合あり。
144  * @class _JVS.ResItem
145  */
146 _JVS.ResItem = function(){};
147 
148 /**
149  * 文字列リストを保持するオブジェクト。IEnumlatorなどは実装されていないので、列挙する場合も
150  * インデックスを順に指定して取得していく必要あり。
151  * @class _JVS.Strings
152  */
153 _JVS.Strings = function(){};
154 
155 /**
156  * URLを元に、該当するスレや板のオブジェクトを取得するためのオブジェクト。
157  * 検索対象は、取得済みの板一覧の現行スレおよび取得済みの過去ログで、正しいスレURLであっても
158  * 該当のスレの情報をJaneが持っていなければ検索では該当なしとなる(スレURLを元に中身が空の
159  * 新規ThreadItemオブジェクトを作る動作は行われない)
160  * @class _JVS.ThreadFinder
161  */
162 _JVS.ThreadFinder = function() {};
163 
164 /**
165  * スレの情報を参照するオブジェクト。レス内容、タイトルやレス数などの情報取得と一部変更が可能。
166  * 
167  * @class _JVS.ThreadItem
168  */
169 _JVS.ThreadItem = function(){};
170 
171 /**
172  * スレビューやポップアップを参照するオブジェクト
173  * このオブジェクトから、スレビューが参照しているスレのThreadItemオブジェクトの取得、スレビューに
174  * テキストを書き込むためのDatOutオブジェクトを取得、スレタブに関する情報の設定参照、選択テキストや
175  * フォーカスされたリンクの取得などが可能
176  * @class _JVS.ViewItem
177  */
178 _JVS.ViewItem = function(){};
179 
180 /**
181  * スレタブの一覧を保持するオブジェクト。このオブジェクトから個別のスレタブにアクセス可能。
182  * スクリプト用の新規スレビューの作成もこのオブジェクトから行う。
183  * 
184  * @class _JVS.ViewList
185  */
186 _JVS.ViewList = function(){};
187