リファレンス
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
*V2Cスクリプトリファレンス [#dce14ebb]
#contents
**v2cオブジェクト [#qe2986ab]
V2Cとのやりとりに使用します
|~型|~プロパティ|~説明|
|contextオブジェクト|context|contextオブジェクトを取得し...
|historyオブジェクト|history|historyオブジェクトを取得し...
|お気に入りタブコレクションオブジェクト|favorites|お気に...
|boardオブジェクト[]|boards|V2Cに登録されている全板オブジ...
|java.io.File|appDir|ランチャーのフォルダ(JWS版またはJAR...
|java.io.File|saveDir|V2C保存用フォルダ|
|レスペインオブジェクト|resPane|現在選択されているレスペ...
|String|status|ステータスバーの文字列を取得します(代入に...
|bbsオブジェクト|bbs2ch|2chのBBSオブジェクトを返す|
|bool|online|V2Cがオンライン状態の時にtrueを返す|
|bool|interrupted|外部からの中断要求(スレ一覧用スクリプ...
|レスラベルオブジェクト[]|resLabels|V2Cで設定されているレ...
|bool|compSoundEnabled|更新完了音を再生する設定がオンの時...
|String|clipboardText|クリップボードの文字列を取得します...
|>|>| |
|~戻り値|~メソッド|~説明|
|void|beep()|Beep音を鳴らす|
|void|setStatus(String s)|ステータスバーにメッセージを表...
|void|alert(String s)|ダイアログでメッセージsを表示する|
|bool|confirm(String s)|文字列sを「OK」・「Cancel」ボタン...
|void|print(String s)|sをスクリプトコンソールに追加する。...
|void|println(String s)|sをスクリプトコンソールに追加した...
|String|prompt(String s,String v)|文字列sの下に初期値vの...
|>|>| |
|void|exit()|V2Cを終了する。&br;(スクリプトにV2C終了の許...
|void|restart()|V2Cを再起動する。再起動できない場合はその...
|void|exec(String s)|文字列sをコマンドラインとして実行し...
|void|exec(String[] l)| lを引数のArrayとして実行します。l...
|>|>| |
|boardオブジェクト|getBoard(java.net.URL u, String n)|URL...
|threadオブジェクト|getThread(java.net.URL u, String t, I...
|boardオブジェクト|getLocalBoard(String d)|フォルダ名がd...
|resオブジェクト(セパレータオブジェクト)|createResSeparat...
|>|>| |
|String|getSelectedText()|選択テキストを取得|
|String|replaceSelectedText(String s)|キーボードフォーカ...
|void|reloadSettringFile(String s)|ファイル名sの設定ファ...
|void|reloadSystemScript(String s)|ファイル名sのシステム...
|レスラベルオブジェクト|getResLabel(String sn)|名前がsnの...
|>|>| |
|>|>|''オブジェクト記憶メソッド''&br; 以下の関数はスクリ...
|~戻り値|~メソッド|~説明|
|void|setScriptObject(Object v)|オブジェクトvを設定する|
|Object|getScriptObject()|setScriptObject(v)で設定された...
|Object|putProperty(String s, Object v)|キーsに対してオブ...
|Object|getProperty(String s)|キーsに対応するオブジェクト...
|Object|removeProperty(String s)|キーsに対応するオブジェ...
|>|>| |
|>|>|''ネットワーク接続に関するメソッド''&br; openURL以...
|~戻り値|~メソッド|~説明|
|java.net.URL|expandShortURL(java.net.URL u, bool r)|URL ...
|String|readURL(java.net.URL u)|u(URL文字列)の内容を取...
|HttpRequestオブジェクト|createHttpRequest(java.net.URL u...
|HttpRequestオブジェクト|createHttpRequest(java.net.URL u...
|void|openURL(java.net.URL u, bool bu, bool bnt, bool bbg...
|void|browseURL(java.net.URL u)|URL u をブラウザで開く。J...
|void|browseURLExt(java.net.URL u)|URL u を外部ブラウザで...
|void|browseURLDefExt(java.net.URL u)|URL u をデフォルト...
|>|>| |
|>|>|''ファイルパス取得関連メソッド''|
|~戻り値|~メソッド|~説明|
|java.io.File|getScriptDataFile(String fn)|スクリプトがデ...
|java.io.File|getScriptSubFile(String n)|スクリプトファイ...
|>|>| |
|>|>|''ファイル・フォルダ操作関連メソッド''(ファイル読み...
|~戻り値|~メソッド|~説明|
|bool|copyFileInfo(java.io.File f, java.io.File d)|ファイ...
|bool|copyFile(java.io.File f0, java.io.File f1)|ファイル...
|>|>| |
|>|>|''ファイル読み込み関連メソッド''(ファイル読み込みの...
|~戻り値|~メソッド|~説明|
|String|readFile(Java.io.File f,String c)|ファイルfを文字...
|String|readStringFromFile(java.io.File f,String c)|readF...
|String[]|readLinesFromFile(java.io.File f,String c)|ファ...
|byte[]|readBytesFromFile(java.io.File f)|ファイルfの内容...
|>|>| |
|>|>|''ファイル書き込み関連メソッド''&br;(ファイルが既に...
|~戻り値|~メソッド|~説明|
|void|writeStringToFile(java.io.File f,String s,String c)...
|void|writeLinesToFile(java.io.File f,String[] sl,String ...
|void|writeBytesToFile(java.io.File f,byte[] bl)|ファイル...
**historyオブジェクト [#f49f3630]
注意:履歴にスレッドが存在しない場合もlengthが0のArrayを...
|~型|~プロパティ|~説明|
|threadオブジェクト[]|threads|レス表示履歴に存在するスレ...
|threadオブジェクト[]|postThreads|レス表示履歴に存在する...
**contextオブジェクト [#e27cd660]
コマンドの実行に必要な情報を取得します。
※ユーザーではなくV2C本体から呼ばれるsystemスクリプトではc...
|~型|~プロパティ|~説明|
|String|commandLabel|スクリプトを起動したコマンドのラベル...
|String|argLine|外部コマンド設定のスクリプトファイル名(...
|String[]|args|v2c.context.argLineを分割して作成した引数...
|resオブジェクト|res|ポップアップメニューを表示した、また...
|threadオブジェクト|thread|スレッドに関する情報を保持する...
|linkオブジェクト|link|リンクコマンドの対象リンクオブジェ...
|linkオブジェクト[]|links|選択テキストに含まれるリンクオ...
|String|selText|レス表示欄のユーザーが範囲指定した選択範...
|Integer[]|filteredResIndex|スクリプトが起動された時にレ...
|Integer[]|checkedResIndex|スクリプトが起動された時にレス...
|java.awt.Point|mousePos|スクリプト開始時のマウスポインタ...
|>|>| |
|~戻り値|~メソッド|~説明|
|void|setStatusBarText(String text)|スクリプトの実行終了...
|void|setClipboardText(String text)|スクリプトの実行終了...
|void|setPopupText(String text)|スクリプトの実行終了後に...
|void|setPopupHTML(String text)|スクリプトの実行終了後に...
|void|setPopupFocusable(bool)|2c.context.setPopupFocusabl...
|void|setMaxPopupWidth(Integer size)|v2c.context.setPopup...
|void|setRedirectURL(bool)|スクリプト内で関数redirectURL(...
|void|setTrapFormSubmission(bool)|スクリプト内で関数formS...
|void|closeOriginalPopup()|formSubmitted(u,sm,sd)内でv2c....
|void|setFilteredRes(resオブジェクト[] resArray)|スクリプ...
|void|setFilteredResIndex(Integer resIndex)|スクリプトの...
|void|setPopupRes(resオブジェクト[] resArray)|resArrayで...
|void|setPopupResIndex(Integer resIndex)|resIndexで与えら...
|void|setPostMessage(String text)|スクリプトの実行終了後...
|void|insertToPostMessage(String text)|スクリプトの実行終...
|void|setResToJump(resオブジェクト res)|スクリプトの実行...
|void|setResIndexToJump(Integer resIndex)|スクリプトの実...
|void|setResPaneText(String caption, String targetTabName...
|void|setResPaneHTML(String caption, String targetTabName...
|void|closeOriginalPanel()|redirectURL(u)・formSubmitted(...
|void|setPopupID(String idName)|setPopupTextやsetPopupHTM...
|ダミーオブジェクト|getPopupOfID(String idName)|ID idName...
|void|setCloseOnMouseExit(bool)| trueを指定するとsetPopup...
|void|setDefaultCloseOnMouseExit(bool)|setCloseOnMouseExi...
|void|setCloseOnLinkClick(bool)|boolがfalseの時setPopupHT...
**お気に入りタブコレクションオブジェクト(fvs) [#p99ba0ba]
v2c.favoritesが返すオブジェクトfvsによってお気に入り全体...
|~型|~プロパティ|~説明|
|Integer|count|お気に入りタブの総数|
|>|>| |
|~戻り値|~メソッド|~説明|
|お気に入りタブオブジェクト|getFavorite(Integer i)|インデ...
|お気に入りタブオブジェクト|createFavorite(String n)|名前...
**お気に入りタブオブジェクト(fav) [#p5c55a13]
fav.appendItem(f,o), fav.insertItem(f,o,i), fav.removeIte...
|~型|~プロパティ|~説明|
|String|name|お気に入りタブの名前|
|お気に入りアイテムオブジェクト|root|お気に入りタブのルー...
|>|>| |
|~戻り値|~メソッド|~説明|
|bool|contains(お気に入りアイテムオブジェクト o)|oがお気...
|>|>|''お気に入りアイテム追加・削除の関数'' (要:${SCRIP...
|void|removeAll()|お気に入りタブの内容をルートフォルダの...
|void|clearFolder(String f)|お気に入りフォルダfの内容を空...
|お気に入りアイテムオブジェクト|appendFolder(お気に入りア...
|お気に入りアイテムオブジェクト|insertFolder(お気に入りア...
|お気に入りアイテムオブジェクト|appendItem(お気に入りアイ...
|お気に入りアイテムオブジェクト|insertItem(お気に入りアイ...
|void|removeItem(お気に入りアイテムオブジェクト o|oの登録...
**お気に入りアイテムオブジェクト(o) [#n31eedd9]
|~型|~プロパティ|~説明|
|String|label|アイテムの名前|
|Integer|childCount|oがフォルダの場合はフォルダに含まれる...
|boardオブジェクト|board|oが板の場合は板オブジェクトを、...
|threadオブジェクト|thread|oがスレッドの場合はスレッドオ...
|>|>| |
|~戻り値|~メソッド|~説明|
|お気に入りアイテムオブジェクト|getChild(Integer i)|oがフ...
**bbsオブジェクト(bbs) [#ic20839e]
|~型|~プロパティ|~説明|
|bool|is2ch|BBSが2ch、bbspinkの時にtrueを返します|
|bool|is2cheq|BBSが2ch互換の時にtrueを返します|
|bool|shitaraba|BBSがしたらばの時にtrueを返します|
|bool|machi|BBSがまちBBSの時にtrueを返します|
|bool|twitter|BBSがTwitterの時にtrueを返します|
|>|>| |
|~戻り値|~メソッド|~説明|
|boardオブジェクト|getBoard(key)|bbsが2chの場合、板キーが...
**boardオブジェクト(bd) [#yeafa324]
|~型|~プロパティ|~説明|
|bbsオブジェクト|bbs|板オブジェクトboardからBBSオブジェク...
|java.net.URL|url|板のURL|
|String|name|板名|
|String|key|板キー (板キーをparseIntで数値型に変換して100...
|String|anonymousName|SETTING.TXTに設定されている名無し(...
|String|allAnonymousName|SETTING.TXTに設定されている名無...
|bool|local|板オブジェクトがローカル板の場合trueを返す|
|threadオブジェクト[]|threadsWithLog|板bd内のログのある全...
|java.util.Map|settingMap|板オブジェクトbdのSETTING.TXTを...
|>|>| |
|~戻り値|~メソッド|~説明|
|threadオブジェクト|getThread(key)|板オブジェクトbd内のス...
|threadオブジェクト|createLocalThread(String title, resオ...
|threadオブジェクト|getThread(k, u, t, n)|板bdのスレッド...
|void|addNGID(id, d, t, w)|文字列idを板bdのNGIDに追加する...
**レスペインオブジェクト(rp) [#w609c090]
|~型|~プロパティ|~説明|
|Integer|columnCount|レス表示欄カラムの数を返す|
|カラムオブジェクト[]|columns|レス表示ペインに表示されて...
|Integer|selectedColumnIndex|選択されているカラムのインデ...
|カラムオブジェクト|selectedColumn|選択されているカラムオ...
|Integer|tabCount|開いているタブの数|
|Integer|selectedIndex|選択されているタブのインデックス|
|threadオブジェクト|selectedThread|選択されているタブのス...
|threadオブジェクト[]|threads|レス表示ペインに表示されて...
|>|>| |
|~戻り値|~メソッド|~説明|
|threadオブジェクト|getThread(Integer tabIndex)|インデッ...
|void|checkNG()|全てのレス表示タブの非表示を再チェックす...
|void|checkNG(null)|rp.checkNG()と同じ。|
|void|checkNG(threadオブジェクト th)|スレッドthのレス表示...
|void|checkNG(boardオブジェクト bd)|板bdに属するスレッド...
**カラムオブジェクト(col) [#tb0260ff]
レスペイン内のスレッドタブ群に対してやりとりするためのオ...
|~型|~プロパティ|~説明|
|Integer|tabCount|開いているタブの数|
|Integer|selectedIndex|選択されているタブのインデックス|
|threadオブジェクト|selectedThread|選択されているタブのス...
|threadオブジェクト[]|threads|レス表示ペインに表示されて...
|>|>| |
|~戻り値|~メソッド|~説明|
|threadオブジェクト|getThread(Integer tabIndex)|インデッ...
|void|openThread(th, bu, bnt, bbg)|(カラムの選択状態に関...
**threadオブジェクト(th) [#hc94a5fd]
未取得レス数は(th.resCount-th.localResCount)で、スレッド...
|~型|~プロパティ|~説明|
|boardオブジェクト|bbs|スレッドオブジェクトthreadからBBS...
|java.net.URL|url|スレッドのURL|
|String|title|スレッドタイトル|
|String|key|スレッドキー|
|java.io.File|localFile|ローカルに保存されたログファイル|
|Integer|localResCount|既得レス数|
|Integer|resCount|localResCount、またはスレッド更新後に更...
|Integer|newResCount|新着レス数|
|Integer|newMarkResCount|スレッドの新着境界より後のレス数|
|Integer|newMarkResIndex|新着境界直後のレスのインデックス...
|Integer|speed|スレッドの1日当りのレス数|
|java.io.File|sytleDir|レス表示スタイルフォルダ|
|boardオブジェクト|board|スレッドが属する板のboardオブジ...
|java.io.File|styleFile|通常の掲示板ではth.styleDir\style...
|bool|unread|スレッドに未読レスが存在する時にtrueを返しま...
|bool|local|スレッドがローカルスレッドの時にtrueを返します|
|bool|live|スレッドがdat落ちしていないと推測される場合にt...
|bool|lock|スレッドのレス表示タブがロックされている場合に...
|Integer|columnIndex|スレッドが開かれているカラムのインデ...
|Integer|viewResIndex|表示されている最初のレスのインデッ...
|レスラベルオブジェクト|postResLabel|そのスレッドで自分の...
|Integer[]|postResIndex|そのスレッドで自分の書き込みに自...
|>|>| |
|~戻り値|~メソッド|~説明|
|resオブジェクト|getRes(Integer i)|インデックスがiのレス...
|bool|update()|スレッドを更新する(外部へのネットワーク接...
|bool|updateAndWait()| スレッドを更新した後更新完了まで待...
|void|resetUnread()|スレッドの未読状態をリセットします。...
|void|open(bool bu,bool bnt,bool bbg)|スレッドをレス表示...
|書き込み欄オブジェクト|openWritePanel()|対応する書き込み...
|書き込み欄オブジェクト|mayOpenWritePanel()|スレッドが書...
|void|close()|スレッドのレス表示タブを閉じます。(レス表...
|void|clearNewMark()|スレッドがレス表示タブで開いている場...
|void|importPropertyFrom(threadオブジェクト th0)| thread...
|void|movePanelTo(Integer ic,Integer it)|スレッドのレス表...
|void|importDatFile(java.io.File f,String n,bool o)|ファ...
|void|importDatBytes(java.lang.Byte bl,String n,bool o)|J...
**resオブジェクト(res) [#d1f29ba4]
|~型|~プロパティ|~説明|
|bbsオブジェクト|bbs|レスオブジェクトresからBBSオブジェク...
|Integer|number|レス番号|
|Integer|index|レスインデックス (最初のレスは0)|
|String|name|名前欄|
|String|mail|メール欄|
|String|date|投稿時刻|
|Integer|time|1970/01/01から投稿時刻までの経過時間(ミリ...
|String|id|ID|
|String|beID|BeのID(基礎番号、存在しない場合は0|
|String|aux|補助情報(まちBBSのIP等datフォーマットの投稿日...
|String|message|本文|
|bool|ng|レスが非表示の場合にtrue|
|String|ngReason|非表示の理由を示す文字列を取得する。非表...
|resオブジェクト|ngOrigin|連鎖非表示の元となったレスオブ...
|bool|ngTransparent|resが透明非表示の場合にtrueを返す|
|Integer|weight|非表示のウェイトを取得する|
|Integer|refCount|被参照数|
|Integer|idCount|同じIDを持つレスの総数(スレッド内)|
|linkオブジェクト[]|links|本文に含まれるリンク|
|Integer[]|refResIndex|レスを参照しているレスのレス番号の...
|レスラベルオブジェクト|resLabel|レスresに設定されている...
|String|source|resのソース(datの行)を返す。datファイルが...
|java.net.URL|url|resのURLを返す。対応するURLが存在しない...
|bool|twitter|resがTwitterのTweetの場合にtrueを返す。|
|bool|retweet|resがリツイートされたTweetの場合にtrueを返...
|java.lang.Long|tweetID|resのTweetIDをjavaのLongとして返...
|ユーザオブジェクト|user|resのユーザオブジェクトを返す。T...
|String|clientName|resが投稿されたクライアント名を返す。T...
|>|>| |
|~戻り値|~メソッド|~説明|
|void|setResLabel(レスラベルオブジェクト rl)|レスresにレ...
|void|setResLabelOfName(String sn)|レスresに名前がsnのレ...
|void|addNGID(bool t, Integer w)|resのIDをNGIDに追加する&...
|void|setNGRes(bool t)|resを非表示にする。t(デフォルト値...
|void|setNoNGRes()|resを常に表示する。rescheck.jsでは使用...
|void|resetNGRes()|resの非表示設定をクリアする。|
**ユーザオブジェクト(usr) [#sfa301db]
res.userプロパティから受け取れるTwitterユーザー情報のオブ...
|~型|~プロパティ|~説明|
|java.lang.Long|id|ユーザーID&br;注意:Twitter検索とそれ...
|String|userName|ユーザ名|
|String|name|名前 (res.nameと同じ)|
**linkオブジェクト(lnk) [#ffe43625]
|~型|~プロパティ|~説明|
|java.net.URL|url|リンクのURL|
|java.io.File|imageCacheFile|リンクの画像キャッシュファイ...
|bool|type_IMAGE|リンクオブジェクトlnkのURLが画像の拡張子...
**レスラベルオブジェクト(rl) [#caf0f997]
res.resLabel,th.postResLabel等で取得できるレスラベルのオ...
|~型|~プロパティ|~説明|
|String|name|レスラベルの名前|
**書き込み欄オブジェクト(wp) [#l4c87f24]
th.openWritePanel(),th.mayOpenWritePanel()で対応する書き...
|~型|~プロパティ|~説明|
|threadオブジェクト|thread|スレッドオブジェクトを返します...
|入力欄オブジェクト|title|タイトルの入力欄オブジェクトを...
|入力欄オブジェクト|name|名前の入力欄オブジェクトを返しま...
|入力欄オブジェクト|mail|メールの入力欄オブジェクトを返し...
|入力欄オブジェクト|message|本文の入力欄オブジェクトを返...
|bool|preview|書き込みプレビューを表示している時にtrueを...
|bool|sage|sageチェックボックスがチェックされている時true...
|>|>| |
|~戻り値|~メソッド|~説明|
|void|close()|書き込み欄を閉じます|
**入力欄オブジェクト(tc) [#q07f74ca]
wp.title, wp.name, wp.mail, wp.message … 書き込み欄オブジ...
|~型|~プロパティ|~説明|
|String|text|入力されているテキストを返します(代入により...
|String|selText|選択範囲のテキストを返します(代入により...
|Integer|caretPos|キャレットの位置を整数で返します(代入...
|Integer|selStart|選択開始位置を整数で返します(代入によ...
|Integer|selEnd|選択終了位置を整数で返します(代入により...
|>|>| |
|~戻り値|~メソッド|~説明|
|void|select(Integer is, Integer ie)|isからieまでの範囲を...
|void|copy()|コピーします|
|void|paste()|ペーストします|
|void|cut()|カットします|
**HttpRequestオブジェクト(hr) [#o4a07542]
HTTPのファイル取得でリクエストヘッダの設定やPOSTデータの...
まず最初にHttpRequestオブジェクトを作成します。
※setRequestProperty(name,value)はgetContentsAs*()の前に、...
|~戻り値|~コンストラクタ|~説明|
|HttpRequestオブジェクト|v2c.createHttpRequest(u)|URLuをG...
|HttpRequestオブジェクト|v2c.createHttpRequest(u, d)|URLu...
|>|>| |
|~型|~プロパティ|~説明|
|Integer|responseCode|HTTPレスポンスコード。リクエストの...
|String|responseMessage|HTTPレスポンスメッセージ|
|String|contentType|Content-Typeの値 text/html等フォーマ...
|Integer|date|Dateの値(1970/01/01からの経過時間(ミリ秒...
|Integer|lastModified| Last-Modifiedの値(1970/01/01から...
|java.util.map|allResponseHeaders|全レスポンスヘッダ|
|>|>| |
|~戻り値|~メソッド|~説明|
|void|setRequestProperty(String name, String value)|名前n...
|String|getResponseHeader(String name)|名前nameのレスポン...
|java.lang.byte[]|getContentsAsBytes()|URLuから取得した内...
|java.lang.String|getContentsAsString()|hr.getContentsAsB...
**コールバック関数(V2Cから呼び出される関数) [#d6ee5450]
***スクリプトでのスレ一覧生成のコールバック関数 [#k058f0e6]
&size(18){スレッドオブジェクト[] getThreads(Object cx)};
--''cx'' … 処理の進捗状況をユーザーに知らせる機能を保持す...
---''cx.maxProgress = n'' … ステータスバーに表示する進捗...
---''cx.progress = v'' … ステータスバーに表示する進捗状況...
---''cx.message = s'' … エラーにより中断した場合にステー...
---''cx.skip'' … V2Cがオンライン状態でない等の理由でスレ...
|&color(red){外部コマンドの登録方法};&br();お気に入り・ツ...
''anago.2ch.netのソフトウェア板の過去ログ倉庫のスレッドを...
function getThreads(cx) {
if (!v2c.online) {
cx.skip = true;
return null;
}
var sb='http://anago.2ch.net/software/';
var bd=v2c.getBoard(sb);
if (!bd) {
cx.message = '板オブジェクトの取得に失敗';
return null;
}
var su=sb+'kako/';
var sk=v2c.readURL(su);
if (v2c.interrupted) {
return null;
}
if (!sk) {
cx.message = su+'の取得に失敗';
return null;
}
var thl=[],sul=[];
var res=new RegExp('<A HREF="(o\\d+/subject.txt)">','g...
var rs;
while (rs=res.exec(sk)) {
sul.push(rs[1]);
}
cx.maxProgress = sul.length;
for (var i=0; i<sul.length; i++) {
var ss=v2c.readURL(su+sul[i]);
if (v2c.interrupted) {
return null;
}
if (!ss) {
cx.message = su+sul[i]+'の取得に失敗';
return null;
}
cx.progress = i+1;
var ret=new RegExp('^(\\d+)\\.dat<>(.+) \\((\\d+)\\)...
var rt;
while (rt=ret.exec(ss)) {
var st=rt[2].replace(/</g,'<').replace(/>/g,...
var th=bd.getThread(rt[1],sb,st,rt[3]);
if (th) {
thl.push(th);
}
}
}
return thl;
}
***POPUP関連のコールバック関数 [#c748ec73]
:v2c.context.setTrapFormSubmission(true)|&size(18){void f...
--''u'' … URL
--''sm'' … 'GET'または'POST'の文字列
--''sd'' … FORMのデータ
|setRedirectURL(b)・redirectURL(u)とよく似た方式で、&br;v...
使用例は:
function formSubmitted(u,sm,sd) {
v2c.println('URL: '+u);
v2c.println('method: '+sm);
v2c.println('data: '+sd);
}
var vcx = v2c.context;
vcx.setPopupHTML('<html><body style="margin:10px;"><form...
vcx.setTrapFormSubmission(true);
:v2c.context.setRedirectURL(true)|&size(18){java.net.URL ...
--''u'' … URL
|setRedirectURL(true)を実行しておくとHTMLポップアップ上で...
多段ポップアップできない例:
○ <a href="http://www.google.com/image/">テスト</a>
× <a href="./image/">テスト</a>
redirectURL(u)のイメージは:
function redirectURL(u) {
if (uを独自に処理したい) {
uの処理; // setPopupHTML等
return null;
} else if (別のURLをWebブラウザで開きたい) {
return 別のURL;
} else {
return u; // そのままWebブラウザで開く(デフォルトの...
}
}
**systemスクリプトのコールバック関数 [#he5bd6b4]
システムスクリプトを変更した場合はファイル→再読み込みで各...
スクリプト中で"_v2c_"で始まる名前は使用しないで下さい
***imagecache.jsのコールバック関数 [#w44017c9]
:imagecache.js|&size(18){void getDownloadNewImagesLimit(t...
|スレッドレッドを更新後、新着画像ファイルのダウンロードを...
--''th'' … スレッドオブジェクト
--''ov'' … 新着画像ファイルダウンロードの設定を保持するオ...
---''ov.maxdays'' … 初期値として「リンク・画像・動画」設...
---''ov.maximgs'' … 初期値として「リンク・画像・動画」設...
***rescheck.jsのコールバック関数 [#f6105a42]
下のような自明な関数は未定義にしておく方が実行速度が上が...
function beginCheck(th,cx) {return true;}
function checkRawText(res,cx) {}
function checkAA(res,cx) {}
function checkNG(res,cx) {}
function endCheck(th,cx) {}
本文に特定の文字列を含むレスをAAレスと判定する例:
function checkAA(res,cx) {
if (res.message.indexOf('( ・e・)')>=0) {
res.setAA(true);
}
}
レス読み込みの処理は以下のような順番になります。
+beginCheck(th,cx) (cx.checkRawText・cx.checkAA・cx.chec...
+各レスについて以下の繰り返し
++"<>"によるフィールドの分離
++checkRawText(th,cx)
++ReplaceStr.txtによる置換
++レスの解析(時間・IDの分離や本文のリンク化等)
++通常の非表示・キーワードのチェック
++checkAA(res,cx)
++checkNG(res,cx)
+endCheck(th,cx)
非表示の再チェックでは各レスに対してcheckNG(res,cx)だけが...
+beginCheck(th,cx) (cx.checkNGがtrue)
+各レスについて以下の繰り返し
++checkNG(res,cx)
+endCheck(th,cx)
----
:rescheck.js|&size(18){Object beginCheck(threadオブジェク...
|beginCheck(th,cx)の返り値がfalseまたはbooleanとしてfalse...
--''th'' … スレッドオブジェクト
--''cx'' … チェックに関するオブジェクト&br;スレッド読み込...
---''cx.checkRawText'' … trueの場合テキスト置換関数checkR...
---''cx.checkAA'' … trueの場合AA判定関数checkAA(res,cx)が...
---''cx.checkNG'' … trueの場合NG指定関数checkNG(res,cx)が...
:rescheck.js|&size(18){void checkRawText(resオブジェクト ...
|主にレスのテキストを置換するための関数&br;(この関数のres...
--''res'' … レスオブジェクト
|~型|~プロパティ|~説明|
|String|timeid|時間とIDを解析する前の文字列を取得します。|
|>|>| |
|~戻り値|~メソッド|~説明|
|void|setName(String name)|名前欄を文字列nameに設定する|
|void|setMail(String text)|メール欄を文字列textに設定する|
|void|setMessage(String text)|本文を文字列textに設定する|
|void|setNanasi(bool)|trueで名無しとして、falseで名無し以...
--''cx'' … チェックに関する情報を保持するオブジェクト。cx...
:reccheck.js|&size(18){void checkAA(resオブジェクト res,O...
|AA判定をするための関数&br;この関数のresオブジェクトでの...
--''res'' … レスオブジェクト
|~戻り値|~メソッド|~説明|
|void|setAA(bool)|boolがtrueの場合このレスをAAレスと判定...
--''cx'' … チェックに関する情報を保持するオブジェクト。cx...
:rescheck.js|&size(18){void checkNG(resオブジェクトres,Ob...
|非表示判定をするための関数。&br;この関数のresオブジェク...
--''res'' … レスオブジェクト
|~型|~プロパティ|~説明|
|Integer|weight|非表示のウェイトを取得する|
|>|>| |
|~戻り値|~メソッド|~説明|
|void|setNG(String labelName, bool b, Integer, wait)|この...
|void|resetNG()|setNG()の非表示設定をクリアする。|
--''cx'' … 判定に関する情報を保持するオブジェクト。cx.che...
:rescheck.js|&size(18){void endCheck(threadオブジェクト t...
--''res'' … レスオブジェクト
--''cx'' … 判定に関する情報を保持するオブジェクト
***subject.jsのコールバック関数 [#b0cfd369]
注意:
-checkSubject(ss,bd,cx)はsubject.txtを実際に取得した時に...
-現在ローカル板・Twitter仮想板でcheckSubject(ss,bd,cx)は...
ソフトウェア板でスレッド924を下げてスレタイの先頭に★を追...
function checkSubject(ss,bd,cx) {
if (!bd.bbs.is2ch||(bd.key!='software')) {
return ss;
}
var re=new RegExp('^(\\d+)\\.dat<>(.+) \\((\\d+)\\)$',...
var ls=[],ls9=[];
var rt;
while (rt=re.exec(ss)) {
if (rt[1][0]=='9') {
ls9.push(rt[1]+'.dat<>★ '+rt[2]+' ('+rt[3]+')\n');
} else {
ls.push(rt[0]+'\n');
}
}
return ls.concat(ls9).join('');
}
:subject.js|&size(18){threadオブジェクト[] checkSubject(S...
|subject.txtを取得した後解析する前に実行されます。ssその...
--''ss'' … 取得したsubject.txt
--''bd'' … 板オブジェクト
--''cx'' … (現在はダミー)
***proxy.jsのコールバック関数 [#ib7df361]
例:
function checkProxy(u,p) {
if (RegExp('^http://[0-9A-Za-z-]+\\.2ch\\.net/soft...
p.host = 'localhost';
p.port = 2020;
}
}
注意:
-Proxy.txt内のProxyを選択してレスを書き込む時はcheckProxy...
-proxy.jsを変更した時は「ファイル」メニューの「再読み込み...
小技:
-予めV2Cの設定で書き込みポート1111、読み込みポート2222と...
function checkProxy(u, p) {
p.host = 'localhost';
if (p.port == 1111) { // 書き込みポートの場合
p.port = 8080;
}
if (p.port == 2222) { // 読み込みポートの場合
p.port = 8888;
}
}
:proxy.js|&size(18){void checkProxy(java.net.URL u, Objec...
|V2Cがネットワーク接続する前に実行されます。 |
--''u'' … javaのURLオブジェクト。
--''p'' … Proxy情報を保持するオブジェクト。ネットワーク設...
---''p.host'' … Proxyのホスト名。(代入により設定可能。)
---''p.port'' … Proxyのポート番号。(代入により設定可能。)
---''p.direct()'' … 直接接続に設定する。(p.hostをnullに...
***threadld.jsのコールバック関数 [#f4e2291d]
:threadld.js|&size(18){void threadUpdated(threadオブジェ...
|スレッドの更新完了後更新音を再生する直前に実行されます。|
--''th'' … スレッドオブジェクト。
--''cx'' … スレッドの更新に関する情報を保持するオブジェクト
---''cx.numNewRes'' … 更新によって取得されたレス数。
---''cx.error'' … 更新中に何らかのエラーが発生した時にtru...
---''cx.soundName'' … V2Cの設定によって再生される予定のサ...
cx.soundName = 'filename';
で更新完了音を変更することができます。
---''cx.rounding'' … 巡回中にスレッドが更新された場合にtr...
***getdat.jsのコールバック関数 [#d6cd8445]
getDat(th)はスレッドの過去ログを取得できなかった時に実行...
:getdat.js|&size(18){threadオブジェクト getDat(threadオブ...
|スレッドのログファイルの内容を返します。&br;getDat(th)は...
--''th'' … スレッドオブジェクト
--''戻り値''
---''byte[]'' … バイト列byte[]をログファイルの内容として...
---''null'' … ログファイルを取得できなかったことを示しま...
---''上記以外'' … 返されたオブジェクトを文字列に変換し、...
***post.jsのコールバック関数 [#ceff4cd1]
:post.js|&size(18){void checkBeforeCreateThread(書き込み...
|スレ立て時、V2Cが書き込み内容をチェックする前に実行され...
--''wp'' … 書き込み欄オブジェクト
:post.js|&size(18){checkBeforePost(書き込み欄オブジェクト...
|書き込み時、V2Cが書き込み内容をチェックする前に実行され...
--''wp'' … 書き込み欄オブジェクト
***menu.jsのコールバック関数 [#c0249553]
レス表示ポップアップメニューから「マーカーを引いたレスを...
function popupMenuCreated(pm,sn) {
if (sn=='ThreadPanel') {
for (var i=pm.getComponentCount()-1; i>=0; i--) {
var mi=pm.getComponent(i);
if (!(mi instanceof javax.swing.JMenuItem)) { // ...
continue;
}
if (mi.getText().startsWith('マーカーを引いたレス...
pm.remove(i);
break;
}
}
}
}
レス番号ポップアップメニューの「設定」の最初のセパレータ...
function popupMenuCreated(pm,sn) {
if (sn=='ResNum') {
loop:
for (var i=pm.getComponentCount()-1; i>=0; i--) {
var mi=pm.getComponent(i);
if (!(mi instanceof javax.swing.JMenuItem)) { // ...
continue;
}
if (mi.getText()=='設定') {
// mi は javax.swing.JMenu
for (var j=0; j<mi.getItemCount(); j++) {
var mj=mi.getItem(j);
if (!(mj instanceof javax.swing.JMenuItem)) { ...
mi.remove(j);
for (var k=j-1; k>=0; k--) {
pm.insert(mi.getItem(k),i);
}
break loop;
}
}
break;
}
}
}
}
レス表示ポップアップメニューの抽出系の項目を下位メニュー...
function popupMenuCreated(pm,sn) {
if (sn=='ThreadPanel') {
var ie=-1;
for (var i=pm.getComponentCount()-1; i>=0; i--) {
var mi=pm.getComponent(i);
if (!(mi instanceof javax.swing.JMenuItem)) { // ...
continue;
}
var sl=mi.getText();
if (ie<0) {
if (sl.startsWith('抽出ダイアログ')) {
ie = i;
}
} else {
if (sl.startsWith('リンクを含むレスを抽出')) {
var m=new javax.swing.JMenu('抽出');
for (var j=ie; j>=i; j--) {
m.insert(pm.getComponent(j),0);
}
pm.insert(m,i);
break;
}
}
}
}
}
:menu.js|&size(18){void popupMenuCreated(javax.swing.JPop...
|popupMenuCreated(pm,sn)はポップアップメニューが作成され...
--''pm'' … 作成されたポップアップメニュー(JPopupMenu)。
--''sn'' … 作成されたポップアップメニューの名前。
|>|snに指定できるポップアップメニュー名|
|ThreadPanel|レス表示欄ポップアップメニュー|
|TwitterPanel|Tweet表示欄ポップアップメニュー|
|ResNum|レス番号ポップアップメニュー|
|ResCheck|レスのチェックポップアップメニュー|
|Name|名前欄ポップアップメニュー|
|TwitterUserName|Twitterユーザ名ポップアップメニュー|
|Mail|メール欄ポップアップメニュー|
|Time|投稿時間ポップアップメニュー|
|ID|IDポップアップメニュー|
|Aux|補助情報ポップアップメニュー|
|Link|リンクポップアップメニュー|
|Thumbnail|サムネイル画像ポップアップメニュー|
|SelText|選択テキストポップアップメニュー|
|SelTextLink|選択範囲のリンクポップアップメニュー |
-menu.jsで使用するJavaオブジェクトの説明
-メニュー項目のイメージ:
□JMenu pm (右クリックメニューの起点root)
├ JMenuItem メニュー項目
├ ──── (pm.addSeparator()で追加した区切り線)
├ JMenu subMenu
│ └ JMenuItem メニュー項目
└JMenuItem メニュー項目
-メニュー操作のJava6リファレンスリンク
--[[Java6 リファレンスJMenu >http://docs.oracle.com/javas...
--[[Java6 リファレンス JMenuItem>http://docs.oracle.com/j...
--[[Java6 リファレンス JCheckBoxMenuItem>http://docs.orac...
-表中の省略名は以下のオブジェクトを示します
-''pm'' = javax.swing.JMenu
-''o'' = javax.swing.JMenuItem
-''cbo'' = javax.swing.JCheckBoxMenuItem
|~戻り値|~メソッド|~引数|~説明|
|javax.swing.JMenuItem|pm.insert(JMenu subMenu, Integer i...
|~|~|''index''|子メニュー(またはメニュー項目)をJMenuItem...
|>|>|>|JMenu pmを起点とする右クリックメニューのJMenuItem...
|~戻り値|~メソッド|~引数|~説明|
|javax.swing.JMenu|pm.add(JMenu subMenu)|''subMenu''|JMen...
|void|pm.remove(Integer index)|''index''|メニューのJMenuI...
|~戻り値|~メソッド|~引数|~説明|
|javax.swing.JMenuItem|pm.getComponent(Integer index)|''i...
|javax.swing.JMenuItem|pm.getItem(Integer index)|~|~|
|>|>|>|メニューのJMenuItem一覧のインデックス index(最初の...
|~戻り値|~メソッド|~引数|~説明|
|String|pm.getText()|なし|JMenuメニュー項目名を返します|
|String|o.getText()|なし|JMenuItem項目名を返します|
|Integer|pm.getComponentCount()|なし|メニューのJMenuItem...
|void|pm.addSeparator()|なし|メニュー項目の末尾に区切り線...
|~戻り値|~メソッド|~引数|~説明|
|void|o.addActionListener(action)|function|javascriptの関...
|>|>|>|JMenuItemをクリックした時に処理させたい関数を指定...
|~戻り値|~メソッド|~引数|~説明|
|void|cbo.addChangeListener(action)|function|javascriptの...
|>|>|>|JCheckBoxMenuItemをクリックされたときに処理させた...
終了行:
*V2Cスクリプトリファレンス [#dce14ebb]
#contents
**v2cオブジェクト [#qe2986ab]
V2Cとのやりとりに使用します
|~型|~プロパティ|~説明|
|contextオブジェクト|context|contextオブジェクトを取得し...
|historyオブジェクト|history|historyオブジェクトを取得し...
|お気に入りタブコレクションオブジェクト|favorites|お気に...
|boardオブジェクト[]|boards|V2Cに登録されている全板オブジ...
|java.io.File|appDir|ランチャーのフォルダ(JWS版またはJAR...
|java.io.File|saveDir|V2C保存用フォルダ|
|レスペインオブジェクト|resPane|現在選択されているレスペ...
|String|status|ステータスバーの文字列を取得します(代入に...
|bbsオブジェクト|bbs2ch|2chのBBSオブジェクトを返す|
|bool|online|V2Cがオンライン状態の時にtrueを返す|
|bool|interrupted|外部からの中断要求(スレ一覧用スクリプ...
|レスラベルオブジェクト[]|resLabels|V2Cで設定されているレ...
|bool|compSoundEnabled|更新完了音を再生する設定がオンの時...
|String|clipboardText|クリップボードの文字列を取得します...
|>|>| |
|~戻り値|~メソッド|~説明|
|void|beep()|Beep音を鳴らす|
|void|setStatus(String s)|ステータスバーにメッセージを表...
|void|alert(String s)|ダイアログでメッセージsを表示する|
|bool|confirm(String s)|文字列sを「OK」・「Cancel」ボタン...
|void|print(String s)|sをスクリプトコンソールに追加する。...
|void|println(String s)|sをスクリプトコンソールに追加した...
|String|prompt(String s,String v)|文字列sの下に初期値vの...
|>|>| |
|void|exit()|V2Cを終了する。&br;(スクリプトにV2C終了の許...
|void|restart()|V2Cを再起動する。再起動できない場合はその...
|void|exec(String s)|文字列sをコマンドラインとして実行し...
|void|exec(String[] l)| lを引数のArrayとして実行します。l...
|>|>| |
|boardオブジェクト|getBoard(java.net.URL u, String n)|URL...
|threadオブジェクト|getThread(java.net.URL u, String t, I...
|boardオブジェクト|getLocalBoard(String d)|フォルダ名がd...
|resオブジェクト(セパレータオブジェクト)|createResSeparat...
|>|>| |
|String|getSelectedText()|選択テキストを取得|
|String|replaceSelectedText(String s)|キーボードフォーカ...
|void|reloadSettringFile(String s)|ファイル名sの設定ファ...
|void|reloadSystemScript(String s)|ファイル名sのシステム...
|レスラベルオブジェクト|getResLabel(String sn)|名前がsnの...
|>|>| |
|>|>|''オブジェクト記憶メソッド''&br; 以下の関数はスクリ...
|~戻り値|~メソッド|~説明|
|void|setScriptObject(Object v)|オブジェクトvを設定する|
|Object|getScriptObject()|setScriptObject(v)で設定された...
|Object|putProperty(String s, Object v)|キーsに対してオブ...
|Object|getProperty(String s)|キーsに対応するオブジェクト...
|Object|removeProperty(String s)|キーsに対応するオブジェ...
|>|>| |
|>|>|''ネットワーク接続に関するメソッド''&br; openURL以...
|~戻り値|~メソッド|~説明|
|java.net.URL|expandShortURL(java.net.URL u, bool r)|URL ...
|String|readURL(java.net.URL u)|u(URL文字列)の内容を取...
|HttpRequestオブジェクト|createHttpRequest(java.net.URL u...
|HttpRequestオブジェクト|createHttpRequest(java.net.URL u...
|void|openURL(java.net.URL u, bool bu, bool bnt, bool bbg...
|void|browseURL(java.net.URL u)|URL u をブラウザで開く。J...
|void|browseURLExt(java.net.URL u)|URL u を外部ブラウザで...
|void|browseURLDefExt(java.net.URL u)|URL u をデフォルト...
|>|>| |
|>|>|''ファイルパス取得関連メソッド''|
|~戻り値|~メソッド|~説明|
|java.io.File|getScriptDataFile(String fn)|スクリプトがデ...
|java.io.File|getScriptSubFile(String n)|スクリプトファイ...
|>|>| |
|>|>|''ファイル・フォルダ操作関連メソッド''(ファイル読み...
|~戻り値|~メソッド|~説明|
|bool|copyFileInfo(java.io.File f, java.io.File d)|ファイ...
|bool|copyFile(java.io.File f0, java.io.File f1)|ファイル...
|>|>| |
|>|>|''ファイル読み込み関連メソッド''(ファイル読み込みの...
|~戻り値|~メソッド|~説明|
|String|readFile(Java.io.File f,String c)|ファイルfを文字...
|String|readStringFromFile(java.io.File f,String c)|readF...
|String[]|readLinesFromFile(java.io.File f,String c)|ファ...
|byte[]|readBytesFromFile(java.io.File f)|ファイルfの内容...
|>|>| |
|>|>|''ファイル書き込み関連メソッド''&br;(ファイルが既に...
|~戻り値|~メソッド|~説明|
|void|writeStringToFile(java.io.File f,String s,String c)...
|void|writeLinesToFile(java.io.File f,String[] sl,String ...
|void|writeBytesToFile(java.io.File f,byte[] bl)|ファイル...
**historyオブジェクト [#f49f3630]
注意:履歴にスレッドが存在しない場合もlengthが0のArrayを...
|~型|~プロパティ|~説明|
|threadオブジェクト[]|threads|レス表示履歴に存在するスレ...
|threadオブジェクト[]|postThreads|レス表示履歴に存在する...
**contextオブジェクト [#e27cd660]
コマンドの実行に必要な情報を取得します。
※ユーザーではなくV2C本体から呼ばれるsystemスクリプトではc...
|~型|~プロパティ|~説明|
|String|commandLabel|スクリプトを起動したコマンドのラベル...
|String|argLine|外部コマンド設定のスクリプトファイル名(...
|String[]|args|v2c.context.argLineを分割して作成した引数...
|resオブジェクト|res|ポップアップメニューを表示した、また...
|threadオブジェクト|thread|スレッドに関する情報を保持する...
|linkオブジェクト|link|リンクコマンドの対象リンクオブジェ...
|linkオブジェクト[]|links|選択テキストに含まれるリンクオ...
|String|selText|レス表示欄のユーザーが範囲指定した選択範...
|Integer[]|filteredResIndex|スクリプトが起動された時にレ...
|Integer[]|checkedResIndex|スクリプトが起動された時にレス...
|java.awt.Point|mousePos|スクリプト開始時のマウスポインタ...
|>|>| |
|~戻り値|~メソッド|~説明|
|void|setStatusBarText(String text)|スクリプトの実行終了...
|void|setClipboardText(String text)|スクリプトの実行終了...
|void|setPopupText(String text)|スクリプトの実行終了後に...
|void|setPopupHTML(String text)|スクリプトの実行終了後に...
|void|setPopupFocusable(bool)|2c.context.setPopupFocusabl...
|void|setMaxPopupWidth(Integer size)|v2c.context.setPopup...
|void|setRedirectURL(bool)|スクリプト内で関数redirectURL(...
|void|setTrapFormSubmission(bool)|スクリプト内で関数formS...
|void|closeOriginalPopup()|formSubmitted(u,sm,sd)内でv2c....
|void|setFilteredRes(resオブジェクト[] resArray)|スクリプ...
|void|setFilteredResIndex(Integer resIndex)|スクリプトの...
|void|setPopupRes(resオブジェクト[] resArray)|resArrayで...
|void|setPopupResIndex(Integer resIndex)|resIndexで与えら...
|void|setPostMessage(String text)|スクリプトの実行終了後...
|void|insertToPostMessage(String text)|スクリプトの実行終...
|void|setResToJump(resオブジェクト res)|スクリプトの実行...
|void|setResIndexToJump(Integer resIndex)|スクリプトの実...
|void|setResPaneText(String caption, String targetTabName...
|void|setResPaneHTML(String caption, String targetTabName...
|void|closeOriginalPanel()|redirectURL(u)・formSubmitted(...
|void|setPopupID(String idName)|setPopupTextやsetPopupHTM...
|ダミーオブジェクト|getPopupOfID(String idName)|ID idName...
|void|setCloseOnMouseExit(bool)| trueを指定するとsetPopup...
|void|setDefaultCloseOnMouseExit(bool)|setCloseOnMouseExi...
|void|setCloseOnLinkClick(bool)|boolがfalseの時setPopupHT...
**お気に入りタブコレクションオブジェクト(fvs) [#p99ba0ba]
v2c.favoritesが返すオブジェクトfvsによってお気に入り全体...
|~型|~プロパティ|~説明|
|Integer|count|お気に入りタブの総数|
|>|>| |
|~戻り値|~メソッド|~説明|
|お気に入りタブオブジェクト|getFavorite(Integer i)|インデ...
|お気に入りタブオブジェクト|createFavorite(String n)|名前...
**お気に入りタブオブジェクト(fav) [#p5c55a13]
fav.appendItem(f,o), fav.insertItem(f,o,i), fav.removeIte...
|~型|~プロパティ|~説明|
|String|name|お気に入りタブの名前|
|お気に入りアイテムオブジェクト|root|お気に入りタブのルー...
|>|>| |
|~戻り値|~メソッド|~説明|
|bool|contains(お気に入りアイテムオブジェクト o)|oがお気...
|>|>|''お気に入りアイテム追加・削除の関数'' (要:${SCRIP...
|void|removeAll()|お気に入りタブの内容をルートフォルダの...
|void|clearFolder(String f)|お気に入りフォルダfの内容を空...
|お気に入りアイテムオブジェクト|appendFolder(お気に入りア...
|お気に入りアイテムオブジェクト|insertFolder(お気に入りア...
|お気に入りアイテムオブジェクト|appendItem(お気に入りアイ...
|お気に入りアイテムオブジェクト|insertItem(お気に入りアイ...
|void|removeItem(お気に入りアイテムオブジェクト o|oの登録...
**お気に入りアイテムオブジェクト(o) [#n31eedd9]
|~型|~プロパティ|~説明|
|String|label|アイテムの名前|
|Integer|childCount|oがフォルダの場合はフォルダに含まれる...
|boardオブジェクト|board|oが板の場合は板オブジェクトを、...
|threadオブジェクト|thread|oがスレッドの場合はスレッドオ...
|>|>| |
|~戻り値|~メソッド|~説明|
|お気に入りアイテムオブジェクト|getChild(Integer i)|oがフ...
**bbsオブジェクト(bbs) [#ic20839e]
|~型|~プロパティ|~説明|
|bool|is2ch|BBSが2ch、bbspinkの時にtrueを返します|
|bool|is2cheq|BBSが2ch互換の時にtrueを返します|
|bool|shitaraba|BBSがしたらばの時にtrueを返します|
|bool|machi|BBSがまちBBSの時にtrueを返します|
|bool|twitter|BBSがTwitterの時にtrueを返します|
|>|>| |
|~戻り値|~メソッド|~説明|
|boardオブジェクト|getBoard(key)|bbsが2chの場合、板キーが...
**boardオブジェクト(bd) [#yeafa324]
|~型|~プロパティ|~説明|
|bbsオブジェクト|bbs|板オブジェクトboardからBBSオブジェク...
|java.net.URL|url|板のURL|
|String|name|板名|
|String|key|板キー (板キーをparseIntで数値型に変換して100...
|String|anonymousName|SETTING.TXTに設定されている名無し(...
|String|allAnonymousName|SETTING.TXTに設定されている名無...
|bool|local|板オブジェクトがローカル板の場合trueを返す|
|threadオブジェクト[]|threadsWithLog|板bd内のログのある全...
|java.util.Map|settingMap|板オブジェクトbdのSETTING.TXTを...
|>|>| |
|~戻り値|~メソッド|~説明|
|threadオブジェクト|getThread(key)|板オブジェクトbd内のス...
|threadオブジェクト|createLocalThread(String title, resオ...
|threadオブジェクト|getThread(k, u, t, n)|板bdのスレッド...
|void|addNGID(id, d, t, w)|文字列idを板bdのNGIDに追加する...
**レスペインオブジェクト(rp) [#w609c090]
|~型|~プロパティ|~説明|
|Integer|columnCount|レス表示欄カラムの数を返す|
|カラムオブジェクト[]|columns|レス表示ペインに表示されて...
|Integer|selectedColumnIndex|選択されているカラムのインデ...
|カラムオブジェクト|selectedColumn|選択されているカラムオ...
|Integer|tabCount|開いているタブの数|
|Integer|selectedIndex|選択されているタブのインデックス|
|threadオブジェクト|selectedThread|選択されているタブのス...
|threadオブジェクト[]|threads|レス表示ペインに表示されて...
|>|>| |
|~戻り値|~メソッド|~説明|
|threadオブジェクト|getThread(Integer tabIndex)|インデッ...
|void|checkNG()|全てのレス表示タブの非表示を再チェックす...
|void|checkNG(null)|rp.checkNG()と同じ。|
|void|checkNG(threadオブジェクト th)|スレッドthのレス表示...
|void|checkNG(boardオブジェクト bd)|板bdに属するスレッド...
**カラムオブジェクト(col) [#tb0260ff]
レスペイン内のスレッドタブ群に対してやりとりするためのオ...
|~型|~プロパティ|~説明|
|Integer|tabCount|開いているタブの数|
|Integer|selectedIndex|選択されているタブのインデックス|
|threadオブジェクト|selectedThread|選択されているタブのス...
|threadオブジェクト[]|threads|レス表示ペインに表示されて...
|>|>| |
|~戻り値|~メソッド|~説明|
|threadオブジェクト|getThread(Integer tabIndex)|インデッ...
|void|openThread(th, bu, bnt, bbg)|(カラムの選択状態に関...
**threadオブジェクト(th) [#hc94a5fd]
未取得レス数は(th.resCount-th.localResCount)で、スレッド...
|~型|~プロパティ|~説明|
|boardオブジェクト|bbs|スレッドオブジェクトthreadからBBS...
|java.net.URL|url|スレッドのURL|
|String|title|スレッドタイトル|
|String|key|スレッドキー|
|java.io.File|localFile|ローカルに保存されたログファイル|
|Integer|localResCount|既得レス数|
|Integer|resCount|localResCount、またはスレッド更新後に更...
|Integer|newResCount|新着レス数|
|Integer|newMarkResCount|スレッドの新着境界より後のレス数|
|Integer|newMarkResIndex|新着境界直後のレスのインデックス...
|Integer|speed|スレッドの1日当りのレス数|
|java.io.File|sytleDir|レス表示スタイルフォルダ|
|boardオブジェクト|board|スレッドが属する板のboardオブジ...
|java.io.File|styleFile|通常の掲示板ではth.styleDir\style...
|bool|unread|スレッドに未読レスが存在する時にtrueを返しま...
|bool|local|スレッドがローカルスレッドの時にtrueを返します|
|bool|live|スレッドがdat落ちしていないと推測される場合にt...
|bool|lock|スレッドのレス表示タブがロックされている場合に...
|Integer|columnIndex|スレッドが開かれているカラムのインデ...
|Integer|viewResIndex|表示されている最初のレスのインデッ...
|レスラベルオブジェクト|postResLabel|そのスレッドで自分の...
|Integer[]|postResIndex|そのスレッドで自分の書き込みに自...
|>|>| |
|~戻り値|~メソッド|~説明|
|resオブジェクト|getRes(Integer i)|インデックスがiのレス...
|bool|update()|スレッドを更新する(外部へのネットワーク接...
|bool|updateAndWait()| スレッドを更新した後更新完了まで待...
|void|resetUnread()|スレッドの未読状態をリセットします。...
|void|open(bool bu,bool bnt,bool bbg)|スレッドをレス表示...
|書き込み欄オブジェクト|openWritePanel()|対応する書き込み...
|書き込み欄オブジェクト|mayOpenWritePanel()|スレッドが書...
|void|close()|スレッドのレス表示タブを閉じます。(レス表...
|void|clearNewMark()|スレッドがレス表示タブで開いている場...
|void|importPropertyFrom(threadオブジェクト th0)| thread...
|void|movePanelTo(Integer ic,Integer it)|スレッドのレス表...
|void|importDatFile(java.io.File f,String n,bool o)|ファ...
|void|importDatBytes(java.lang.Byte bl,String n,bool o)|J...
**resオブジェクト(res) [#d1f29ba4]
|~型|~プロパティ|~説明|
|bbsオブジェクト|bbs|レスオブジェクトresからBBSオブジェク...
|Integer|number|レス番号|
|Integer|index|レスインデックス (最初のレスは0)|
|String|name|名前欄|
|String|mail|メール欄|
|String|date|投稿時刻|
|Integer|time|1970/01/01から投稿時刻までの経過時間(ミリ...
|String|id|ID|
|String|beID|BeのID(基礎番号、存在しない場合は0|
|String|aux|補助情報(まちBBSのIP等datフォーマットの投稿日...
|String|message|本文|
|bool|ng|レスが非表示の場合にtrue|
|String|ngReason|非表示の理由を示す文字列を取得する。非表...
|resオブジェクト|ngOrigin|連鎖非表示の元となったレスオブ...
|bool|ngTransparent|resが透明非表示の場合にtrueを返す|
|Integer|weight|非表示のウェイトを取得する|
|Integer|refCount|被参照数|
|Integer|idCount|同じIDを持つレスの総数(スレッド内)|
|linkオブジェクト[]|links|本文に含まれるリンク|
|Integer[]|refResIndex|レスを参照しているレスのレス番号の...
|レスラベルオブジェクト|resLabel|レスresに設定されている...
|String|source|resのソース(datの行)を返す。datファイルが...
|java.net.URL|url|resのURLを返す。対応するURLが存在しない...
|bool|twitter|resがTwitterのTweetの場合にtrueを返す。|
|bool|retweet|resがリツイートされたTweetの場合にtrueを返...
|java.lang.Long|tweetID|resのTweetIDをjavaのLongとして返...
|ユーザオブジェクト|user|resのユーザオブジェクトを返す。T...
|String|clientName|resが投稿されたクライアント名を返す。T...
|>|>| |
|~戻り値|~メソッド|~説明|
|void|setResLabel(レスラベルオブジェクト rl)|レスresにレ...
|void|setResLabelOfName(String sn)|レスresに名前がsnのレ...
|void|addNGID(bool t, Integer w)|resのIDをNGIDに追加する&...
|void|setNGRes(bool t)|resを非表示にする。t(デフォルト値...
|void|setNoNGRes()|resを常に表示する。rescheck.jsでは使用...
|void|resetNGRes()|resの非表示設定をクリアする。|
**ユーザオブジェクト(usr) [#sfa301db]
res.userプロパティから受け取れるTwitterユーザー情報のオブ...
|~型|~プロパティ|~説明|
|java.lang.Long|id|ユーザーID&br;注意:Twitter検索とそれ...
|String|userName|ユーザ名|
|String|name|名前 (res.nameと同じ)|
**linkオブジェクト(lnk) [#ffe43625]
|~型|~プロパティ|~説明|
|java.net.URL|url|リンクのURL|
|java.io.File|imageCacheFile|リンクの画像キャッシュファイ...
|bool|type_IMAGE|リンクオブジェクトlnkのURLが画像の拡張子...
**レスラベルオブジェクト(rl) [#caf0f997]
res.resLabel,th.postResLabel等で取得できるレスラベルのオ...
|~型|~プロパティ|~説明|
|String|name|レスラベルの名前|
**書き込み欄オブジェクト(wp) [#l4c87f24]
th.openWritePanel(),th.mayOpenWritePanel()で対応する書き...
|~型|~プロパティ|~説明|
|threadオブジェクト|thread|スレッドオブジェクトを返します...
|入力欄オブジェクト|title|タイトルの入力欄オブジェクトを...
|入力欄オブジェクト|name|名前の入力欄オブジェクトを返しま...
|入力欄オブジェクト|mail|メールの入力欄オブジェクトを返し...
|入力欄オブジェクト|message|本文の入力欄オブジェクトを返...
|bool|preview|書き込みプレビューを表示している時にtrueを...
|bool|sage|sageチェックボックスがチェックされている時true...
|>|>| |
|~戻り値|~メソッド|~説明|
|void|close()|書き込み欄を閉じます|
**入力欄オブジェクト(tc) [#q07f74ca]
wp.title, wp.name, wp.mail, wp.message … 書き込み欄オブジ...
|~型|~プロパティ|~説明|
|String|text|入力されているテキストを返します(代入により...
|String|selText|選択範囲のテキストを返します(代入により...
|Integer|caretPos|キャレットの位置を整数で返します(代入...
|Integer|selStart|選択開始位置を整数で返します(代入によ...
|Integer|selEnd|選択終了位置を整数で返します(代入により...
|>|>| |
|~戻り値|~メソッド|~説明|
|void|select(Integer is, Integer ie)|isからieまでの範囲を...
|void|copy()|コピーします|
|void|paste()|ペーストします|
|void|cut()|カットします|
**HttpRequestオブジェクト(hr) [#o4a07542]
HTTPのファイル取得でリクエストヘッダの設定やPOSTデータの...
まず最初にHttpRequestオブジェクトを作成します。
※setRequestProperty(name,value)はgetContentsAs*()の前に、...
|~戻り値|~コンストラクタ|~説明|
|HttpRequestオブジェクト|v2c.createHttpRequest(u)|URLuをG...
|HttpRequestオブジェクト|v2c.createHttpRequest(u, d)|URLu...
|>|>| |
|~型|~プロパティ|~説明|
|Integer|responseCode|HTTPレスポンスコード。リクエストの...
|String|responseMessage|HTTPレスポンスメッセージ|
|String|contentType|Content-Typeの値 text/html等フォーマ...
|Integer|date|Dateの値(1970/01/01からの経過時間(ミリ秒...
|Integer|lastModified| Last-Modifiedの値(1970/01/01から...
|java.util.map|allResponseHeaders|全レスポンスヘッダ|
|>|>| |
|~戻り値|~メソッド|~説明|
|void|setRequestProperty(String name, String value)|名前n...
|String|getResponseHeader(String name)|名前nameのレスポン...
|java.lang.byte[]|getContentsAsBytes()|URLuから取得した内...
|java.lang.String|getContentsAsString()|hr.getContentsAsB...
**コールバック関数(V2Cから呼び出される関数) [#d6ee5450]
***スクリプトでのスレ一覧生成のコールバック関数 [#k058f0e6]
&size(18){スレッドオブジェクト[] getThreads(Object cx)};
--''cx'' … 処理の進捗状況をユーザーに知らせる機能を保持す...
---''cx.maxProgress = n'' … ステータスバーに表示する進捗...
---''cx.progress = v'' … ステータスバーに表示する進捗状況...
---''cx.message = s'' … エラーにより中断した場合にステー...
---''cx.skip'' … V2Cがオンライン状態でない等の理由でスレ...
|&color(red){外部コマンドの登録方法};&br();お気に入り・ツ...
''anago.2ch.netのソフトウェア板の過去ログ倉庫のスレッドを...
function getThreads(cx) {
if (!v2c.online) {
cx.skip = true;
return null;
}
var sb='http://anago.2ch.net/software/';
var bd=v2c.getBoard(sb);
if (!bd) {
cx.message = '板オブジェクトの取得に失敗';
return null;
}
var su=sb+'kako/';
var sk=v2c.readURL(su);
if (v2c.interrupted) {
return null;
}
if (!sk) {
cx.message = su+'の取得に失敗';
return null;
}
var thl=[],sul=[];
var res=new RegExp('<A HREF="(o\\d+/subject.txt)">','g...
var rs;
while (rs=res.exec(sk)) {
sul.push(rs[1]);
}
cx.maxProgress = sul.length;
for (var i=0; i<sul.length; i++) {
var ss=v2c.readURL(su+sul[i]);
if (v2c.interrupted) {
return null;
}
if (!ss) {
cx.message = su+sul[i]+'の取得に失敗';
return null;
}
cx.progress = i+1;
var ret=new RegExp('^(\\d+)\\.dat<>(.+) \\((\\d+)\\)...
var rt;
while (rt=ret.exec(ss)) {
var st=rt[2].replace(/</g,'<').replace(/>/g,...
var th=bd.getThread(rt[1],sb,st,rt[3]);
if (th) {
thl.push(th);
}
}
}
return thl;
}
***POPUP関連のコールバック関数 [#c748ec73]
:v2c.context.setTrapFormSubmission(true)|&size(18){void f...
--''u'' … URL
--''sm'' … 'GET'または'POST'の文字列
--''sd'' … FORMのデータ
|setRedirectURL(b)・redirectURL(u)とよく似た方式で、&br;v...
使用例は:
function formSubmitted(u,sm,sd) {
v2c.println('URL: '+u);
v2c.println('method: '+sm);
v2c.println('data: '+sd);
}
var vcx = v2c.context;
vcx.setPopupHTML('<html><body style="margin:10px;"><form...
vcx.setTrapFormSubmission(true);
:v2c.context.setRedirectURL(true)|&size(18){java.net.URL ...
--''u'' … URL
|setRedirectURL(true)を実行しておくとHTMLポップアップ上で...
多段ポップアップできない例:
○ <a href="http://www.google.com/image/">テスト</a>
× <a href="./image/">テスト</a>
redirectURL(u)のイメージは:
function redirectURL(u) {
if (uを独自に処理したい) {
uの処理; // setPopupHTML等
return null;
} else if (別のURLをWebブラウザで開きたい) {
return 別のURL;
} else {
return u; // そのままWebブラウザで開く(デフォルトの...
}
}
**systemスクリプトのコールバック関数 [#he5bd6b4]
システムスクリプトを変更した場合はファイル→再読み込みで各...
スクリプト中で"_v2c_"で始まる名前は使用しないで下さい
***imagecache.jsのコールバック関数 [#w44017c9]
:imagecache.js|&size(18){void getDownloadNewImagesLimit(t...
|スレッドレッドを更新後、新着画像ファイルのダウンロードを...
--''th'' … スレッドオブジェクト
--''ov'' … 新着画像ファイルダウンロードの設定を保持するオ...
---''ov.maxdays'' … 初期値として「リンク・画像・動画」設...
---''ov.maximgs'' … 初期値として「リンク・画像・動画」設...
***rescheck.jsのコールバック関数 [#f6105a42]
下のような自明な関数は未定義にしておく方が実行速度が上が...
function beginCheck(th,cx) {return true;}
function checkRawText(res,cx) {}
function checkAA(res,cx) {}
function checkNG(res,cx) {}
function endCheck(th,cx) {}
本文に特定の文字列を含むレスをAAレスと判定する例:
function checkAA(res,cx) {
if (res.message.indexOf('( ・e・)')>=0) {
res.setAA(true);
}
}
レス読み込みの処理は以下のような順番になります。
+beginCheck(th,cx) (cx.checkRawText・cx.checkAA・cx.chec...
+各レスについて以下の繰り返し
++"<>"によるフィールドの分離
++checkRawText(th,cx)
++ReplaceStr.txtによる置換
++レスの解析(時間・IDの分離や本文のリンク化等)
++通常の非表示・キーワードのチェック
++checkAA(res,cx)
++checkNG(res,cx)
+endCheck(th,cx)
非表示の再チェックでは各レスに対してcheckNG(res,cx)だけが...
+beginCheck(th,cx) (cx.checkNGがtrue)
+各レスについて以下の繰り返し
++checkNG(res,cx)
+endCheck(th,cx)
----
:rescheck.js|&size(18){Object beginCheck(threadオブジェク...
|beginCheck(th,cx)の返り値がfalseまたはbooleanとしてfalse...
--''th'' … スレッドオブジェクト
--''cx'' … チェックに関するオブジェクト&br;スレッド読み込...
---''cx.checkRawText'' … trueの場合テキスト置換関数checkR...
---''cx.checkAA'' … trueの場合AA判定関数checkAA(res,cx)が...
---''cx.checkNG'' … trueの場合NG指定関数checkNG(res,cx)が...
:rescheck.js|&size(18){void checkRawText(resオブジェクト ...
|主にレスのテキストを置換するための関数&br;(この関数のres...
--''res'' … レスオブジェクト
|~型|~プロパティ|~説明|
|String|timeid|時間とIDを解析する前の文字列を取得します。|
|>|>| |
|~戻り値|~メソッド|~説明|
|void|setName(String name)|名前欄を文字列nameに設定する|
|void|setMail(String text)|メール欄を文字列textに設定する|
|void|setMessage(String text)|本文を文字列textに設定する|
|void|setNanasi(bool)|trueで名無しとして、falseで名無し以...
--''cx'' … チェックに関する情報を保持するオブジェクト。cx...
:reccheck.js|&size(18){void checkAA(resオブジェクト res,O...
|AA判定をするための関数&br;この関数のresオブジェクトでの...
--''res'' … レスオブジェクト
|~戻り値|~メソッド|~説明|
|void|setAA(bool)|boolがtrueの場合このレスをAAレスと判定...
--''cx'' … チェックに関する情報を保持するオブジェクト。cx...
:rescheck.js|&size(18){void checkNG(resオブジェクトres,Ob...
|非表示判定をするための関数。&br;この関数のresオブジェク...
--''res'' … レスオブジェクト
|~型|~プロパティ|~説明|
|Integer|weight|非表示のウェイトを取得する|
|>|>| |
|~戻り値|~メソッド|~説明|
|void|setNG(String labelName, bool b, Integer, wait)|この...
|void|resetNG()|setNG()の非表示設定をクリアする。|
--''cx'' … 判定に関する情報を保持するオブジェクト。cx.che...
:rescheck.js|&size(18){void endCheck(threadオブジェクト t...
--''res'' … レスオブジェクト
--''cx'' … 判定に関する情報を保持するオブジェクト
***subject.jsのコールバック関数 [#b0cfd369]
注意:
-checkSubject(ss,bd,cx)はsubject.txtを実際に取得した時に...
-現在ローカル板・Twitter仮想板でcheckSubject(ss,bd,cx)は...
ソフトウェア板でスレッド924を下げてスレタイの先頭に★を追...
function checkSubject(ss,bd,cx) {
if (!bd.bbs.is2ch||(bd.key!='software')) {
return ss;
}
var re=new RegExp('^(\\d+)\\.dat<>(.+) \\((\\d+)\\)$',...
var ls=[],ls9=[];
var rt;
while (rt=re.exec(ss)) {
if (rt[1][0]=='9') {
ls9.push(rt[1]+'.dat<>★ '+rt[2]+' ('+rt[3]+')\n');
} else {
ls.push(rt[0]+'\n');
}
}
return ls.concat(ls9).join('');
}
:subject.js|&size(18){threadオブジェクト[] checkSubject(S...
|subject.txtを取得した後解析する前に実行されます。ssその...
--''ss'' … 取得したsubject.txt
--''bd'' … 板オブジェクト
--''cx'' … (現在はダミー)
***proxy.jsのコールバック関数 [#ib7df361]
例:
function checkProxy(u,p) {
if (RegExp('^http://[0-9A-Za-z-]+\\.2ch\\.net/soft...
p.host = 'localhost';
p.port = 2020;
}
}
注意:
-Proxy.txt内のProxyを選択してレスを書き込む時はcheckProxy...
-proxy.jsを変更した時は「ファイル」メニューの「再読み込み...
小技:
-予めV2Cの設定で書き込みポート1111、読み込みポート2222と...
function checkProxy(u, p) {
p.host = 'localhost';
if (p.port == 1111) { // 書き込みポートの場合
p.port = 8080;
}
if (p.port == 2222) { // 読み込みポートの場合
p.port = 8888;
}
}
:proxy.js|&size(18){void checkProxy(java.net.URL u, Objec...
|V2Cがネットワーク接続する前に実行されます。 |
--''u'' … javaのURLオブジェクト。
--''p'' … Proxy情報を保持するオブジェクト。ネットワーク設...
---''p.host'' … Proxyのホスト名。(代入により設定可能。)
---''p.port'' … Proxyのポート番号。(代入により設定可能。)
---''p.direct()'' … 直接接続に設定する。(p.hostをnullに...
***threadld.jsのコールバック関数 [#f4e2291d]
:threadld.js|&size(18){void threadUpdated(threadオブジェ...
|スレッドの更新完了後更新音を再生する直前に実行されます。|
--''th'' … スレッドオブジェクト。
--''cx'' … スレッドの更新に関する情報を保持するオブジェクト
---''cx.numNewRes'' … 更新によって取得されたレス数。
---''cx.error'' … 更新中に何らかのエラーが発生した時にtru...
---''cx.soundName'' … V2Cの設定によって再生される予定のサ...
cx.soundName = 'filename';
で更新完了音を変更することができます。
---''cx.rounding'' … 巡回中にスレッドが更新された場合にtr...
***getdat.jsのコールバック関数 [#d6cd8445]
getDat(th)はスレッドの過去ログを取得できなかった時に実行...
:getdat.js|&size(18){threadオブジェクト getDat(threadオブ...
|スレッドのログファイルの内容を返します。&br;getDat(th)は...
--''th'' … スレッドオブジェクト
--''戻り値''
---''byte[]'' … バイト列byte[]をログファイルの内容として...
---''null'' … ログファイルを取得できなかったことを示しま...
---''上記以外'' … 返されたオブジェクトを文字列に変換し、...
***post.jsのコールバック関数 [#ceff4cd1]
:post.js|&size(18){void checkBeforeCreateThread(書き込み...
|スレ立て時、V2Cが書き込み内容をチェックする前に実行され...
--''wp'' … 書き込み欄オブジェクト
:post.js|&size(18){checkBeforePost(書き込み欄オブジェクト...
|書き込み時、V2Cが書き込み内容をチェックする前に実行され...
--''wp'' … 書き込み欄オブジェクト
***menu.jsのコールバック関数 [#c0249553]
レス表示ポップアップメニューから「マーカーを引いたレスを...
function popupMenuCreated(pm,sn) {
if (sn=='ThreadPanel') {
for (var i=pm.getComponentCount()-1; i>=0; i--) {
var mi=pm.getComponent(i);
if (!(mi instanceof javax.swing.JMenuItem)) { // ...
continue;
}
if (mi.getText().startsWith('マーカーを引いたレス...
pm.remove(i);
break;
}
}
}
}
レス番号ポップアップメニューの「設定」の最初のセパレータ...
function popupMenuCreated(pm,sn) {
if (sn=='ResNum') {
loop:
for (var i=pm.getComponentCount()-1; i>=0; i--) {
var mi=pm.getComponent(i);
if (!(mi instanceof javax.swing.JMenuItem)) { // ...
continue;
}
if (mi.getText()=='設定') {
// mi は javax.swing.JMenu
for (var j=0; j<mi.getItemCount(); j++) {
var mj=mi.getItem(j);
if (!(mj instanceof javax.swing.JMenuItem)) { ...
mi.remove(j);
for (var k=j-1; k>=0; k--) {
pm.insert(mi.getItem(k),i);
}
break loop;
}
}
break;
}
}
}
}
レス表示ポップアップメニューの抽出系の項目を下位メニュー...
function popupMenuCreated(pm,sn) {
if (sn=='ThreadPanel') {
var ie=-1;
for (var i=pm.getComponentCount()-1; i>=0; i--) {
var mi=pm.getComponent(i);
if (!(mi instanceof javax.swing.JMenuItem)) { // ...
continue;
}
var sl=mi.getText();
if (ie<0) {
if (sl.startsWith('抽出ダイアログ')) {
ie = i;
}
} else {
if (sl.startsWith('リンクを含むレスを抽出')) {
var m=new javax.swing.JMenu('抽出');
for (var j=ie; j>=i; j--) {
m.insert(pm.getComponent(j),0);
}
pm.insert(m,i);
break;
}
}
}
}
}
:menu.js|&size(18){void popupMenuCreated(javax.swing.JPop...
|popupMenuCreated(pm,sn)はポップアップメニューが作成され...
--''pm'' … 作成されたポップアップメニュー(JPopupMenu)。
--''sn'' … 作成されたポップアップメニューの名前。
|>|snに指定できるポップアップメニュー名|
|ThreadPanel|レス表示欄ポップアップメニュー|
|TwitterPanel|Tweet表示欄ポップアップメニュー|
|ResNum|レス番号ポップアップメニュー|
|ResCheck|レスのチェックポップアップメニュー|
|Name|名前欄ポップアップメニュー|
|TwitterUserName|Twitterユーザ名ポップアップメニュー|
|Mail|メール欄ポップアップメニュー|
|Time|投稿時間ポップアップメニュー|
|ID|IDポップアップメニュー|
|Aux|補助情報ポップアップメニュー|
|Link|リンクポップアップメニュー|
|Thumbnail|サムネイル画像ポップアップメニュー|
|SelText|選択テキストポップアップメニュー|
|SelTextLink|選択範囲のリンクポップアップメニュー |
-menu.jsで使用するJavaオブジェクトの説明
-メニュー項目のイメージ:
□JMenu pm (右クリックメニューの起点root)
├ JMenuItem メニュー項目
├ ──── (pm.addSeparator()で追加した区切り線)
├ JMenu subMenu
│ └ JMenuItem メニュー項目
└JMenuItem メニュー項目
-メニュー操作のJava6リファレンスリンク
--[[Java6 リファレンスJMenu >http://docs.oracle.com/javas...
--[[Java6 リファレンス JMenuItem>http://docs.oracle.com/j...
--[[Java6 リファレンス JCheckBoxMenuItem>http://docs.orac...
-表中の省略名は以下のオブジェクトを示します
-''pm'' = javax.swing.JMenu
-''o'' = javax.swing.JMenuItem
-''cbo'' = javax.swing.JCheckBoxMenuItem
|~戻り値|~メソッド|~引数|~説明|
|javax.swing.JMenuItem|pm.insert(JMenu subMenu, Integer i...
|~|~|''index''|子メニュー(またはメニュー項目)をJMenuItem...
|>|>|>|JMenu pmを起点とする右クリックメニューのJMenuItem...
|~戻り値|~メソッド|~引数|~説明|
|javax.swing.JMenu|pm.add(JMenu subMenu)|''subMenu''|JMen...
|void|pm.remove(Integer index)|''index''|メニューのJMenuI...
|~戻り値|~メソッド|~引数|~説明|
|javax.swing.JMenuItem|pm.getComponent(Integer index)|''i...
|javax.swing.JMenuItem|pm.getItem(Integer index)|~|~|
|>|>|>|メニューのJMenuItem一覧のインデックス index(最初の...
|~戻り値|~メソッド|~引数|~説明|
|String|pm.getText()|なし|JMenuメニュー項目名を返します|
|String|o.getText()|なし|JMenuItem項目名を返します|
|Integer|pm.getComponentCount()|なし|メニューのJMenuItem...
|void|pm.addSeparator()|なし|メニュー項目の末尾に区切り線...
|~戻り値|~メソッド|~引数|~説明|
|void|o.addActionListener(action)|function|javascriptの関...
|>|>|>|JMenuItemをクリックした時に処理させたい関数を指定...
|~戻り値|~メソッド|~引数|~説明|
|void|cbo.addChangeListener(action)|function|javascriptの...
|>|>|>|JCheckBoxMenuItemをクリックされたときに処理させた...
ページ名: