「折り返しトグル切り替え」の版間の差分

提供: MeryWiki
ナビゲーションに移動 検索に移動
Sukemaru (トーク | 投稿記録)
sukemaru版(折り返しトグル切り替えD)を追加
Sukemaru (トーク | 投稿記録)
sukemaru版を更新
4行目: 4行目:


== ダウンロード ==
== ダウンロード ==
[[ファイル:折り返しトグル切り替えセット.zip]] (※Bleat版 2019/02/13)<br>
[[ファイル:折り返しトグル切り替えセット.zip]] (※Bleat版 2019/02/13)<br>
[[ファイル:折り返しトグル切り替え.zip]] (アイコン入り ※sukemaru版 2019/02/19)
[[ファイル:折り返しトグル切り替え.zip]] (アイコン入り ※sukemaru版 2020/03/15 更新)


'''内容'''
'''内容'''
16行目: 16行目:
sukemaru版
sukemaru版
* 折り返しトグル切り替えD.js : 3つの折り返しモードを順々にトグルするスクリプト <br> (折り返さない → 指定文字数で折り返し → ウインドウの右端で折り返し)
* 折り返しトグル切り替えD.js : 3つの折り返しモードを順々にトグルするスクリプト <br> (折り返さない → 指定文字数で折り返し → ウインドウの右端で折り返し)
: <span style="color:#c00;">※ Mery ver 3.0.0 以降であれば「includeライブラリ」不要</span>
----
----




各スクリプト実行時にMacroSettingsフォルダ(includeライブラリで用意されているもの)に設定ファイルが自動作成されます。<br>
各スクリプト実行時にMacroSettingsフォルダ(includeライブラリで用意されているもの)に設定ファイルが自動作成されます。<br>
(例)折り返しトグル切り替えAを実行で、設定ファイル「折り返しトグル切り替えA.json」が作成
(例)折り返しトグル切り替えAを実行で、設定ファイル「折り返しトグル切り替えA.json」が作成 <br>
* ポータブル版では Mery 本体フォルダ内の Macros\MacroSettings\折り返しトグル切り替えX.json <br>
* インストーラ/ZIP版では %APPDATA% フォルダ内の Mery\MacroSettings\折り返しトグル切り替えX.json


== 使用上の注意 ==
== 使用上の注意 ==
<div class="warningbox">
設定ファイルの管理に[[includeライブラリ]]の関数 を利用しています。
設定ファイルの管理に[[includeライブラリ]]の関数 を利用しています。
このマクロの前に導入してください。<br>
このマクロの前に導入してください。<br>
また、動作保証がないMeryの機能IDを指定して直接呼び出すメソッドを使用しています。<br>
また、動作保証がないMeryの機能IDを指定して直接呼び出すメソッドを使用しています。<br>
本体の仕様変更で使えなくなっても泣かない。
本体の仕様変更で使えなくなっても泣かない。</div>


== 折り返さない⇔指定文字数で折り返し ==
== 折り返さない⇔指定文字数で折り返し ==
96行目: 100行目:


== 3つの折り返しモードを順々にトグルする ==
== 3つの折り返しモードを順々にトグルする ==
<span style="color:#c00;">※ Mery ver 3.0.0 以上</span>で仕様する場合は <syntaxhighlight lang="javascript" inline>#include "include/IO.js"</syntaxhighlight> の行を削除すること</span>
<source lang="javascript">
<source lang="javascript">
#include "include/IO.js"
#include "include/IO.js"
101行目: 106行目:
#tooltip = "折り返しなし/指定文字数/ウインドウ右端"
#tooltip = "折り返しなし/指定文字数/ウインドウ右端"
// #icon = "wrap_mode[2].ico"
// #icon = "wrap_mode[2].ico"
// #icon = "Mery用 マテリアルデザインっぽいアイコン.icl",285
// ※ Mery ver 2.8.x 以下のばあい、要:includeライブラリ(外部に設定ファイルを生成する)
//    ver 3.0.0 以上のばあいは、 #include "include/IO.js"  の行を削除可(includeライブラリ:不要)


/**
/**
  * ・折り返さない → 指定文字数で折り返し → ウインドウ右端で折り返し
  * ・折り返さない → 指定文字数で折り返し → ウインドウ右端で折り返し
  *  を順にトグル切り替えする。
  *   を順々にトグル切り替えする。
  *  ひとつのショートカットキー/ツールバーアイコンで操作可。
  *   ひとつのショートカットキー/ツールバーアイコンで 3 in 1 トグル操作可
  * ・このマクロから折り返し方法を切り替えた場合は
  *
  *  順番どおりににひとつずつ切り替えて、設定を JSON ファイルに保存する。
  * ・このマクロで折り返し方法を切り替えた場合は
  * ・Mery のオプションパネルや [表示] メニュー、標準ツールバーアイコン、
*  順番どおりにひとつずつ切り替えて、設定を JSON ファイルまたはメモリ領域に保存する。
  *  または標準ショートカットキー(Ctrl+1 Ctrl+3)から切り替えした場合は
*
  *  折り返し方法の状態が JSON ファイルに保存されないので、
*  次にこのマクロを実行したさいには ...
  *  次にこのマクロを実行したさいには
*  ・最後に JSON ファイルに書き込まれた状態をもとにトグル切り替えする(~ Mery 2.8.x)。
*  最後に JSON ファイルに書き込まれた状態をもとにトグル切り替えする。
*  ・このマクロ用の記憶領域に書き込まれた状態をもとにトグル切り替えする
*    (Mery 3.0.0 ~ ※Mery.exe のプロセス再起動ごとに揮発)。
*
  * ※ Mery のオプションパネルや [表示] メニュー、標準ツールバーアイコン、
  *   または標準ショートカットキー(Ctrl+1 Ctrl+3)等から切り替えした場合は
  *   折り返し方法の状態は保存/参照されない。
  * ----------------------------------------------------------------------------
  */
  */


var setting = {};
var setting = {};
setting = IO.Deserialize( setting ); // JSON 読み込み
 
// Mery.exe のバージョン確認
var meryVer = Number( editor.Version.replace( /[0-9]+/g , function( digit ) {
                        return digit.length < 2 ? "0" + digit : digit;
                    } ).split( "\." ).join( "" ) );
 
// 動作方式: TAGモード (Mery 3.0.0 ~)  /  JSONモード (~ Mery 2.8.x  ※外部ファイル読み書き)
var tagEnable = ( meryVer >= 30000 );
 
if ( tagEnable ) {
var tagKey = "wrapModeToggle_D";
if ( editor.Tag.exists( tagKey ) ) {
setting.wrapMode = editor.Tag( tagKey );
}
}
else {
  setting = IO.Deserialize( setting ); // JSON 読み込み
}


if ( setting.wrapMode == 0 ) {
if ( setting.wrapMode == 0 ) {
editor.ExecuteCommandByID( MEID_VIEW_WRAP_BY_CHAR = 2147 );
editor.ExecuteCommandByID( MEID_VIEW_WRAP_BY_CHAR = 2147 );
Status = "指定文字数で折り返し";
setting.wrapMode = 1;
setting.wrapMode = 1;
Status = " 指定文字数で折り返し";
}
}
else if ( setting.wrapMode == 1 ) {
else if ( setting.wrapMode == 1 ) {
editor.ExecuteCommandByID( MEID_VIEW_WRAP_BY_WINDOW = 2148 );
editor.ExecuteCommandByID( MEID_VIEW_WRAP_BY_WINDOW = 2148 );
Status = "ウインドウの右端で折り返し";
setting.wrapMode = 2;
setting.wrapMode = 2;
Status = " ウインドウの右端で折り返し";
}
}
else {
else /* ( setting.wrapMode == 2 ) */ {
editor.ExecuteCommandByID( MEID_VIEW_WRAP_NONE = 2146 );
editor.ExecuteCommandByID( MEID_VIEW_WRAP_NONE = 2146 );
Status = "折り返さない";
setting.wrapMode = 0;
setting.wrapMode = 0;
Status = " 折り返さない";
}
}


IO.Serialize( setting ); // JSON 書き込み
if ( tagEnable ) {
editor.Tag( tagKey ) = setting.wrapMode;
// Status += "\t (折り返しトグル切り替え: TAGモード)";
}
else {
IO.Serialize( setting ); // JSON 書き込み
// Status += "\t (折り返しトグル切り替え: JSONモード)";
}
</source>
</source>


== メモ ==
== メモ ==
* 2019/02/19 (sukemaru) <br> sukemaru版を追加させていただきました。マテリアルアイコンの「折り返さない」と「指定文字数で折り返し」用を翻案した「マテリアルデザインっぽいアイコン」2点をいれてあります。Bleat版とあわせて、お好みのスクリプトと組み合わせてお使いください。
* 2019/02/19 (sukemaru) <br> sukemaru版を追加させていただきました。マテリアルアイコンの「折り返さない」と「指定文字数で折り返し」用を翻案した「マテリアルデザインっぽいアイコン」2点をいれてあります。Bleat版とあわせて、お好みのスクリプトと組み合わせてお使いください。

2020年3月15日 (日) 20:19時点における版

概要

好みの折り返し方式をトグル切り替えできるようにするマクロ。組み合わせは3種類。
利点は覚えるショートカットキーがひとつ減るくらいです。

ダウンロード

ファイル:折り返しトグル切り替えセット.zip (※Bleat版 2019/02/13)
ファイル:折り返しトグル切り替え.zip (アイコン入り ※sukemaru版 2020/03/15 更新)

内容


Bleat版

  • 折り返しトグル切り替えA.js : 折り返さない⇔指定文字数で折り返しのスクリプト
  • 折り返しトグル切り替えB.js : 折り返さない⇔ウィンドウ端で折り返しのスクリプト
  • 折り返しトグル切り替えC.js : 指定文字数で折り返し⇔ウィンドウ端で折り返しのスクリプト

sukemaru版

  • 折り返しトグル切り替えD.js : 3つの折り返しモードを順々にトグルするスクリプト
    (折り返さない → 指定文字数で折り返し → ウインドウの右端で折り返し)
※ Mery ver 3.0.0 以降であれば「includeライブラリ」不要


各スクリプト実行時にMacroSettingsフォルダ(includeライブラリで用意されているもの)に設定ファイルが自動作成されます。
(例)折り返しトグル切り替えAを実行で、設定ファイル「折り返しトグル切り替えA.json」が作成

  • ポータブル版では Mery 本体フォルダ内の Macros\MacroSettings\折り返しトグル切り替えX.json
  • インストーラ/ZIP版では %APPDATA% フォルダ内の Mery\MacroSettings\折り返しトグル切り替えX.json

使用上の注意

設定ファイルの管理にincludeライブラリの関数 を利用しています。 このマクロの前に導入してください。
また、動作保証がないMeryの機能IDを指定して直接呼び出すメソッドを使用しています。

本体の仕様変更で使えなくなっても泣かない。

折り返さない⇔指定文字数で折り返し

#include "include/IO.js"
#title="折り返し切替A"
#tooltip = "折り返さない⇔指定文字数で折り返し"
 
var data = {count:1};
data = IO.Deserialize(data);
data.count++;

if(data.count > 2){
	var data = {count:1};
	}
IO.Serialize(data);

if ( ( data.count % 2 ) != 0 ) {
	editor.ExecuteCommandByID(2146);	// 折り返さない
} else {	
	editor.ExecuteCommandByID(2147);	// 指定文字数で折り返す
}

折り返さない⇔ウィンドウ端で折り返し

#include "include/IO.js"
#title="折り返し切替B"
#tooltip = "折り返さない⇔ウィンドウ端で折り返し"
 
var data = {count:1};
data = IO.Deserialize(data);
data.count++;

if(data.count > 2){
	var data = {count:1};
	}
IO.Serialize(data);

if ( ( data.count % 2 ) != 0 ) {
	editor.ExecuteCommandByID(2146);	// 折り返さない
} else {	
	editor.ExecuteCommandByID(2148);	// ウィンドウの右端で折り返す
}

指定文字数で折り返し⇔ウィンドウ端で折り返し

#include "include/IO.js"
#title="折り返し切替C"
#tooltip = "指定文字数で折り返し⇔ウィンドウ端で折り返し"
 
var data = {count:1};
data = IO.Deserialize(data);
data.count++;

if(data.count > 2){
	var data = {count:1};
	}
IO.Serialize(data);

if ( ( data.count % 2 ) != 0 ) {
	editor.ExecuteCommandByID(2147);	// 指定文字数で折り返す
} else {	
	editor.ExecuteCommandByID(2148);	// ウィンドウの右端で折り返す
}

3つの折り返しモードを順々にトグルする

※ Mery ver 3.0.0 以上で仕様する場合は #include "include/IO.js" の行を削除すること

#include "include/IO.js"
#title="折り返し切替D"
#tooltip = "折り返しなし/指定文字数/ウインドウ右端"
// #icon = "wrap_mode[2].ico"
// #icon = "Mery用 マテリアルデザインっぽいアイコン.icl",285

// ※ Mery ver 2.8.x 以下のばあい、要:includeライブラリ(外部に設定ファイルを生成する)
//    ver 3.0.0 以上のばあいは、 #include "include/IO.js"  の行を削除可(includeライブラリ:不要)

/**
 * ・折り返さない → 指定文字数で折り返し → ウインドウ右端で折り返し
 *   を順々にトグル切り替えする。
 *   ひとつのショートカットキー/ツールバーアイコンで 3 in 1 トグル操作可
 *
 * ・このマクロで折り返し方法を切り替えた場合は
 *   順番どおりにひとつずつ切り替えて、設定を JSON ファイルまたはメモリ領域に保存する。
 * 
 *   次にこのマクロを実行したさいには ...
 *   ・最後に JSON ファイルに書き込まれた状態をもとにトグル切り替えする(~ Mery 2.8.x)。
 *   ・このマクロ用の記憶領域に書き込まれた状態をもとにトグル切り替えする
 *    (Mery 3.0.0 ~ ※Mery.exe のプロセス再起動ごとに揮発)。
 *
 * ※ Mery のオプションパネルや [表示] メニュー、標準ツールバーアイコン、
 *   または標準ショートカットキー(Ctrl+1 ~ Ctrl+3)等から切り替えした場合は
 *   折り返し方法の状態は保存/参照されない。
 * ----------------------------------------------------------------------------
 */

var setting = {};

// Mery.exe のバージョン確認
var meryVer = Number( editor.Version.replace( /[0-9]+/g , function( digit ) {
                        return digit.length < 2 ? "0" + digit : digit;
                    } ).split( "\." ).join( "" ) );

// 動作方式: TAGモード (Mery 3.0.0 ~)  /  JSONモード (~ Mery 2.8.x  ※外部ファイル読み書き)
var tagEnable = ( meryVer >= 30000 );

if ( tagEnable ) {
	var tagKey = "wrapModeToggle_D";
	if ( editor.Tag.exists( tagKey ) ) {
		setting.wrapMode = editor.Tag( tagKey );
	}
}
else {
  setting = IO.Deserialize( setting );	// JSON 読み込み
}

if ( setting.wrapMode == 0 ) {
	editor.ExecuteCommandByID( MEID_VIEW_WRAP_BY_CHAR = 2147 );
	setting.wrapMode = 1;
	Status = " 指定文字数で折り返し";
}
else if ( setting.wrapMode == 1 ) {
	editor.ExecuteCommandByID( MEID_VIEW_WRAP_BY_WINDOW = 2148 );
	setting.wrapMode = 2;
	Status = " ウインドウの右端で折り返し";
}
else /* ( setting.wrapMode == 2 ) */ {
	editor.ExecuteCommandByID( MEID_VIEW_WRAP_NONE = 2146 );
	setting.wrapMode = 0;
	Status = " 折り返さない";
}

if ( tagEnable ) {
	editor.Tag( tagKey ) = setting.wrapMode;
	// Status += "\t (折り返しトグル切り替え: TAGモード)";
}
else {
	IO.Serialize( setting );	// JSON 書き込み
	// Status += "\t (折り返しトグル切り替え: JSONモード)";
}

メモ

  • 2019/02/19 (sukemaru)
    sukemaru版を追加させていただきました。マテリアルアイコンの「折り返さない」と「指定文字数で折り返し」用を翻案した「マテリアルデザインっぽいアイコン」2点をいれてあります。Bleat版とあわせて、お好みのスクリプトと組み合わせてお使いください。
スポンサーリンク