GetMacroCopy

Здесь обсуждается всё, что касается макросов.
User avatar
John Doe
Бюрократ
Posts: 12897
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 38 times
Been thanked: 296 times

GetMacroCopy

Post by John Doe »

Latest post of the previous page:

Имея через mf.GetMacroCopy доступ ко всем загруженным макросам можно сделать очень многое.
Однако неоднократно сталкивался с тем, что при работе с этими "сырыми" макросам в разных местах приходится повторно реализовывать логику, уже существующую в LuaMacro.

Приводя к некоему общему знаменателю те потребности, что уже не раз возникали, хотелось бы иметь штатную функцию, по заданной клавише отбирающую подходящие макросы, наподобие mf.eval(...,2), но с расширенными возможностями.
Что конкретно требуется:
- искать макрос, не запуская.
- опционально, возвращать все подходящие макросы, минуя меню конфликта
- опционально, при подборе включать в список макросы и с низким приоритетом (отдельно: те, условия/флаги которых не сработали)
(последнее связано с https://bugs.farmanager.com/view.php?id=3684, но не только)

Назовём её, например, mf.MatchMacro.
User avatar
John Doe
Бюрократ
Posts: 12897
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 38 times
Been thanked: 296 times

GetMacroCopy

Post by John Doe »

Отдельное пожелание: функция (скажем, ChooseMacro), формирующая меню макросов, аналогичное меню конфликта макросов.
Аргументом этой функции может служить список макросов, полученный mf.MatchMacro.
Это может быть не самостоятельная функция, а метод объекта.

Это вариант решения https://bugs.farmanager.com/view.php?id=3684, и потенциально других подобных задач.
Например, таким образом было бы делом простого макроса запросить у пользователя клавишу, и вывести на экран список подходящих макросов, для изучения/редактирования/запуска.
User avatar
John Doe
Бюрократ
Posts: 12897
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 38 times
Been thanked: 296 times

GetMacroCopy

Post by John Doe »

Ещё одна задача, которую приходится переизобретать, это преобразование имён клавиш farkey <-> macrokey (разница в указании левосторонних модификаторов)

Возможно стоит завести отдельную таблицу Macro, где собрать соответствующие функции.
Post Reply

Return to “Обсуждение макросов”