| View previous topic :: View next topic |
| Author |
Message |
private_joker
Joined: 28 May 2010 Posts: 71
|
Posted: Wed Apr 11, 2012 2:06 pm Post subject: |
|
|
| VladSh wrote: |
Вы всё ещё пользуете меню "по умолчанию"? |
Нет, скорее мне уже давно надоело редактировать меню каждый раз после обновлений, поэтому я использую то, что есть и http://akelpad.sourceforge.net/files/plugs/ContextMenu/
Кстати, последнее неплохо бы смотрелось в AkelUpdater, т.к. не завсегдатаю форума об этом не узнать (а среди пользователей AkelPad'a думаю всяко таких меньше).
Ну и то, что очевидно дюжине человек (т.е. нам) не обязательно очевидно основной массе. |
|
| Back to top |
|
 |
VladSh
Joined: 29 Nov 2006 Posts: 2523 Location: Киев, Русь
|
Posted: Wed Apr 11, 2012 2:34 pm Post subject: |
|
|
private_joker
У меня обновления проги/плагов в основном никак не связано с редактированием меню. Может просто хранить настройки не в реестре, а в ini? |
|
| Back to top |
|
 |
private_joker
Joined: 28 May 2010 Posts: 71
|
Posted: Wed Apr 11, 2012 3:18 pm Post subject: |
|
|
| VladSh wrote: |
У меня обновления проги/плагов в основном никак не связано с редактированием меню. |
Если изменяли меню, либо тулбары (получаются кастомные ContextMenu.ini и ToolBar.ini) новые пункты после обновления могут не появится, пока вручную не добавите, либо удалите старые *.ini. По крайней мере я сам наблюдал такое.
| Quote: | | Может просто хранить настройки не в реестре, а в ini? |
А разве я где-то писал что храню настройки AkelPada в реестре? |
|
| Back to top |
|
 |
se7h
Joined: 28 Sep 2009 Posts: 764 Location: Minsk, Belarus
|
Posted: Wed Apr 11, 2012 8:25 pm Post subject: |
|
|
| Infocatcher wrote: | | Кстати, неплохо бы иметь возможность добавить к меню ссылок обычное контекстное меню без копипаста (а то править неудобно). |
сорвал с языка |
|
| Back to top |
|
 |
VladSh
Joined: 29 Nov 2006 Posts: 2523 Location: Киев, Русь
|
Posted: Thu Apr 12, 2012 9:12 am Post subject: |
|
|
private_joker
Естественно, новые пункты сами не появятся (с слава небесам!). Зато с каждым изменением версий всё остаётся в целости и сохранности (ничего каждый раз редактировать не нужно), а это важнее; пару новых пунктов (тем более, что они не так часто появляются) можно добавить и самому. |
|
| Back to top |
|
 |
Andrey_A_A
Joined: 03 Jun 2010 Posts: 483 Location: Сочи, Хоста
|
Posted: Fri Apr 27, 2012 12:24 pm Post subject: |
|
|
Есть Внешний вызов
Call("ContextMenu::Show", 1, "X", "Y", INDEX, "SUBMENU")
где при X=-1 и Y=-1 - это позиция верхнего левого угла окна редактирования
хотелось бы иметь координаты и для других позиций
- позицию нижнего левого угла окна редактирования
- позицию нижнего правого угла окна редактирования
- позицию верхнего правого угла окна редактирования
потому что угадывать позицию где вылетит окно при разных размерах экрана компьютеров невозможно
Лучше если координаты были бы относительны окна редактирования, а не монитора.
0 и 0 - были были позициями верхнего левого угла окна редактирования
-1 и -1 - были бы позициями нижнего правого угла окна редактирования |
|
| Back to top |
|
 |
VladSh
Joined: 29 Nov 2006 Posts: 2523 Location: Киев, Русь
|
Posted: Sat Apr 28, 2012 8:21 am Post subject: |
|
|
| Andrey_A_A wrote: | | Лучше если координаты были бы относительны окна редактирования, а не монитора. | Предлагал, до сих пор это достаёт... |
|
| Back to top |
|
 |
Instructor Site Admin
Joined: 06 Jul 2006 Posts: 4680
|
Posted: Mon Apr 30, 2012 11:54 am Post subject: |
|
|
Andrey_A_A
С помощью Scripts плагина вычисляем координаты, где необходимо отобразить меню, и передаем во внешний вызов. |
|
| Back to top |
|
 |
Andrey_A_A
Joined: 03 Jun 2010 Posts: 483 Location: Сочи, Хоста
|
Posted: Mon Apr 30, 2012 12:31 pm Post subject: |
|
|
| Quote: | | С помощью Scripts плагина вычисляем координаты |
Instructor
Это как? Чё-то не видел или пропустил, подскажите плиз
С праздником Мира! Внсны! И Труда ... на AkelPad'oм! |
|
| Back to top |
|
 |
F. Phoenix
Joined: 24 Dec 2011 Posts: 113
|
Posted: Tue May 01, 2012 8:47 pm Post subject: |
|
|
Предлагаю расширить дириктивы SET-UNSET, чтобы можно было отображать некоторые пункты только для определенных типов файлов (через связь с кодером, например, и его текущей синтаксической темой). Либо, как вариант, вообще добавить возможность указывать этим пунктам скрипты, определяющие их отображаемость для каждого отдельного вызова - тогда уж точно контекстное меню в полном смысле будет оправдывать свое название  |
|
| Back to top |
|
 |
Instructor Site Admin
Joined: 06 Jul 2006 Posts: 4680
|
Posted: Mon May 07, 2012 9:25 am Post subject: |
|
|
Andrey_A_A
Отобразить меню снизу слева | Code: | var hWndEdit=AkelPad.GetEditWnd();
var rcEditRect=[];
var oSys=AkelPad.SystemFunction();
GetWindowPos(hWndEdit, 0, rcEditRect);
AkelPad.Call("ContextMenu::Show", 1, "" + rcEditRect.left, "" + (rcEditRect.top + rcEditRect.bottom));
function GetWindowPos(hWnd, hWndOwner, rcRect)
{
var lpRect;
var bResult=false;
//Get rect
if (lpRect=AkelPad.MemAlloc(16 /*sizeof(RECT)*/))
{
if (oSys.Call("user32::GetWindowRect", hWnd, lpRect))
{
RectToArray(lpRect, rcRect);
rcRect.right-=rcRect.left;
rcRect.bottom-=rcRect.top;
if (hWndOwner)
bResult=oSys.Call("user32::ScreenToClient", hWndOwner, lpRect);
else
bResult=true;
rcRect.left=AkelPad.MemRead(lpRect, 3 /*DT_DWORD*/);
rcRect.top=AkelPad.MemRead(lpRect + 4, 3 /*DT_DWORD*/);
}
AkelPad.MemFree(lpRect);
}
return bResult;
}
function RectToArray(lpRect, rcRect)
{
rcRect.left=AkelPad.MemRead(lpRect, 3 /*DT_DWORD*/);
rcRect.top=AkelPad.MemRead(lpRect + 4, 3 /*DT_DWORD*/);
rcRect.right=AkelPad.MemRead(lpRect + 8, 3 /*DT_DWORD*/);
rcRect.bottom=AkelPad.MemRead(lpRect + 12, 3 /*DT_DWORD*/);
return rcRect;
}
|
|
|
| Back to top |
|
 |
Instructor Site Admin
Joined: 06 Jul 2006 Posts: 4680
|
Posted: Mon May 07, 2012 9:29 am Post subject: |
|
|
Добавлено: поддержка отображения пометок с идентификатором -1. Требуется Coder плагин v9.4 или выше.
Added: support for displaying marks with -1 identifier. Coder plugin v9.4 or higher required.
ContextMenu plugin v12.3 |
|
| Back to top |
|
 |
Andrey_A_A
Joined: 03 Jun 2010 Posts: 483 Location: Сочи, Хоста
|
Posted: Thu May 17, 2012 3:31 am Post subject: |
|
|
| Quote: | | Отобразить меню снизу слева |
Instructor, спасибо, разобрался!
---------------------------------------
Скрипт я модифицировал в vbs - мне так удобнее - считает нормально все позиции, но в vbs я не могу передать параметры плагину - это пример:
| Code: |
X = 200
Y = 300
Name = "MENUFOLDERS"
Call AkelPad.Call("ContextMenu::Show", "1", X, Y, "-1", Name) |
Это не срабатывает - меню появляется всё, а нужно лишь нужное, и не по координатам, а рядом с курсором.
Обрамлял и в кавычки , к примеру X = Chr(34) & X & Chr(34)
но не срабатывает....
Y и Х - то, что высчитывается в скрипте, "MENUFOLDERS" - передаётся параметром в скрипт. |
|
| Back to top |
|
 |
[Yustas.NeO]
Joined: 12 Mar 2007 Posts: 235
|
Posted: Mon May 21, 2012 11:53 am Post subject: |
|
|
Полностью поддерживаю!
| VladSh wrote: | Instructor
В ContextMenu (Show) настроен "MARK" {...}, он вызывается с тулбара, но в самом контекстном меню он вызывается по старому, т.е. фактически там дублирующийся с "MARK" код. Скопировал его из тулбара в ContextMenu, но он говорит, что неизвестный метод..
Огромная просьба! Реализуйте пожалуйста метод Menu в этом плаге, по аналогии с ToolBar-плагином.
Добавлено:
В Opera кроме SUBMENU (у нас это метод Menu в тулбаре) есть ещё метод INCLUDE, который вставляет кусок меню не в виде подменюшки, а просто включает пункты, как "простыню".
Пример (как можно было бы сделать с Menu):
| Code: | - "Старый пункт меню 1" ...
#<Вставляемое меню как подменю>
{
- "Вставляемый пункт меню 1" ...
- "Вставляемый пункт меню 2" ...
}
#</Вставляемое меню как подменю>
- "Старый пункт меню 2" ... |
Пример (как можно было бы сделать с Include):
| Code: | - "Старый пункт меню 1" ...
#<Вставляемое меню как "простыня">
- "Вставляемый пункт меню 1" ...
- "Вставляемый пункт меню 2" ...
#</Вставляемое меню как "простыня">
- "Старый пункт меню 2" ... |
Было бы мегаудобно! |
|
|
| Back to top |
|
 |
Andrey_A_A
Joined: 03 Jun 2010 Posts: 483 Location: Сочи, Хоста
|
|
| Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|