ContextMenu plugin

Discuss and announce AkelPad plugins
  • Author
  • Message
Offline
Posts: 670
Joined: Thu Jun 03, 2010 8:47 am
Location: Сочи, Хоста
Contact:

Post by Andrey_A_A »

Lenchik
если я правильно понял смысл
Смысл понятен правильно, более того добавлю

в команде с описанием и с иконкой в среднем 60-80 символов, в повторяющейся группе команд из 5 команд 300-400 . Групп несколько

в итоге очень много)))

если можно будет не дублицировать - будет хорошо

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

Post by Instructor »

VladSh wrote:Огромная просьба! Реализуйте пожалуйста метод Menu в этом плаге, по аналогии с ToolBar-плагином. >>
Andrey_A_A wrote:Можно ли избежать дублирования групп команд, дабы ContextMenu.ini не распухало.
Так получается что одни и те же куски повторяются ...
Реализовано. Будет доступно после релиза 4.7.9.

Offline
Posts: 670
Joined: Thu Jun 03, 2010 8:47 am
Location: Сочи, Хоста
Contact:

Post by Andrey_A_A »

Реализовано. Будет доступно после релиза 4.7.9.
Instructor Супер, буду с нетерпением ждать!

Offline
Posts: 767
Joined: Mon Sep 28, 2009 10:03 am
Location: Minsk, Belarus

Post by se7h »

Instructor wrote:
VladSh wrote:Огромная просьба! Реализуйте пожалуйста метод Menu в этом плаге, по аналогии с ToolBar-плагином. >>
Andrey_A_A wrote:Можно ли избежать дублирования групп команд, дабы ContextMenu.ini не распухало.
Так получается что одни и те же куски повторяются ...
Реализовано. Будет доступно после релиза 4.7.9.
долгожданное поведение, отлично

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

Post by VladSh »

Instructor
Возможно ли в плаг добавить поддержку %m и %i, по аналогии с тулбаром?
Хочется чтобы такие пункты меню были с окошками, а в них галка либо её отсутствие. Не помню, но вроде в Bred'е были такие чекбоксы в меню.

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

Post by Instructor »

VladSh
ContextMenu-Rus.txt wrote: %m идентификатор меню (handle)
%i идентификатор пункта меню

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

Post by VladSh »

Instructor

Code: Select all

-"Активный столбец" Call("Scripts::Main", 1, "ActiveColumnSwitch.js", `"%m" "%i"`)
На тулбаре работает корректно, а в меню ничего не отображается.
Если убрать впереди минус, то галка будет стоять всегда, вне зависимости, нажато или отжато.
Хотелось бы такой же похожей обработки как в тулбаре.

KDJ
Offline
Posts: 1949
Joined: Sat Mar 06, 2010 7:40 pm
Location: Poland

Post by KDJ »

VladSh
This script is designed for Toolbar.
You can customize the script for ContextMenu:

Code: Select all

// Active column show/hide for menu.
// How to use:
// Add item to ContextMenu plugin:
// -"Active column" Call("Scripts::Main", 1, "ActiveColumnSwitchForMenu.js", `"%m" "%i"`)

//Arguments
var hMenu=0;
var nItemID=0;
if (WScript.Arguments.length >= 2)
{
  hMenu=parseInt(WScript.Arguments(0));
  nItemID=parseInt(WScript.Arguments(1));
}

var hMainWnd=AkelPad.GetMainWnd();
var hWndEdit=AkelPad.GetEditWnd();
var dwOptions;

if (hMainWnd && hWndEdit)
{
  dwOptions=AkelPad.SendMessage(hWndEdit, 3227 /*AEM_GETOPTIONS*/, 0, 0);

  if (dwOptions & 0x400 /*AECO_ACTIVECOLUMN*/)
  {
    AkelPad.SendMessage(hWndEdit, 3228 /*AEM_SETOPTIONS*/, 4 /*AECOOP_XOR*/, 0x400 /*AECO_ACTIVECOLUMN*/);
    AkelPad.SystemFunction().Call("User32::CheckMenuItem", hMenu, nItemID, 0x0 /*MF_BYCOMMAND|MF_UNCHECKED*/);
  }
  else
  {
    AkelPad.SendMessage(hWndEdit, 3228 /*AEM_SETOPTIONS*/, 2 /*AECOOP_OR*/, 0x400 /*AECO_ACTIVECOLUMN*/);
    AkelPad.SystemFunction().Call("User32::CheckMenuItem", hMenu, nItemID, 0x8 /*MF_BYCOMMAND|MF_CHECKED*/);
  }
}

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

Post by VladSh »

KDJ
Thanks for a great example!
Just do not want to keep the 2 scripts, so I would like change in the original ActiveColumnSwitch.js.

KDJ
Offline
Posts: 1949
Joined: Sat Mar 06, 2010 7:40 pm
Location: Poland

Post by KDJ »

VladSh
Try this script: CaretOptionsSwitch.js

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

Post by Instructor »

Добавлено: метод Menu() - добавляет подменю из "Меню ContextMenu::Show".

Added: Menu() - inserts submenu from "ContextMenu::Show menu".


ContextMenu plugin v12.6

Offline
Posts: 267
Joined: Mon Mar 12, 2007 3:45 pm

Post by [Yustas.NeO] »

В ContextMenu::Show есть некоторое меню. Есть кнопка на тулбаре, вызывающее это некоторое меню с помощью стрелки и метода Menu(). Решил попробовать вызов метода Menu() для контекстных меню с помощь того самого некоторого меню: вызвал окно редактирования меню, прописал код, нажал "Показать", полюбовался, нажал "Отмена". После это перестала работать стрелка у той кнопки на тулбаре.

Instructor wrote:Добавлено: метод Menu() - добавляет подменю из "Меню ContextMenu::Show"
А метода "вставить портянкой" не ждать? :(

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

Post by Instructor »

[Yustas.NeO] wrote:В ContextMenu::Show есть некоторое меню...
Исправлено.

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

Post by Instructor »

Исправлено: кнопка диалога "Показать" ошибочно освобождала используемые ресурсы.

Fixed: dialog button "Show" mistakenly freed used resources.


ContextMenu plugin v12.7

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

Post by Instructor »

Исправлено: совместное использование методов Menu() и Index().

Fixed: joint using of Menu() and Index() methods.


ContextMenu plugin v12.8
Post Reply