「折り返しトグル切り替え」の版間の差分
ナビゲーションに移動
検索に移動
sukemaru版を更新 |
sukemaru版を更新 |
||
| 1行目: | 1行目: | ||
== 概要 == | == 概要 == | ||
好みの折り返し方式をトグル切り替えできるようにするマクロ。組み合わせは3+1種類。<br> | |||
利点は覚えるショートカットキーがひとつ減るくらいです。<br> | 利点は覚えるショートカットキーがひとつ減るくらいです。<br> | ||
== ダウンロード == | == ダウンロード == | ||
[[ファイル:折り返しトグル切り替えセット.zip]] (※Bleat版 2019/02/13)<br> | [[ファイル:折り返しトグル切り替えセット.zip]] (※Bleat版 2019/02/13)<br> | ||
[[ファイル:折り返しトグル切り替え.zip]] (アイコン入り ※sukemaru版 2020/ | [[ファイル:折り返しトグル切り替え.zip]] (アイコン入り ※sukemaru版 2020/10/30 更新) | ||
'''内容''' | '''内容''' | ||
---- | ---- | ||
Bleat版 | Bleat版 | ||
* 折り返しトグル切り替えA.js : | * 折り返しトグル切り替えA.js : 折り返さない ⇔ 指定文字数で折り返し のスクリプト | ||
* 折り返しトグル切り替えB.js : | * 折り返しトグル切り替えB.js : 折り返さない ⇔ ウィンドウ端で折り返し のスクリプト | ||
* 折り返しトグル切り替えC.js : | * 折り返しトグル切り替えC.js : 指定文字数で折り返し ⇔ ウィンドウ端で折り返し のスクリプト | ||
---- | ---- | ||
sukemaru版 | sukemaru版 | ||
* 折り返しトグル切り替えD.js : 3つの折り返しモードを順々にトグルするスクリプト <br> (折り返さない → 指定文字数で折り返し → ウインドウの右端で折り返し) | * 折り返しトグル切り替えD.js : 3つの折り返しモードを順々にトグルするスクリプト <br> (折り返さない → 指定文字数で折り返し → ウインドウの右端で折り返し) | ||
: <span style="color:#c00;">※ Mery ver 3.0.0 以降であれば「includeライブラリ」不要</span> | : <span style="color:#c00;">※ Mery ver 3.0.0 以降であれば「includeライブラリ」不要</span> (設定ファイルを作らない) | ||
---- | ---- | ||
| 109行目: | 109行目: | ||
// ※ Mery ver 2.8.x 以下のばあい、要:includeライブラリ(外部に設定ファイルを生成する) | // ※ Mery ver 2.8.x 以下のばあい、要:includeライブラリ(外部に設定ファイルを生成する) | ||
// | // ※ ver 3.0.0 以上のばあいは、 #include "include/IO.js" の行を削除可(includeライブラリ:不要) | ||
// ※ ver 3.1.0a 以上のばあいは、文書ごとに折り返し方法をトグル切り替え | |||
/ | // ---------- ▼ Mery ver 3.1.0a 以降 ▼ ---------- // | ||
// [表示] メニュー内の折り返し方法のチェック状態に応じてトグル切り替え | |||
if ( "QueryStatusByID" in editor | |||
&& typeof editor.QueryStatusByID( 2148 ) === "number" ) { | |||
if ( editor.QueryStatusByID( 2148 ) === 3 ) { | |||
editor.ExecuteCommandByID( MEID_VIEW_WRAP_NONE = 2146 ); | |||
Status = " 折り返さない"; | |||
} | |||
else if ( editor.QueryStatusByID( 2146 ) === 3 ) { | |||
editor.ExecuteCommandByID( MEID_VIEW_WRAP_BY_CHAR = 2147 ); | |||
Status = " 指定文字数で折り返し"; | |||
} | |||
else if ( editor.QueryStatusByID( 2147 ) === 3 ) { | |||
editor.ExecuteCommandByID( MEID_VIEW_WRAP_BY_WINDOW = 2148 ); | |||
if ( editor. | Status = " ウインドウの右端で折り返し"; | ||
} | } | ||
} | } | ||
// ---------- ▼ Mery ver 3.0.0 以降の Tag プロパティ対応バージョン ▼ ---------- // | |||
// ※ Mery 2.x.x では要 include ライブラリ | |||
else { | else { | ||
IO.Serialize( setting ); // JSON 書き込み | // 動作方式 | ||
var tagEnable = ( "Tag" in window ); // TAGモード (Mery 3.0.0 ~) | |||
var ioEnable = ( typeof IO == "object" ); // JSONモード (~ Mery 2.8.x ※外部ファイル読み書き) | |||
var tagKey = "wrapModeToggle_D"; | |||
var setting = {}; | |||
if ( tagEnable && editor.Tag.exists( tagKey ) ) { | |||
setting.wrapMode = editor.Tag( tagKey ); | |||
} | |||
else if ( ioEnable ) { | |||
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 if ( ioEnable ) { | |||
IO.Serialize( setting ); // JSON 書き込み | |||
// Status += "\t (折り返しトグル切り替え: JSONモード)"; | |||
} | |||
} | } | ||
</source> | </source> | ||
| 178行目: | 178行目: | ||
== メモ == | == メモ == | ||
* 2019/02/19 (sukemaru) <br> sukemaru版を追加させていただきました。マテリアルアイコンの「折り返さない」と「指定文字数で折り返し」用を翻案した「マテリアルデザインっぽいアイコン」2点をいれてあります。Bleat版とあわせて、お好みのスクリプトと組み合わせてお使いください。 | * 2019/02/19 (sukemaru) <br> sukemaru版を追加させていただきました。マテリアルアイコンの「折り返さない」と「指定文字数で折り返し」用を翻案した「マテリアルデザインっぽいアイコン」2点をいれてあります。Bleat版とあわせて、お好みのスクリプトと組み合わせてお使いください。 | ||
* 2020/03/15 (sukemaru版) <br> Mery Ver 3.0.0 以降の Tag プロパティに対応。 | |||
* 2020/10/30 (sukemaru版) <br> Mery アルファ版 Ver 3.1.0 から折り返しの切り替えが文書単位に変更になったので、それにも対応。 | |||
2020年10月30日 (金) 01:49時点における版
概要
好みの折り返し方式をトグル切り替えできるようにするマクロ。組み合わせは3+1種類。
利点は覚えるショートカットキーがひとつ減るくらいです。
ダウンロード
ファイル:折り返しトグル切り替えセット.zip (※Bleat版 2019/02/13)
ファイル:折り返しトグル切り替え.zip (アイコン入り ※sukemaru版 2020/10/30 更新)
内容
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ライブラリ:不要)
// ※ ver 3.1.0a 以上のばあいは、文書ごとに折り返し方法をトグル切り替え
// ---------- ▼ Mery ver 3.1.0a 以降 ▼ ---------- //
// [表示] メニュー内の折り返し方法のチェック状態に応じてトグル切り替え
if ( "QueryStatusByID" in editor
&& typeof editor.QueryStatusByID( 2148 ) === "number" ) {
if ( editor.QueryStatusByID( 2148 ) === 3 ) {
editor.ExecuteCommandByID( MEID_VIEW_WRAP_NONE = 2146 );
Status = " 折り返さない";
}
else if ( editor.QueryStatusByID( 2146 ) === 3 ) {
editor.ExecuteCommandByID( MEID_VIEW_WRAP_BY_CHAR = 2147 );
Status = " 指定文字数で折り返し";
}
else if ( editor.QueryStatusByID( 2147 ) === 3 ) {
editor.ExecuteCommandByID( MEID_VIEW_WRAP_BY_WINDOW = 2148 );
Status = " ウインドウの右端で折り返し";
}
}
// ---------- ▼ Mery ver 3.0.0 以降の Tag プロパティ対応バージョン ▼ ---------- //
// ※ Mery 2.x.x では要 include ライブラリ
else {
// 動作方式
var tagEnable = ( "Tag" in window ); // TAGモード (Mery 3.0.0 ~)
var ioEnable = ( typeof IO == "object" ); // JSONモード (~ Mery 2.8.x ※外部ファイル読み書き)
var tagKey = "wrapModeToggle_D";
var setting = {};
if ( tagEnable && editor.Tag.exists( tagKey ) ) {
setting.wrapMode = editor.Tag( tagKey );
}
else if ( ioEnable ) {
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 if ( ioEnable ) {
IO.Serialize( setting ); // JSON 書き込み
// Status += "\t (折り返しトグル切り替え: JSONモード)";
}
}
メモ
- 2019/02/19 (sukemaru)
sukemaru版を追加させていただきました。マテリアルアイコンの「折り返さない」と「指定文字数で折り返し」用を翻案した「マテリアルデザインっぽいアイコン」2点をいれてあります。Bleat版とあわせて、お好みのスクリプトと組み合わせてお使いください。 - 2020/03/15 (sukemaru版)
Mery Ver 3.0.0 以降の Tag プロパティに対応。 - 2020/10/30 (sukemaru版)
Mery アルファ版 Ver 3.1.0 から折り返しの切り替えが文書単位に変更になったので、それにも対応。
スポンサーリンク