Page 1 of 2

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

Posted: Fri 08 Nov, 2019 02:48
by buniak_a_h
Здравствуйте, уважаемые Знатоки.
Попробовал я навигацию по таблицам, представленную в виде панели (если элемент таблицы - таблица, то на панели она представлена папкой; если функция - у неё выставляется атрибут v - virtual (вроде, не поддерживается виндой); при соответствующей настройке групп раскраски они выглядят как исполняемые файлы.

TablePanel.v1_0_6.lua.7z
Версия 1.0.6
(22.74 KiB) Downloaded 5 times

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

Posted: Fri 08 Nov, 2019 04:53
by buniak_a_h
С переходом "наверх" вопрос, кажется, разрешился заданием в процедуре открытия панели CurDir . Буду пробовать...

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

Posted: Fri 08 Nov, 2019 07:34
by buniak_a_h
Переход "наверх" наполовину решён. У меня остались два вопроса, которые (а) важные и (б) я отчаялся найти решение.
1. Переход наверх решён только переходом в "..". А как поймать CtrlPgUp? Точнее, по этой клавише вызывается та же функция GetFindData с теми же параметрами, что и при Enter на каталоге. И как отличить одно от другого - я не понимаю...
2. Когда этот скрипт установлен, то Enter на файле (в обычной дисковой панели!), на который не повешена ассоциация, вызывается Analyse. Также Analyse вызывается при Enter-е внутри архивов га файле. А в панели, которая делается в этом макросе, Analyse не вызывается! Идея была такая, что Enter на функции должен её вызывать. Как мне понять, что кликнули на элементе - не папке?

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

Posted: Fri 08 Nov, 2019 12:03
by zg
buniak_a_h wrote:
Fri 08 Nov, 2019 07:34
2. Когда этот скрипт установлен, то Enter на файле (в обычной дисковой панели!), на который не повешена ассоциация, вызывается Analyse. Также Analyse вызывается при Enter-е внутри архивов га файле. А в панели, которая делается в этом макросе, Analyse не вызывается!
Analyse вызывается для реального файла. вы GetFiles не реализуете, far файл получить не может, соответственно Analyse и не вызывается.
buniak_a_h wrote:
Fri 08 Nov, 2019 07:34
1. Переход наверх решён только переходом в "..". А как поймать CtrlPgUp? Точнее, по этой клавише вызывается та же функция GetFindData с теми же параметрами, что и при Enter на каталоге. И как отличить одно от другого - я не понимаю...
реализации SetDirectory я тоже у вас не вижу.

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

Posted: Fri 08 Nov, 2019 12:27
by John Doe
@buniak_a_h
Вот тут можно найти некоторые примеры работы с панелями из lua: viewtopic.php?f=60&t=8334

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

Posted: Fri 08 Nov, 2019 12:47
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 по форуму и не нашёл…)

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

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

Но можно преобразовать и в рабочий макрос, добавив определение PanelModule.

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

Posted: Fri 08 Nov, 2019 14:22
by buniak_a_h
John Doe wrote:
Fri 08 Nov, 2019 13:07
Но можно преобразовать и в рабочий макрос, добавив определение PanelModule.
Спасибо. Видимо, мозги совсем высохли - для меня слишком короткая инструкция.
1. Что такое "определение PanelModule" я не знаю. Вызов PanelModule? И что в параметре?
2. Попробовал тупо скопировать папку macropanel в scripts. Результат фатальный: перестали работать все мои скрипты.И Macro:load не помогло.
Ладно, видимо, тема не интересная. Хотя мне бы понравилось намного больше, чем TableView и LuaExplirer…

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

Posted: Fri 08 Nov, 2019 17:41
by John Doe
Вам надо преобразовать плагин macro panel в макрос.
Плагин экспортирует свои функции в таблице export.
Макрос то же самое делает через определение PanelModule (luamacro manual).

Если тупо скопировать файл плагина к макросам - он запишет свои функции в экспорт luamacro, и всё перестанет работать.

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

Posted: Mon 18 Nov, 2019 02:51
by buniak_a_h
Возник вопрос. Помогите, пожалуйста!
Написал панельный скрипт. У него есть процедура mod.ProcessPanelInput - для перехвата кнопочек. все перехватываются, кроме AltF7. Для поиска элемента пришлось назначать другую клавишу. Хотя по смыслу очень хотелось бы AltF7, но по нажатию Alt7 ProcessPanelInput даже не вызывается…

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

Posted: Mon 18 Nov, 2019 03:42
by zg
buniak_a_h wrote:
Mon 18 Nov, 2019 02:51
все перехватываются, кроме AltF7.
нет, не перехватывается много чего, например alt-f1, alt-f2, f9, shift-f10.

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

Posted: Mon 18 Nov, 2019 07:18
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:

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

Posted: Mon 18 Nov, 2019 12:08
by zg
он вызывается и при активной qview или панели информации, плэтому скорее всего так сделано. возможно это неправильно.

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

Posted: Mon 18 Nov, 2019 13:00
by buniak_a_h
zg, Спасибо. Я обошёл макросом, т.к. нашёл, как из APanel-и "добраться" до Guid-а модуля.
Интересующимся: обновлю через полчасика первое сообщение с панельным представлением структуры _G с вычислением функций и "заходом" в результаты, если они - таблицы. Красиво получается, но не готово:
  1. Удаление элемента (таблицы)
  2. Создание таблицы
  3. Поиск с переходом. Поиск работает, но т.к. он "фоновый" то результатов я пока не получаю... Если знаете как сделать - ответьте, пожалуйста, здесь

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

Posted: Wed 20 Nov, 2019 23:41
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-а??? Больше на глюк похоже…