Skip to content

Commit

Permalink
SPACEの挿入を取得、設定する ChangeInsertSpace マクロ関数を追加 (#1929)
Browse files Browse the repository at this point in the history
* SPACEの挿入を取得、設定する ChangeInsertSpace マクロ関数を追加

* レビュー指摘に対応
  • Loading branch information
beru authored Aug 16, 2023
1 parent efff593 commit 5b6a927
Show file tree
Hide file tree
Showing 4 changed files with 32 additions and 0 deletions.
19 changes: 19 additions & 0 deletions help/sakura/res/HLP000268.html
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,7 @@
<META NAME="MS-HKWD" CONTENT="GetViewColumns">
<META NAME="MS-HKWD" CONTENT="CreateMenu">
<META NAME="MS-HKWD" CONTENT="GetViewTop">
<META NAME="MS-HKWD" CONTENT="ChangeInsertSpace">
</HEAD>
<BODY>
<script type="text/javascript" src="item.js"></script>
Expand Down Expand Up @@ -169,6 +170,7 @@ <h2>マクロ専用関数/変数</h2>
<a href="#GetViewColumns">GetViewColumns</a>() :Integer<br>
<a href="#CreateMenu">CreateMenu</a>( int1 :Integer, str2 :String ) :Integer<br>
<a href="#GetViewTop">GetViewTop</a>() :Integer<br>
<a href="#ChangeInsertSpace">ChangeInsertSpace</a>() :Integer<br>
<br>
■ function <span id="GetFilename">GetFilename</span>(): String; <small>[<a href="#list"></a>]</small><br>
<div class="li200">
Expand Down Expand Up @@ -1109,4 +1111,21 @@ <h2>マクロ専用関数/変数</h2>
</div>
sakura:2.4.2.0以降<br>
<br>
■ function <span id="ChangeInsertSpace">ChangeInsertSpace</span>( int1 :Integer ) :Integer; <small>[<a href="#list"></a>]</small><br>
<div class="li200">
<strong>引数</strong><br>
int1&nbsp;&nbsp;&nbsp;&nbsp;0~1までの間の値が有効です。<br>
<br>
<strong>戻り値</strong><br>
設定変更前のSPACEの挿入を返します。<br>
<br>
<strong>解説</strong><br>
インデント時にSPACE(半角空白)の挿入を行うかそれともTAB文字を入れるかの設定を行います。。<br>
0 を指定した場合、SPACEの挿入を行わない(TAB文字を使用する)設定にします。<br>
1 を指定した場合、SPACEの挿入を行う設定にします。<br>
設定の取得のみ行いたいときは -1 など無効な引数を指定してください。<br>
変更はこのマクロを実行した画面にだけ適用され、設定には保存しません。<br>
</div>
sakura:2.4.3.0以降<br>
<br>
</BODY></HTML>
1 change: 1 addition & 0 deletions sakura_core/Funccode_x.hsrc
Original file line number Diff line number Diff line change
Expand Up @@ -579,6 +579,7 @@ F_GETVIEWLINES = 40056, // ビューの行数取得
F_GETVIEWCOLUMNS = 40057, // ビューの列数取得
F_CREATEMENU = 40058, // メニュー作成
F_GETVIEWTOP = 40059, // 画面に表示される一番上の行番号を取得
F_CHGINSSPACE = 40060, // SPACEの挿入を取得、設定する

// = 2005,.01.10 genta ISearch用補助コード
// 2007.07.07 genta 16bit以内に収めないと状況コードと衝突するのでコードを変更
Expand Down
11 changes: 11 additions & 0 deletions sakura_core/macro/CMacro.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1301,6 +1301,7 @@ bool CMacro::HandleCommand(
case F_CHGWRAPCOLUMN: // 折り返し桁を取得、設定する(キーマクロでは取得は無意味)
case F_MACROSLEEP:
case F_SETDRAWSWITCH: // 再描画スイッチを取得、設定する
case F_CHGINSSPACE: // SPACEの挿入を取得、設定する
{
VARIANT vArg[1]; // HandleFunctionに渡す引数
VARIANT vResult; // HandleFunctionから返る値
Expand Down Expand Up @@ -2458,6 +2459,16 @@ bool CMacro::HandleFunction(CEditView *View, EFunctionCode ID, const VARIANT *Ar
Wrap( &Result )->Receive( nLine + 1 );
return true;
}
case F_CHGINSSPACE:
{
if( ArgSize != 1 ) return false;
if(VariantChangeType(&varCopy.Data, &(Arguments[0]), 0, VT_I4) != S_OK) return false; // VT_I4として解釈
auto& bInsSpace = View->m_pcEditDoc->m_cDocType.GetDocumentAttributeWrite().m_bInsSpace;
Wrap( &Result )->Receive( bInsSpace ? 1 : 0 );
if (varCopy.Data.iVal == 0) bInsSpace = false;
else if (varCopy.Data.iVal == 1) bInsSpace = true;
return true;
}
default:
return false;
}
Expand Down
1 change: 1 addition & 0 deletions sakura_core/macro/CSMacroMgr.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -477,6 +477,7 @@ MacroFuncInfo CSMacroMgr::m_MacroFuncInfoArr[] =
{F_GETVIEWCOLUMNS, L"GetViewColumns", {VT_EMPTY, VT_EMPTY, VT_EMPTY, VT_EMPTY}, VT_I4, NULL }, //ビューの列数取得
{F_CREATEMENU, L"CreateMenu", {VT_I4, VT_BSTR, VT_EMPTY, VT_EMPTY}, VT_I4, NULL }, //メニュー作成
{F_GETVIEWTOP, L"GetViewTop", {VT_EMPTY, VT_EMPTY, VT_EMPTY, VT_EMPTY}, VT_I4, NULL }, //画面に表示される一番上の行番号を取得
{F_CHGINSSPACE, L"ChangeInsertSpace", {VT_I4, VT_EMPTY, VT_EMPTY, VT_EMPTY}, VT_I4, NULL }, // SPACEの挿入の変更

// 終端
// Jun. 27, 2002 genta
Expand Down

0 comments on commit 5b6a927

Please sign in to comment.