API вызовы при работе с панельным плагином

Место, где разработчики плагинов могут поделиться своим опытом.
Post Reply
User avatar
techie
Posts: 795
Joined: Mon 03 Oct, 2005 22:42
Has thanked: 35 times
Been thanked: 6 times

API вызовы при работе с панельным плагином

Post by techie »

https://api.farmanager.com/ru/panelapi/about.html пустоват, а хотелось бы понять общую картину работы панельного плагина на примере, скажем навигатора по .zip архивам.

Когда курсор стоит на .zip файле и пользователь нажимает Enter (или CtrlPgDn?), вызывается AnalyzeW у плагина.

Если AnalyzeW вернул NULL, то дальше ничего с этим плагином не происходит.

Если AnalyzeW вернул рандомное число, то.. собсна, а что проиходит дальше?
2useven10
Posts: 5192
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 309 times

API вызовы при работе с панельным плагином

Post by 2useven10 »

Дальше зовётся OpenW с OpenFrom=OPEN_ANALYZE и этим рандомным числом.
Last edited by 2useven10 on Sun 18 Apr, 2021 07:24, edited 1 time in total.
User avatar
techie
Posts: 795
Joined: Mon 03 Oct, 2005 22:42
Has thanked: 35 times
Been thanked: 6 times

API вызовы при работе с панельным плагином

Post by techie »

Вызывается OpenW и плагин опять возвращает рандомное число, теперь уже другое.

Если плагин хочет открыть панель, что дальше происходит?
2useven10
Posts: 5192
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 309 times

API вызовы при работе с панельным плагином

Post by 2useven10 »

Дальше вести курсы написания плагинов у меня и желания нет и опыт невелик.
Но после OpenW плагин вроде как уже открыл панель.
Насколько я понимаю, это ваше 'рандомное число, теперь уже другое'
будет приходить в различные реализованные вашим плагином функции в info->hPanel.
Last edited by 2useven10 on Sun 18 Apr, 2021 13:29, edited 1 time in total.
User avatar
techie
Posts: 795
Joined: Mon 03 Oct, 2005 22:42
Has thanked: 35 times
Been thanked: 6 times

API вызовы при работе с панельным плагином

Post by techie »

Непонятно как плагин открыл панел, если он ничего не вызвал и никаких "файлов" для неё не передал.
Shmuel
Posts: 6815
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 526 times

API вызовы при работе с панельным плагином

Post by Shmuel »

techie, начинать надо с изучения панельных экспортируемых функций.
Следующая после OpenW вызывается GetFindDataW.
Можно взять сорсы какого-нибудь панельного плагина и посмотреть реализацию (например TmpPanel или Arclite).
Нет смысла задавать вопросы на форуме, если эти функции не изучены (а то, что они вами не изучены, очевидно).
User avatar
John Doe
Бюрократ
Posts: 13801
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 72 times
Been thanked: 425 times
Contact:

API вызовы при работе с панельным плагином

Post by John Doe »

viewforum.php?f=55
Уроки в самом низу.
https://t.me/FarManager — Telegram чат
User avatar
techie
Posts: 795
Joined: Mon 03 Oct, 2005 22:42
Has thanked: 35 times
Been thanked: 6 times

API вызовы при работе с панельным плагином

Post by techie »

Shmuel wrote: Sun 18 Apr, 2021 14:20 Следующая после OpenW вызывается GetFindDataW.
Ok. Я полагаю, если плагин после AnalyzeW и "OpenW c OpenFrom=OPEN_ANALYZE" вернул число, то панель сама создаётся. Т.е. плагину ничего вызывать не надо. Об этом нигде не написано, а я не такой умный, чтобы сам об этом догадаться читая исходники.

Дальше у плагина Far вызывает GetFindDataW для получения списка файлов. Плагин возвращает 1 если всё ок.

Всё, этого достаточно? Или надо ещё обязательно FreeFindDataW делать?
2useven10
Posts: 5192
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 309 times

API вызовы при работе с панельным плагином

Post by 2useven10 »

techie wrote: Sun 18 Apr, 2021 17:45 Об этом нигде не написано, а я не такой умный, чтобы сам об этом догадаться читая исходники.
Даже не такой чтобы имя функции гуглу скормить?
Может весеннее обострение... у всех по-разному.
У меня в доме вторую неделю интеренет провода на лестничной клетке рвут с корнем через день...

https://api.farmanager.com/ru/exported_ ... index.html
User avatar
buniak_a_h
Posts: 4234
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 642 times
Contact:

API вызовы при работе с панельным плагином

Post by buniak_a_h »

techie wrote: Sun 18 Apr, 2021 17:45 Всё, этого достаточно?
Это Вы спросили ДО того, как посмотрели уроки, или даже таких уроков недостаточно?
User avatar
techie
Posts: 795
Joined: Mon 03 Oct, 2005 22:42
Has thanked: 35 times
Been thanked: 6 times

API вызовы при работе с панельным плагином

Post by techie »

2useven10 wrote: Sun 18 Apr, 2021 19:05 https://api.farmanager.com/ru/exported_ ... index.html
Это я видел. Там не сказано, когда и кем создаётся панель. Думал Sequence Diagram нарисовать, но сейчас уже сомневаюсь, что хочу на это время тратить. Весеннее обострение, да.
Post Reply

Return to “Разработка плагинов”