Templates plugin

Discuss and announce AkelPad plugins
  • Author
  • Message
Offline
Posts: 2247
Joined: Tue Aug 07, 2007 2:03 pm
Location: Vinnitsa, Ukraine

Post by FeyFre »

Честно говоря. не совсем понимаю. зачем его переносить на JS...
Ну, например уже месяца два как я не могу откомпилировать палгины в пригодном для релиза виде по форсмажорным причинам(сносил систему), а на JS я могу разрабатывать да хоть на коленке ибо не нужно маятся компиляторами, рантаймами пр. Плагин написан на С, в котором исключительно примитивен набор операций манипуляций текстом: то что на JS будет template.replace(re_caret,""), на C займет парочку дополнительных Кб(а то и десятков) кода, я уже не говорю, что создать что-то типа визарда с опциями, полями, условными частями шаблонов - на С/С++ задача не тривиальная.

Нет, переписывать я не собираюсь, свят-свят-свят, но о плюсах и минусах в курсе.
Но тогда можно будет названия всех кнопок и сообщений вынести в ini, и чтобы люди свои (для разных языков) подкладывали, это будет удобно. Вообще это хороший стиль - всё интерфейсное хранить отдельно от исполняемого кода.
Вы не поверите, а у меня точно так же само. Код отдельно, интерфейс отдельно. В плагинах зашиты три языка, и я тот код не трогаю при программировании логики(как и не трогает его Инструктор в Акеле в целом).

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

Post by VladSh »

FeyFre
По переносу ясно.
FeyFre wrote:Вы не поверите, а у меня точно так же само. Код отдельно, интерфейс отдельно. В плагинах зашиты три языка...
Я о том, чтобы каждый для себя мог подправить названия кнопок, т.к. кнопка "Открыть" - это не открыть вовсе, а "Создать", теперешняя "Изменить" - это "Открыть". Меня это постоянно сбивает с толку. Также, как в SpellCkeck'е кнопка "Принять" - это "Заменить", а "Принять" в других системах - это "добавить в пользовательский словарь".

Offline
Posts: 2247
Joined: Tue Aug 07, 2007 2:03 pm
Location: Vinnitsa, Ukraine

Post by FeyFre »

Я о том, чтобы каждый для себя мог подправить названия кнопок, т.к. кнопка "Открыть" ....
ResHacker в зубы :wink: Кстати, винда позволяет на ходу поменять(и создать) ресурсы(есть API), но это очень используемое и мало-наработанное чудо, потому мало кому известно.(Которым, кстати, создавать диалоги из наших скриптов было бы в сто крат легче).
акже, как в SpellCkeck'е кнопка "Принять" - это "Заменить"
Ну раз пользовательского словаря нету, а в некоторых других системах "Принять" больше известно как "Запомнить", то уж сами понимаете.
А если не заметили, у меня по всему диалогу написано слово "шаблон" а не "документ" или "файл". И если бы было бы слово "Создать" то оно интерпретировалось бы как "Создать Шаблон" а не "Создать Документ на основе Шаблона".
Есть всё-таки общепринятые нормы. Например, в английском языке в утвердительных предложениях подлежащее всегда стоит перед сказуемом и никогда после. И если стоят подряд два и больше слова существительных(в нашем понимании), то только последнее из них играет роль дополнения, остальные его определения.

Offline
Posts: 2247
Joined: Tue Aug 07, 2007 2:03 pm
Location: Vinnitsa, Ukraine

Post by FeyFre »

<<<DOWNLOAD>>> v1.9
* AkelPad v4.6.0 compatibility
* Non-MSVC compiler compatibility

Offline
Posts: 2247
Joined: Tue Aug 07, 2007 2:03 pm
Location: Vinnitsa, Ukraine

Post by FeyFre »

<<<DOWNLOAD>>> v1.10
* Fixed external plugin call(Open function)

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

Post by VladSh »

У меня всё-таки ещё просьба)) сделайте пожалуйста, пусть даже какой-нибудь параметр в ini, чтобы при его включении кодировка фалй при "Создать" ("Открыть") наследовалась из файла-шаблона в создаваемый файл!)

Offline
Posts: 366
Joined: Mon Jan 10, 2011 5:28 pm
Contact:

Post by Lenchik »

В прикладываемых к плагину шаблонах шаблон Template.coder - устаревшей версии.

Offline
Posts: 2247
Joined: Tue Aug 07, 2007 2:03 pm
Location: Vinnitsa, Ukraine

Post by FeyFre »

Lenchik, обновим, спасибо.
VladSh, честно, попробовал. Но оно не выдержало полевого испытания - при чтении шаблона, читалось в непонятной кодировке.

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

Post by Instructor »

FeyFre
Можно так:

Code: Select all

...
if(lSize = SendMessageW(g_hMainWnd,AKD_READFILECONTENT,0,(LPARAM)&fc))
{
	LPCWSTR pText = SplitTemplate(fc.wpContent);
	SAVEDOCUMENTW sd;

	sd.pFile=NULL;
	sd.nCodePage=fc.nCodePage;
	sd.bBOM=fc.bBOM;
	sd.dwFlags=0;
	SendMessage(g_hMainWnd, AKD_SAVEDOCUMENTW, (WPARAM)NULL, (LPARAM)&sd);
	...
Кстати плагин не создает шаблон, если не открыто ни одной вкладки в режиме MDI.

Offline
Posts: 2247
Joined: Tue Aug 07, 2007 2:03 pm
Location: Vinnitsa, Ukraine

Post by FeyFre »

Instructor
К этому я додумался(только pFile = L""; dwFlags = SD_UPDATE;)
Меня обламывает другое - кодировка часто не определяется правильно, вот я и отложил.
Кстати плагин не создает шаблон, если не открыто ни одной вкладки в режиме MDI.
Пробуйте версию 1.12
Last edited by FeyFre on Thu Dec 29, 2011 11:44 pm, edited 1 time in total.

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

Post by VladSh »

FeyFre wrote:Пробуйте версию 1.12
А где её взять? :D

Offline
Posts: 2247
Joined: Tue Aug 07, 2007 2:03 pm
Location: Vinnitsa, Ukraine

Post by FeyFre »

VladSh, как Инструктор зальет. Либо тута (но не рассчитывать на финальность сборки. финальной считается та что залита Инструктором)

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

Post by Instructor »

FeyFre
Templates создает пустую вкладку, не смотря на закрытие диалога через крестик или кнопку "Закрыть". Пустая вкладка итак создается по нажатию на Enter, закрытие же диалога через отмену ожидается без создания чего-либо.

Offline
Posts: 381
Joined: Wed Sep 28, 2011 3:05 pm

Post by Cuprum »

Для шаблона HTML5 заменил существующий вариант установки кодировки на рекомендуемый W3C:

Code: Select all

<meta charset="utf-8">
Измененный шаблон - http://dl.dropbox.com/u/3622221/Temp/html5.html

При создании файла из шаблона (например, тот же HTML5) ставлю галочку "Удалить метку", а в статусной строке показывается "65001 (UTF-8)", хотя по идее должно быть "65001 (UTF-8) без BOM". Баг?

Offline
Posts: 2247
Joined: Tue Aug 07, 2007 2:03 pm
Location: Vinnitsa, Ukraine

Post by FeyFre »

Cuprum, 404 not found.
Кроме того, пока HTML5 пока не стандарт, а просто черновик, и слушать оттуда какие-то рекомендации я пока не буду(каждые 5 минут менять что-либо я не намерен).
Кроме того, Вы проверили что эта самая рекомендация W3C совпадает с рекомендацией WHATWG? Они сейчас грызутся за HTML5 ещё хуже чем два турецких шаха за девственницу. Я лучше постою в сторонке.
По поводу "Удалить метку" - это не та метка. Это initial caret position marker. Создайте дважды файл из одного и того же шаблона но с разным состоянием птички и вкусите разницу.
Last edited by FeyFre on Wed Aug 15, 2012 4:01 pm, edited 1 time in total.
Post Reply