В AkelPad открыто несколько файлов, каждый в своей вкладке.
Есть Ява скрипт Script.js. Я могу его применить в AkelPad примерно так:
-"Скрипт" Call("Scripts::Main", 1, "Script.js")
Но это скрипт применится только к активной в данный момент вкладке.
А как его применить ко всем открытым в AkelPad файлам, не переходя из вкладки во вкладку вручную?
var hMainWnd = AkelPad.GetMainWnd();
var lpFrameStart = AkelPad.SendMessage(hMainWnd, 1290 /*AKD_FRAMEFINDW*/, 1 /*FWF_CURRENT*/, 0);
var lpFrameCur = lpFrameStart;
if (lpFrameStart)
{
do
{
WScript.Echo("Edit file: " + AkelPad.GetEditFile(0));
lpFrameCur = AkelPad.SendMessage(hMainWnd, 1290 /*AKD_FRAMEFINDW*/, 9 /*FWF_TABNEXT*/, lpFrameCur);
AkelPad.SendMessage(hMainWnd, 1285 /*AKD_FRAMEACTIVATE*/, 0, lpFrameCur);
}
while (lpFrameCur && (lpFrameCur != lpFrameStart))
}
Posted: Sat Dec 05, 2015 7:59 am
by vadim
Спасибо, KDJ!
Насколько я понял, чтобы скрипты применялись ко всем вкладкам, эту часть нужно вставлять в каждый JS-скрипт. И вставлять нужно примерно так:
vadim
WScript.Echo для примера, замените на код скрипта или, наверное, проще на вызов нужного скрипта с AkelPad.Call(), чтобы использовать для каждой вкладки только при необходимости.
KDJ
Thank you. Would be great also to have not only command interface, buta visual also. Some text block (like one i am writing this post in). And some dropdown list-menu or something to select template from scripts available - "scriptname(|cursor|)" with insert button because we can call several scripts from command option of your script.
Maybe also check for line length if it is restricted somehow.
Posted: Sun Dec 06, 2015 8:58 pm
by KDJ
Lenchik
This GUI already exists: runScript.js.
It is necessary to connect in some way both scripts.
I think it will be easier for Infocatcher to add in runScript.js the option of running on all tabs.