Page 86 of 96

Posted: Fri Jan 31, 2014 10:51 pm
by opk44
Skif_off
Обойти в цикле все открытые вкладки и сделать вызов типа такого:
Call("Coder::Settings", 1, "cpp")

Posted: Sat Feb 01, 2014 4:30 pm
by Skif_off
opk44
Это понятно, не нашел скрипта, в котором обходятся все вкладки, а с нуля не напишу.

Posted: Sat Feb 01, 2014 5:37 pm
by KDJ
Skif_off

Code: Select all

// Set coder theme for all tabs
//
// Usage:
// Call("Scripts::Main", 1, "CoderThemeAllTabs.js") - without argument - restore default themes
// Call("Scripts::Main", 1, "CoderThemeAllTabs.js", "EXTENSION")
//
// "EXTENSION" argument can be:
//   "cpp", "js", "vbs", ...
//   "?" - no theme
//   ""  - use theme for unknown files

var hMainWnd = AkelPad.GetMainWnd();
var nTabs    = AkelPad.SendMessage(hMainWnd, 1291 /*AKD_FRAMESTATS*/, 0 /*FWS_COUNTALL*/, 0);
var lpFrame  = AkelPad.SendMessage(hMainWnd, 1290 /*AKD_FRAMEFINDW*/, 1 /*FWF_CURRENT*/, 0);
var sExt;

if (WScript.Arguments.length)
  sExt = WScript.Arguments(0);

AkelPad.SendMessage(hMainWnd, 11 /*WM_SETREDRAW*/, false, 0);

for (var i = 0; i < nTabs; ++i)
{
  lpFrame = AkelPad.SendMessage(hMainWnd, 1290 /*AKD_FRAMEFINDW*/, 9 /*FWF_TABNEXT*/, lpFrame);
  AkelPad.SendMessage(hMainWnd, 1285 /*AKD_FRAMEACTIVATE*/, 0, lpFrame);
  AkelPad.Call("Coder::Settings", 1, sExt);
}

AkelPad.SendMessage(hMainWnd, 11 /*WM_SETREDRAW*/, true, 0);
AkelPad.SystemFunction().Call("User32::InvalidateRect", AkelPad.GetEditWnd(), 0, 1);

Posted: Sat Feb 01, 2014 5:38 pm
by opk44
Skif_off wrote:...с нуля не напишу...
1. Тогда корректнее формулируйте вопрос (next time).
2. У меня здесь, вероятнее всего, не самый красивый код, но все же работает:

Code: Select all

// Usage:
// Call("Scripts::Main", 1, "MyScript.js")
// 
// Установить синтакс.тему во всех открытых вкладках
// 
var WM_COMMAND=273;
var hEditWnd;
var IDM_WINDOW_FRAMENEXT=4316;
var hMainWnd=AkelPad.GetMainWnd();
var hEditWndStart=AkelPad.GetEditWnd();
// обойдем в цикле все открытые вкладки и зададим новую синт.тему (cpp)
do
   {
     AkelPad.SendMessage(hMainWnd, WM_COMMAND, IDM_WINDOW_FRAMENEXT, 0);   // переходим к следующей вкладке
     hEditWnd=AkelPad.GetEditWnd();   // и берем ее хэндл
     AkelPad.Call("Coder::Settings", 1, "cpp");   // красим вкладку
   }
   while (hEditWnd != hEditWndStart);   // т.е. пока не вернёмся к вкладке с которой начали
Тут все "в лоб" без запроса на выбор темы. Т.е. если нужно вместо "cpp" какой-нибудь "lua", то исправлять придется прямо в коде.
3. Я не специалист и мои советы в этом вопросе немного стОят, но лично для меня большим подспорьем был "Test.js" из основного пакета. Попробуйте и вы с него начать "горшки обжигать".

Posted: Sat Feb 01, 2014 10:09 pm
by Skif_off
KDJ
opk44
Большое спасибо, попробую разобраться.
opk44 wrote:3. ...лично для меня большим подспорьем был "Test.js" из основного пакета. Попробуйте и вы с него начать "горшки обжигать".

Еще Scripts-Rus.txt смотрел, но для меня проблема так знакомиться с языком, лучше всего понимаю, когда формулирую вопрос и получаю пример кода, но тогда просто задолбаю окружающих :)
+ усугубляет низкий уровень мотивации - почти все, что нужно, уже написано (ну, кроме декодирования Quoted-Printable, сделал костылем: ChangeSelInClipboard.js от Instructor и скрипт AutoIt).

Posted: Sun Feb 02, 2014 6:46 am
by Instructor
Изменено: объединение последовательно идущего текста с одинаковой подсветкой (подсветка разделителями txt.coder).
Изменено: параметр "XHTML" на "BR".
Изменено: параметр "Format" теперь по умолчанию "html".
Добавлено: параметр "InfoSize".
Исправлено: параметр "Enclose" и текст содержащий символ $ (>>>).

CodePoster.js v2.2

Posted: Sun Feb 02, 2014 12:47 pm
by Infocatcher
Instructor wrote:Изменено: объединение последовательно идущего текста с одинаковой подсветкой (подсветка разделителями txt.coder).
О, здорово.
Но вот фон не объединяется, если в *.txt подсветить слово чем-нибудь типа

Code: Select all

Call("Coder::HighLight", 2, 0, "#BCF3BC", 1, 0, -1)

Posted: Sun Feb 02, 2014 1:11 pm
by Instructor
Исправлено: объединение последовательно идущего текста с одинаковой подсветкой фона (для -Strict=true).

CodePoster.js v2.3

Posted: Sun Feb 02, 2014 6:07 pm
by KDJ
AkelPadDocsView.js
Added: preview files AkelHelp-Eng.htm and AkelHelp-Rus.htm.

Posted: Sun Feb 02, 2014 8:10 pm
by KDJ
LineBoardRClickPanel.js
Script adapted for LineBoard plugin v11.2.

Posted: Wed Feb 12, 2014 7:57 pm
by KDJ
AkelPadManualSettings.js
Updated description of AkelUpdaterOptions for AkelUpdater v4.0.

Posted: Wed Feb 19, 2014 7:14 am
by yozhic
Instructor
Что-то у меня DrawLine.js в 4.8.7 перестал рисовать :( В 4.8.6 рисовал.

Posted: Wed Feb 19, 2014 11:55 am
by Instructor
Изменено: требуется AkelPad 4.8.7 или выше.

DrawLine.js v1.2

Posted: Wed Feb 19, 2014 12:00 pm
by Instructor
Добавлено: параметры "FromPage", "ToPage", "AddFlags".
Добавлено: параметры "Copies", "Collate", которые будут работать в релизе AkelPad 4.8.8 или выше.

PrintAll.js v1.3

Posted: Wed Feb 19, 2014 12:45 pm
by FeyFre
yozhic,
Version v1.0
- работает на 4.8.7