「ブックマーク一覧ジャンプ」の版間の差分
フォントカラーや強調の除去、日付の除去、空白の除去 |
ソースコードの整形 |
||
| 13行目: | 13行目: | ||
*/ | */ | ||
(function(){ | (function(){ | ||
// 描画停止 | |||
Redraw = false; | |||
with(document.selection){ | |||
var flgBlock = !isEmpty; | |||
//カーソル位置の保存 | |||
var activePos = GetActivePos(); | |||
var anchorPos = GetAnchorPos(); | |||
var sX = ScrollX; | |||
var sY = ScrollY; | |||
var bookmarks = new Array(); | |||
StartOfDocument(false); | |||
// 先頭行がブックマークされてないか | |||
var isTopMarked = false; | |||
CharRight(false); | |||
if(PreviousBookmark()){ | |||
isTopMarked = true; | |||
SelectLine(); | |||
menuKey = Text.slice(0,24).replace(/\t/g, "\\t"); | |||
Collapse(); | |||
bookmarks.push("Line " + GetActivePointY(mePosLogical) + ":\t" + menuKey); | |||
} else { | |||
StartOfDocument(false); | |||
} | |||
while(NextBookmark()){ | |||
SelectLine(); | |||
menuKey = Text.slice(0, 24).replace(/\t/g, "\\t"); | |||
Collapse(); | |||
bookmarks.push("Line " + GetActivePointY(mePosLogical) + ":\t" + menuKey); | |||
} | |||
var bmcount = bookmarks.length; | |||
if(bmcount == 0){ | |||
//カーソル位置の復帰 | |||
SetActivePos(activePos); | |||
SetAnchorPos(anchorPos); | |||
ScrollX = sX; | |||
ScrollY = sY; | |||
} else { | |||
var BookmarkMenu = CreatePopupMenu(); | |||
for(var i = 0; i < bmcount; i++){ | |||
//メニューのアクセスキーも1から始まるほうが便利 | |||
BookmarkMenu.Add("&" + (i+1) + " " + bookmarks[i], i+1) | |||
} | |||
var ret = BookmarkMenu.Track(0); | |||
if(ret == 0){ | |||
//カーソル位置の復帰 | |||
SetActivePos(activePos); | |||
SetAnchorPos(anchorPos); | |||
ScrollX = sX; | |||
ScrollY = sY; | |||
} else { | |||
StartOfDocument(false); | |||
if(isTopMarked)ret--; | |||
for(i = 0; i < ret; i++){ NextBookmark(); } | |||
} | |||
} | |||
if(flgBlock){ | |||
//ジャンプ前の選択開始位置からジャンプ後のカーソル位置まで範囲選択 | |||
SetAnchorPos(anchorPos); | |||
} | |||
} | |||
// 描画再開 | |||
Redraw = true; | |||
})() | })() | ||
</syntaxhighlight> | </syntaxhighlight> | ||
| 91行目: | 91行目: | ||
22. <span style="color:#c00;">CharRight(false);</span> | 22. <span style="color:#c00;">CharRight(false);</span> | ||
23. if(PreviousBookmark()){ | 23. if(PreviousBookmark()){ | ||
24. | 24. isTopMarked = true; | ||
; 変更後 | ; 変更後 | ||
18. var bookmarks = new Array(); | 18. var bookmarks = new Array(); | ||
| 99行目: | 99行目: | ||
22. <b style="color:#c00;">SetActivePoint(mePosLogical, 1, 2);</b> | 22. <b style="color:#c00;">SetActivePoint(mePosLogical, 1, 2);</b> | ||
23. if(PreviousBookmark()){ | 23. if(PreviousBookmark()){ | ||
24. | 24. isTopMarked = true; | ||
スポンサーリンク