Scripts plugin

Discuss and announce AkelPad plugins
Post Reply
  • Author
  • Message
Offline
Site Admin
Posts: 6403
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

VladSh
Это очень видно если с помощью гарячих клавиш вызвать ShiftRight и держать их не отпуская - получается бред полный.

Code: Select all

/// Prevent simultaneous exec (allow only one instance of a script)

var AkelPad=new ActiveXObject("AkelPad.document");

var hMutex;

if (hMutex=AkelPad.CreateMutex())
{
  AkelPad.ReplaceSel("x");
  AkelPad.ReplaceSel("y");
  AkelPad.ReplaceSel("z");

  AkelPad.ReleaseMutex(hMutex);
}

Offline
Posts: 3234
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

Instructor wrote:Added: CreateMutex, OpenMutex, ReleaseMutex methods.

Code: Select all

/// Prevent simultaneous exec (allow only one instance of a script)...
Да, похоже это то, что надо.
Правда немного дуплевато работает, но это наверное из-за "быстрой" жабыскрипт..

Offline
Site Admin
Posts: 6403
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

Added: OpenFile, MessageBox methods.


Scripts plugin v2.1

Offline
Posts: 3234
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

Code: Select all

AkelPad.MessageBox(hMainWnd, pPrompt, pTitle, MB_ICON...);

AkelPad.OpenFile(pFileFullName, nFlags, nCodePage, nBOM);
Instructor
Клас!
Только один вопрос: анализирует ли OpenFile внутри на IsOldWindows? Или как..?

Offline
Site Admin
Posts: 6403
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

Анализирует :)

Offline
Posts: 3234
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

:idea: Ещё идея!
Можно ли сделать, чтобы всё, что наделал скрипт, вмещалось в одно действие для отмены?
Это было бы очень удобно - не пришлось бы клацать множество раз чтобы отменить действие одного скрипта. :wink:

Offline
Site Admin
Posts: 6403
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

VladSh
Можно ли сделать, чтобы всё, что наделал скрипт, вмещалось в одно действие для отмены?
Если скрипт уместит изменение файла в одно действие, то можно.

Offline
Posts: 3234
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

Instructor wrote:Если скрипт уместит изменение файла в одно действие, то можно.
Это ж так и есть сейчас?! Я же спрашиваю, если несколько действий, выполняемых при этом же запуске скрипта... можно ли их вместить в 1 действие? Типа метод в плагине такой - вызвал перед началом изменений и усё!.. :D

GetFirstVisibleChar.js - хорошо, но я думал, что было бы неплохо иметь такой метод, который после отработки скрипта, автоматом перебрасывает на "страницу" текста, с которой был вызван скрипт.

Offline
Site Admin
Posts: 6403
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

Changed: AkelPad 3.4.0 required


Scripts plugin v2.3

Offline
Posts: 3234
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Глюк

Post by VladSh »

Если между CreateMutex и ReleaseMutex возникает ошибка, то Акела клинит - он во всех вкладках показывает одно и то же. Приходится перезагружать Акела.
Пока что на этапе отладки скрипта коментирую строки команд прорисовки.. но ИМХО это не выход.
Можно ли как-то поправить этот баг?

Offline
Site Admin
Posts: 6403
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

Нужен конкретный код.

Offline
Site Admin
Posts: 6403
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

Added: IsOldRichEdit, IsOldComctl32, IsMDI, GetEditReadOnly methods.
Added: SearchReplace.js - search and replace using regular expressions.
Added: LinesFilter.js - filter lines using regular expressions.


Scripts plugin v2.4

Offline
Site Admin
Posts: 6403
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

Changed: recompiled to support AkelPad 3.4.2


Scripts plugin v2.5

Offline
Posts: 3234
Joined: Wed Nov 29, 2006 1:19 pm
Location: Киев, Русь
Contact:

Post by VladSh »

Наконец-то смог закрыть файл :) :

Code: Select all

AkelPad.SendMessage(AkelPad.GetMainWnd(), 273, 4422, 0);	//Close file
AkelPad.SendMessage(AkelPad.GetMainWnd(), 273, 4406, 0);	//Close current MDI window
Хочется подавлять вопрос "сохранить файл или нет", если он редактировался... Можно ли это сделать? :idea: Например использовать для данных команд последний параметр в SendMessage, ведь он всё равно сейчас не используется.

Offline
Site Admin
Posts: 6403
Joined: Thu Jul 06, 2006 7:20 am

Post by Instructor »

VladSh
Хочется подавлять вопрос "сохранить файл или нет", если он редактировался... Можно ли это сделать?

Code: Select all

AkelPad.SendMessage(hMainWnd, 1158 /*AKD_SETMODIFY*/, 0, false);
AkelPad.SendMessage(hMainWnd, 273 /*WM_COMMAND*/, 4422 /*IDM_NONMENU_FILECLOSE*/, 0);
Post Reply