[HOW] Макросы для панелей определённых плагинов

Столкнулись с проблемой в использовании макросов? Здесь можно получить помощь.
DiRTy_GaRRy
Posts: 705
Joined: Tue 05 Apr, 2005 09:26
Been thanked: 3 times
Contact:

[HOW] Макросы для панелей определённых плагинов

Post by DiRTy_GaRRy »

Можно ли написать клавиатурный макрос так, что бы он срабатывал только в панели определённого плагина? Конкретно, нужен макрос (допустим на Ctrl+Shift+F6), который будет срабатывать только в панели ftp плагина, причем, когда на ней содержимое папки ftp сервера, а не список серверов.
Ы?
User avatar
Zeroes
Мультикопипастер Броадкастер
Posts: 570
Joined: Wed 16 Mar, 2005 20:53
Location: Gomel \ Belarus
Has thanked: 1 time
Been thanked: 3 times
Contact:

Post by Zeroes »

можно.

вешаем на F6
$If (!CmdLine.Empty) Esc $End CtrlF %N=index(CmdLine.Value,\"ftp:\"); Esc $If (%N==0 || %N==1) ShiftF6 $Else F6 $End


оно?
--- Zeroes & Ones ---
User avatar
Zeroes
Мультикопипастер Броадкастер
Posts: 570
Joined: Wed 16 Mar, 2005 20:53
Location: Gomel \ Belarus
Has thanked: 1 time
Been thanked: 3 times
Contact:

Post by Zeroes »

А если надо сохранить cmd строку то юзаем следующее:

Сохранение ком. строки:
$If (!CmdLine.Empty) %Flg_Cmd=1; $While (!CmdLine.Eof) %Num=%Num+1; CtrlD $End CtrlEnd $IClip CtrlIns Esc $End

Восстановление ком. строки:
$If (%Flg_Cmd==1) ShiftIns $While (%Num!=0) %Num=%Num-1; CtrlS $End $End
--- Zeroes & Ones ---
DiRTy_GaRRy
Posts: 705
Joined: Tue 05 Apr, 2005 09:26
Been thanked: 3 times
Contact:

Post by DiRTy_GaRRy »

Zeroes, хм.. а где я могу почитать поподробнее про такие навороченные макросы? В стандартном хелпе практически ничего нет. Мне не совсем понятно как работать с макросом из второго твоего поста, так как этот макрос разделён на две части.
Ы?
User avatar
Zeroes
Мультикопипастер Броадкастер
Posts: 570
Joined: Wed 16 Mar, 2005 20:53
Location: Gomel \ Belarus
Has thanked: 1 time
Been thanked: 3 times
Contact:

Post by Zeroes »

см сюда.
http://forum.farmanager.com/viewtopic.php?t=30&start=0

и вообще весь раздел про макросы.

а насчет объединения
1часть +чтото делаешь что нужно+ 2часть.
--- Zeroes & Ones ---
DiRTy_GaRRy
Posts: 705
Joined: Tue 05 Apr, 2005 09:26
Been thanked: 3 times
Contact:

Post by DiRTy_GaRRy »

Zeroes, ок, спасибо, но я уже сам разобрапся. Но такое определение панели плагина, всё равно, через одно место. ;)
Ы?
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 8 times

Post by Skirda »

DiRTy_GaRRy wrote:Но такое определение панели плагина, всё равно, через одно место. ;)
Предложения?
User avatar
WARP ItSelf
Самый умный
Posts: 1011
Joined: Tue 15 Mar, 2005 23:19
Contact:

Post by WARP ItSelf »

Реальное предложение дать каждому плагину по гуиду и дать возможность узнать не только принадлежит ли панель плагину, но и гуид плагина. Но это я так, не в тему встрял, затыкаюсь. :roll:
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 8 times

Post by Skirda »

WARP ItSelf - нууу. Эт идеал :-)
Сейчас можно отдать поле PluginInfo.PluginMenuStrings (или некоторые поля из OpenPluginInfo), но в этом случае универсальности само собой не получится - здесь все будет зависит от языка ;-)
Gleb Kozyrev
Posts: 155
Joined: Thu 12 May, 2005 14:27
Location: Киев
Contact:

Post by Gleb Kozyrev »

А что, если в качестве промежуточного решения отдать имя dll этого плагина?
DiRTy_GaRRy
Posts: 705
Joined: Tue 05 Apr, 2005 09:26
Been thanked: 3 times
Contact:

Post by DiRTy_GaRRy »

Сразу скажу, что именно FAR-го API не знаю. Я бы отдавал некое frendly name (farftp, proxyftp, postpacro итд итп), которое бы идентифицировало плагин. С гуидом, думаю, это не очень хорошая идея, так как совершенно не наглядно (представьте себе макрос, где парочку раз встречается гуид, мясо). Так же было бы неплохо сделать возможность отдачи плагином текущего состояния/режима, то есть будет некое целочисленное (строковое?) поле, которое будет возвращать, что , допустим, ftp плагин находится состоянии списка ftp серверов, просмотра настроек сервера, просмотра содержимого сервера. Эти две опции можно даже вынести в отдельные настройки для макроса, как DisableOutput, EmptyCommandLine итд.

Но всё это, скорее всего, требует серьёзных доработок как со стороны фара, так и со стороны плагинов. :(
Ы?
User avatar
4ekucT
Posts: 507
Joined: Tue 05 Apr, 2005 23:44
Location: Беларусь, Минск

Post by 4ekucT »

Тут видимо проблемма в том чтоб не меня АПИ добиться определения работы плагина через макрос. Изменить апи конечно можно, но плугины то не перекомпилируешь....
User avatar
Tim Sobolev
Posts: 729
Joined: Fri 01 Apr, 2005 14:46
Location: Украина
Has thanked: 1 time
Been thanked: 7 times

Post by Tim Sobolev »

Так можно просто реализовать отдачу того же Friendly String через API FAR, на старых плагинах это никак не отобразится, а новые со временем оновятся...
User avatar
4ekucT
Posts: 507
Joined: Tue 05 Apr, 2005 23:44
Location: Беларусь, Минск

Post by 4ekucT »

=Tim Sobolev= wrote:Так можно просто реализовать отдачу того же Friendly String через API FAR, на старых плагинах это никак не отобразится, а новые со временем оновятся...
Так в том то и дело что хочется чтоб и на старых работало!
User avatar
Tim Sobolev
Posts: 729
Joined: Fri 01 Apr, 2005 14:46
Location: Украина
Has thanked: 1 time
Been thanked: 7 times

Post by Tim Sobolev »

Частичный выход -- получение префикса плагина...
Post Reply

Return to “Нужна помощь”