|
もうひとつ、おそらくいろんな人が共通でぼんやりと思ってると
思いますが、一時的ツールバーがJSから作れるとよいのではないかと。
イメージとしては、
https://github.com/komiyamma/suggestion-for-hmtoolbar/blob/main/additional_toolbar.png
「特定のファイルの拡張子」を開くと上画みたいになる感じです。
「小さな実行タスクの1つ1」つをマクロにしてしまっては、
マクロの登録枠がぐちゃぐちゃになってしまうので、
あくまでも FunctionID と 一時的ツールバーのボタンを繋げます。
jsmode @"WebView2\HmMarkdownAdditionalToolBar";
js {
// ファイルに対する「一時的な追加のツールバー」を定義
let additionalToolBarDifinition = {
"label":"HmMarkdownAdditionalToolBar", // 該当のツールバーには、一応識
別子を付けておく。
"design":{"font":"HmMarkdownAdditionalToolBar","fontsize":16},
"tbcmd": {
// 実際にはfuncid=nullなどと書かなくてもよいが解説する上で存在をわか
りやすくするため
"insert_table":{funcid=null "name":" ", "color":"#990000","a
lt":"テーブル挿入"},
"format_table":{funcid=null, "name":" ", "color":"#333333","
alt":"テーブルフォーマット"},
"insert_link":{funcid=null, "name":" ", "color":"#000099","a
lt":"リンク挿入"},
"insert_image":{funcid=null, "name":" ", "color":"#000099","
alt":"イメージ挿入"},
},
"colors":{
/*
設計同じ
*/
},
}
// funcid に JS関数を結びつける
additionalToolBarDifinition.tbcmd.insert_table.funcid = hidemaru.getFunction
Id(insert_table);
additionalToolBarDifinition.tbcmd.insert_table.funcid = hidemaru.getFunction
Id(insert_table);
additionalToolBarDifinition.tbcmd.insert_link.funcid = hidemaru.getFunctionI
d(insert_link);
additionalToolBarDifinition.tbcmd.insert_image.funcid = hidemaru.getFunction
Id(insert_image);
// hidemaru.makeAdditionalToolBar
let addToolBar = hidemaru.makeAdditionalToolBar(additionalToolBarDifinition);
addToolBar.show(); // 一時的なツールバーとして表示する。ファイルを閉じるとこ
の一時的なツールバーは自動で無くなる。
function insert_table() {
insert("うにょにょ |aaa|bbb|\n ... とかとか");
}
function format_table() {
let selectedText = hidemaru.getSelectedText();
にょらうにょら
insert(formattedText);
}
function insert_link() {
let selectedText = hidemaru.getSelectedText();
if (selectedText) {
// クリックボードの中身に://が含まれていれば
insert (`[{selectedText}](クリップボードテキスト)`;
} else {
insert (`[テキスト](https://リンク)`
}
}
function insert_image() {
// クリップボードが画素なら
// ファイルを作成して、リンクを挿入
// クリップボードが画像ファイルなら
// このファイルのサブディレクトリにあるなら
// そのまま相対リンクを挿入
// それ以外なら
// 画像ファイルをコピーしてファイルを作成し、リンクを挿入
}
}
ファイルが閉じられると、この追加の一時的パネルは自動的に消える感じです。
(よって基本的には、追加パネルを表示したい場合は、対象の拡張子に対する自動起
動マクロに含める、などパターン化するかと)
|
|