Переход по вложенным таблицам в панели (PanelModule)

Здесь обсуждается всё, что касается макросов.
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

Переход по вложенным таблицам в панели (PanelModule)

Post by buniak_a_h »

Здравствуйте, уважаемые Знатоки.
Попробовал я навигацию по таблицам, представленную в виде панели (если элемент таблицы - таблица, то на панели она представлена папкой; если функция - у неё выставляется атрибут v - virtual (вроде, не поддерживается виндой); при соответствующей настройке групп раскраски они выглядят как исполняемые файлы.

TablePanel.v1_0_6.lua.7z
Версия 1.0.6
(22.74 KiB) Downloaded 78 times
Last edited by buniak_a_h on Fri 17 Jan, 2020 13:43, edited 8 times in total.
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

Переход по вложенным таблицам в панели (PanelModule)

Post by buniak_a_h »

С переходом "наверх" вопрос, кажется, разрешился заданием в процедуре открытия панели CurDir . Буду пробовать...
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

Переход по вложенным таблицам в панели (PanelModule)

Post by buniak_a_h »

Переход "наверх" наполовину решён. У меня остались два вопроса, которые (а) важные и (б) я отчаялся найти решение.
1. Переход наверх решён только переходом в "..". А как поймать CtrlPgUp? Точнее, по этой клавише вызывается та же функция GetFindData с теми же параметрами, что и при Enter на каталоге. И как отличить одно от другого - я не понимаю...
2. Когда этот скрипт установлен, то Enter на файле (в обычной дисковой панели!), на который не повешена ассоциация, вызывается Analyse. Также Analyse вызывается при Enter-е внутри архивов га файле. А в панели, которая делается в этом макросе, Analyse не вызывается! Идея была такая, что Enter на функции должен её вызывать. Как мне понять, что кликнули на элементе - не папке?
User avatar
zg
zero-gravity
Posts: 6016
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Переход по вложенным таблицам в панели (PanelModule)

Post by zg »

buniak_a_h wrote: Fri 08 Nov, 2019 07:342. Когда этот скрипт установлен, то Enter на файле (в обычной дисковой панели!), на который не повешена ассоциация, вызывается Analyse. Также Analyse вызывается при Enter-е внутри архивов га файле. А в панели, которая делается в этом макросе, Analyse не вызывается!
Analyse вызывается для реального файла. вы GetFiles не реализуете, far файл получить не может, соответственно Analyse и не вызывается.
buniak_a_h wrote: Fri 08 Nov, 2019 07:341. Переход наверх решён только переходом в "..". А как поймать CtrlPgUp? Точнее, по этой клавише вызывается та же функция GetFindData с теми же параметрами, что и при Enter на каталоге. И как отличить одно от другого - я не понимаю...
реализации SetDirectory я тоже у вас не вижу.
Last edited by zg on Fri 08 Nov, 2019 12:07, edited 1 time in total.
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Переход по вложенным таблицам в панели (PanelModule)

Post by John Doe »

@buniak_a_h
Вот тут можно найти некоторые примеры работы с панелями из lua: viewtopic.php?f=60&t=8334
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

Переход по вложенным таблицам в панели (PanelModule)

Post by buniak_a_h »

John Doe wrote: Fri 08 Nov, 2019 12:27 @buniak_a_h
Вот тут можно найти некоторые примеры работы с панелями из lua: viewtopic.php?f=60&t=8334
Я, видимо, чего-то не понял. Там ссылка, при переходе "Invalid plugin ID" (или что-то в таком роде). Поиск пословам Macro и panel - тоже ничего не даёт. На гитхабе исходники - как-то не хочется самому компилить в незнакомой среде.
Но главное я понял: я в очередной раз изобрёл велосипед и открыл Америку (хотя искал MacroPanel по форуму и не нашёл…)
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Переход по вложенным таблицам в панели (PanelModule)

Post by John Doe »

buniak_a_h wrote: Fri 08 Nov, 2019 12:47 На гитхабе исходники - как-то не хочется самому компилить в незнакомой среде.
Там луа-исходник.
Можно посмотреть некоторые приёмы работы с панелями без всякой компиляции.

Но можно преобразовать и в рабочий макрос, добавив определение PanelModule.
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

Переход по вложенным таблицам в панели (PanelModule)

Post by buniak_a_h »

John Doe wrote: Fri 08 Nov, 2019 13:07 Но можно преобразовать и в рабочий макрос, добавив определение PanelModule.
Спасибо. Видимо, мозги совсем высохли - для меня слишком короткая инструкция.
1. Что такое "определение PanelModule" я не знаю. Вызов PanelModule? И что в параметре?
2. Попробовал тупо скопировать папку macropanel в scripts. Результат фатальный: перестали работать все мои скрипты.И Macro:load не помогло.
Ладно, видимо, тема не интересная. Хотя мне бы понравилось намного больше, чем TableView и LuaExplirer…
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Переход по вложенным таблицам в панели (PanelModule)

Post by John Doe »

Вам надо преобразовать плагин macro panel в макрос.
Плагин экспортирует свои функции в таблице export.
Макрос то же самое делает через определение PanelModule (luamacro manual).

Если тупо скопировать файл плагина к макросам - он запишет свои функции в экспорт luamacro, и всё перестанет работать.
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

Переход по вложенным таблицам в панели (PanelModule)

Post by buniak_a_h »

Возник вопрос. Помогите, пожалуйста!
Написал панельный скрипт. У него есть процедура mod.ProcessPanelInput - для перехвата кнопочек. все перехватываются, кроме AltF7. Для поиска элемента пришлось назначать другую клавишу. Хотя по смыслу очень хотелось бы AltF7, но по нажатию Alt7 ProcessPanelInput даже не вызывается…
User avatar
zg
zero-gravity
Posts: 6016
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Переход по вложенным таблицам в панели (PanelModule)

Post by zg »

buniak_a_h wrote: Mon 18 Nov, 2019 02:51все перехватываются, кроме AltF7.
нет, не перехватывается много чего, например alt-f1, alt-f2, f9, shift-f10.
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

Переход по вложенным таблицам в панели (PanelModule)

Post by buniak_a_h »

zg wrote: Mon 18 Nov, 2019 03:42
buniak_a_h wrote: Mon 18 Nov, 2019 02:51все перехватываются, кроме AltF7.
нет, не перехватывается много чего, например alt-f1, alt-f2, f9, shift-f10.
Ну... Перечисленные Вами клавиши вызывают функции, от плагина не зависящие. Т.е. имеющие смысл на любой панели. А AltF7 - поиск чего-то - для панели, не описывающей файлы, смысла не имеет.
Грустно, жаль... :cry:
User avatar
zg
zero-gravity
Posts: 6016
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 185 times
Contact:

Переход по вложенным таблицам в панели (PanelModule)

Post by zg »

он вызывается и при активной qview или панели информации, плэтому скорее всего так сделано. возможно это неправильно.
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

Переход по вложенным таблицам в панели (PanelModule)

Post by buniak_a_h »

zg, Спасибо. Я обошёл макросом, т.к. нашёл, как из APanel-и "добраться" до Guid-а модуля.
Интересующимся: обновлю через полчасика первое сообщение с панельным представлением структуры _G с вычислением функций и "заходом" в результаты, если они - таблицы. Красиво получается, но не готово:
  1. Удаление элемента (таблицы)
  2. Создание таблицы
  3. Поиск с переходом. Поиск работает, но т.к. он "фоновый" то результатов я пока не получаю... Если знаете как сделать - ответьте, пожалуйста, здесь
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

Переход по вложенным таблицам в панели (PanelModule)

Post by buniak_a_h »

zg wrote: Mon 18 Nov, 2019 03:42
buniak_a_h wrote: Mon 18 Nov, 2019 02:51все перехватываются, кроме AltF7.
нет, не перехватывается много чего, например alt-f1, alt-f2, f9, shift-f10.
На самом деле логику "что перехватывать, а что - нет" мне не понять. Почему-то панельный "скрипто-плагин" не реагирует на Ins и (внимание!) Add, но реагирует на Subtract и Multiply… Вот чем Subtract лучше Add-а??? Больше на глюк похоже…
Post Reply

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