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

Здесь обсуждается всё, что касается макросов.
buniak_a_h
Posts: 1232
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 88 times
Been thanked: 73 times
Contact:

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

Post by buniak_a_h » Fri 08 Nov, 2019 02:48

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

TablePanel.005.lua.7z
(21.21 KiB) Downloaded 10 times
Last edited by buniak_a_h on Fri 22 Nov, 2019 01:31, edited 7 times in total.

buniak_a_h
Posts: 1232
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 88 times
Been thanked: 73 times
Contact:

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

Post by buniak_a_h » Fri 08 Nov, 2019 04:53

С переходом "наверх" вопрос, кажется, разрешился заданием в процедуре открытия панели CurDir . Буду пробовать...

buniak_a_h
Posts: 1232
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 88 times
Been thanked: 73 times
Contact:

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

Post by buniak_a_h » Fri 08 Nov, 2019 07:34

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

User avatar
zg
zero-gravity
Posts: 5651
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 114 times
Contact:

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

Post by zg » Fri 08 Nov, 2019 12:03

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 я тоже у вас не вижу.
Last edited by zg on Fri 08 Nov, 2019 12:07, edited 1 time in total.

User avatar
John Doe
Бюрократ
Posts: 12527
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 33 times
Been thanked: 234 times

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

Post by John Doe » Fri 08 Nov, 2019 12:27

@buniak_a_h
Вот тут можно найти некоторые примеры работы с панелями из lua: viewtopic.php?f=60&t=8334

buniak_a_h
Posts: 1232
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 88 times
Been thanked: 73 times
Contact:

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

Post by buniak_a_h » Fri 08 Nov, 2019 12:47

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: 12527
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 33 times
Been thanked: 234 times

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

Post by John Doe » Fri 08 Nov, 2019 13:07

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

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

buniak_a_h
Posts: 1232
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 88 times
Been thanked: 73 times
Contact:

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

Post by buniak_a_h » Fri 08 Nov, 2019 14:22

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: 12527
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 33 times
Been thanked: 234 times

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

Post by John Doe » Fri 08 Nov, 2019 17:41

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

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

buniak_a_h
Posts: 1232
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 88 times
Been thanked: 73 times
Contact:

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

Post by buniak_a_h » Mon 18 Nov, 2019 02:51

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

User avatar
zg
zero-gravity
Posts: 5651
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 114 times
Contact:

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

Post by zg » Mon 18 Nov, 2019 03:42

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

buniak_a_h
Posts: 1232
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 88 times
Been thanked: 73 times
Contact:

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

Post by buniak_a_h » Mon 18 Nov, 2019 07:18

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: 5651
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 114 times
Contact:

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

Post by zg » Mon 18 Nov, 2019 12:08

он вызывается и при активной qview или панели информации, плэтому скорее всего так сделано. возможно это неправильно.

buniak_a_h
Posts: 1232
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 88 times
Been thanked: 73 times
Contact:

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

Post by buniak_a_h » Mon 18 Nov, 2019 13:00

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

buniak_a_h
Posts: 1232
Joined: Sat 20 Apr, 2013 00:17
Location: Питер
Has thanked: 88 times
Been thanked: 73 times
Contact:

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

Post by buniak_a_h » Wed 20 Nov, 2019 23:41

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-а??? Больше на глюк похоже…

User avatar
zg
zero-gravity
Posts: 5651
Joined: Tue 15 Mar, 2005 17:36
Location: riga
Been thanked: 114 times
Contact:

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

Post by zg » Thu 21 Nov, 2019 01:27

buniak_a_h wrote:
Wed 20 Nov, 2019 23:41
На самом деле логику "что перехватывать, а что - нет" мне не понять. Почему-то панельный "скрипто-плагин" не реагирует на Ins и (внимание!) Add, но реагирует на Subtract и Multiply… Вот чем Subtract лучше Add-а??? Больше на глюк похоже…
больше похоже, что у вас на них макросы висят, у меня всё приходит.

Post Reply

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