Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

「カーソル行をウィンドウ上部へ」「カーソル行をウィンドウ下部へ」機能を追加 #1101

Merged
merged 2 commits into from
Nov 30, 2019
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions sakura_core/Funccode_x.hsrc
Original file line number Diff line number Diff line change
Expand Up @@ -158,6 +158,8 @@ F_1PageDown = 30343, //1ページダウン なし
F_GOFILETOP = 30350, //ファイルの先頭に移動 なし
F_GOFILEEND = 30351, //ファイルの最後に移動 なし
F_CURLINECENTER = 30360, //カーソル行をウィンドウ中央へ なし
F_CURLINETOP = 30361, //カーソル行をウィンドウ上部へ なし
F_CURLINEBOTTOM = 30362, //カーソル行をウィンドウ下部へ なし
F_JUMPHIST_PREV = 30370, //移動履歴: 前へ なし
F_JUMPHIST_NEXT = 30371, //移動履歴: 次へ なし
F_JUMPHIST_SET = 30372, //現在位置を移動履歴に登録 なし
Expand Down
2 changes: 2 additions & 0 deletions sakura_core/cmd/CViewCommander.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -294,6 +294,8 @@ BOOL CViewCommander::HandleCommand(
case F_GOFILETOP: Command_GOFILETOP( m_pCommanderView->GetSelectionInfo().m_bSelectingLock ); break; //ファイルの先頭に移動
case F_GOFILEEND: Command_GOFILEEND( m_pCommanderView->GetSelectionInfo().m_bSelectingLock ); break; //ファイルの最後に移動
case F_CURLINECENTER: Command_CURLINECENTER(); break; /* カーソル行をウィンドウ中央へ */
case F_CURLINETOP: Command_CURLINETOP(); break; /* カーソル行をウィンドウ上部へ */
case F_CURLINEBOTTOM: Command_CURLINEBOTTOM(); break; /* カーソル行をウィンドウ下部へ */
case F_JUMPHIST_PREV: Command_JUMPHIST_PREV(); break; //移動履歴: 前へ
case F_JUMPHIST_NEXT: Command_JUMPHIST_NEXT(); break; //移動履歴: 次へ
case F_JUMPHIST_SET: Command_JUMPHIST_SET(); break; //現在位置を移動履歴に登録
Expand Down
2 changes: 2 additions & 0 deletions sakura_core/cmd/CViewCommander.h
Original file line number Diff line number Diff line change
Expand Up @@ -176,6 +176,8 @@ class CViewCommander{
void Command_GOFILETOP( bool bSelect ); /* ファイルの先頭に移動 */
void Command_GOFILEEND( bool bSelect ); /* ファイルの最後に移動 */
void Command_CURLINECENTER( void ); /* カーソル行をウィンドウ中央へ */
void Command_CURLINETOP( void ); /* カーソル行をウィンドウ上部へ */
void Command_CURLINEBOTTOM( void ); /* カーソル行をウィンドウ下部へ */
void Command_JUMPHIST_PREV(void); // 移動履歴: 前へ
void Command_JUMPHIST_NEXT(void); // 移動履歴: 次へ
void Command_JUMPHIST_SET(void); // 現在位置を移動履歴に登録
Expand Down
38 changes: 38 additions & 0 deletions sakura_core/cmd/CViewCommander_Cursor.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -845,6 +845,44 @@ void CViewCommander::Command_CURLINECENTER( void )
m_pCommanderView->SyncScrollV( nScrollLines );
}

/* カーソル行をウィンドウ上部へ */
void CViewCommander::Command_CURLINETOP(void)
{
CLayoutInt nViewTopLine;
nViewTopLine = GetCaret().GetCaretLayoutPos().GetY2();

// sui 02/08/09
if (0 > nViewTopLine) nViewTopLine = CLayoutInt(0);

CLayoutInt nScrollLines = nViewTopLine - m_pCommanderView->GetTextArea().GetViewTopLine(); //Sep. 11, 2004 genta 同期用に行数を記憶
m_pCommanderView->GetTextArea().SetViewTopLine(nViewTopLine);
/* フォーカス移動時の再描画 */
m_pCommanderView->RedrawAll();
// sui 02/08/09

// Sep. 11, 2004 genta 同期スクロールの関数化
m_pCommanderView->SyncScrollV(nScrollLines);
}

/* カーソル行をウィンドウ下部へ */
void CViewCommander::Command_CURLINEBOTTOM(void)
{
CLayoutInt nViewTopLine;
nViewTopLine = GetCaret().GetCaretLayoutPos().GetY2() - (m_pCommanderView->GetTextArea().m_nViewRowNum);

// sui 02/08/09
if (0 > nViewTopLine) nViewTopLine = CLayoutInt(0);

CLayoutInt nScrollLines = nViewTopLine - m_pCommanderView->GetTextArea().GetViewTopLine(); //Sep. 11, 2004 genta 同期用に行数を記憶
m_pCommanderView->GetTextArea().SetViewTopLine(nViewTopLine);
/* フォーカス移動時の再描画 */
m_pCommanderView->RedrawAll();
// sui 02/08/09

// Sep. 11, 2004 genta 同期スクロールの関数化
m_pCommanderView->SyncScrollV(nScrollLines);
}

// 移動履歴を前へたどる
//
void CViewCommander::Command_JUMPHIST_PREV( void )
Expand Down
2 changes: 2 additions & 0 deletions sakura_core/func/Funccode.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -182,6 +182,8 @@ const EFunctionCode pnFuncList_Move[] = { //Oct. 16, 2000 JEPRO 変数名変更(
F_GOFILETOP , //ファイルの先頭に移動
F_GOFILEEND , //ファイルの最後に移動
F_CURLINECENTER , //カーソル行をウィンドウ中央へ
F_CURLINETOP , //カーソル行をウィンドウ上部へ
F_CURLINEBOTTOM , //カーソル行をウィンドウ下部へ
F_JUMP_DIALOG , //指定行ヘジャンプ //Sept. 17, 2000 JEPRO コマンド本家は「検索系」
F_JUMP_SRCHSTARTPOS , //検索開始位置へ戻る // 02/06/26 ai コマンド本家は「検索系」
F_JUMPHIST_PREV , //移動履歴: 前へ
Expand Down
4 changes: 4 additions & 0 deletions sakura_core/macro/CSMacroMgr.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,8 @@ MacroFuncInfo CSMacroMgr::m_MacroFuncInfoCommandArr[] =
{F_GOFILETOP, LTEXT("GoFileTop"), {VT_EMPTY, VT_EMPTY, VT_EMPTY, VT_EMPTY}, VT_EMPTY, NULL}, //ファイルの先頭に移動
{F_GOFILEEND, LTEXT("GoFileEnd"), {VT_EMPTY, VT_EMPTY, VT_EMPTY, VT_EMPTY}, VT_EMPTY, NULL}, //ファイルの最後に移動
{F_CURLINECENTER, LTEXT("CurLineCenter"), {VT_EMPTY, VT_EMPTY, VT_EMPTY, VT_EMPTY}, VT_EMPTY, NULL}, //カーソル行をウィンドウ中央へ
{F_CURLINETOP, LTEXT("CurLineTop"), {VT_EMPTY, VT_EMPTY, VT_EMPTY, VT_EMPTY}, VT_EMPTY, NULL}, //カーソル行をウィンドウ上部へ
{F_CURLINEBOTTOM, LTEXT("CurLineBottom"), {VT_EMPTY, VT_EMPTY, VT_EMPTY, VT_EMPTY}, VT_EMPTY, NULL}, //カーソル行をウィンドウ下部へ
{F_JUMPHIST_PREV, LTEXT("MoveHistPrev"), {VT_EMPTY, VT_EMPTY, VT_EMPTY, VT_EMPTY}, VT_EMPTY, NULL}, //移動履歴: 前へ
{F_JUMPHIST_NEXT, LTEXT("MoveHistNext"), {VT_EMPTY, VT_EMPTY, VT_EMPTY, VT_EMPTY}, VT_EMPTY, NULL}, //移動履歴: 次へ
{F_JUMPHIST_SET, LTEXT("MoveHistSet"), {VT_EMPTY, VT_EMPTY, VT_EMPTY, VT_EMPTY}, VT_EMPTY, NULL}, //現在位置を移動履歴に登録
Expand Down Expand Up @@ -972,6 +974,8 @@ BOOL CSMacroMgr::CanFuncIsKeyMacro( int nFuncID )
case F_WORDLEFT ://単語の左端に移動
case F_WORDRIGHT ://単語の右端に移動
case F_CURLINECENTER ://カーソル行をウィンドウ中央へ
case F_CURLINETOP ://カーソル行をウィンドウ上部へ
case F_CURLINEBOTTOM ://カーソル行をウィンドウ下部へ
case F_JUMPHIST_PREV ://移動履歴: 前へ
case F_JUMPHIST_NEXT ://移動履歴: 次へ
case F_JUMPHIST_SET ://現在位置を移動履歴に登録
Expand Down
2 changes: 2 additions & 0 deletions sakura_core/sakura_rc.rc
Original file line number Diff line number Diff line change
Expand Up @@ -2374,6 +2374,8 @@ END
STRINGTABLE DISCARDABLE
BEGIN
F_CURLINECENTER "カーソル行をウィンドウ中央へ"
F_CURLINETOP "カーソル行をウィンドウ上部へ"
F_CURLINEBOTTOM "カーソル行をウィンドウ下部へ"
END

STRINGTABLE DISCARDABLE
Expand Down
2 changes: 2 additions & 0 deletions sakura_lang_en_US/sakura_lang_rc.rc
Original file line number Diff line number Diff line change
Expand Up @@ -2379,6 +2379,8 @@ END
STRINGTABLE DISCARDABLE
BEGIN
F_CURLINECENTER "Center Current Line"
F_CURLINETOP "Top Current Line"
F_CURLINEBOTTOM "Bottom Current Line"
END

STRINGTABLE DISCARDABLE
Expand Down