Было бы здорово, если бы API Фара для колоночных плагинов был таков, чтобы его (один и тот же) реализовывали и хост-плагин, и индивидуальные плагины. Тогда из них можно было бы строить иерархии без пересборки, просто конфигурированием.John Doe wrote:Без всего этого пользоваться с0-плагинами будет неудобно. Но и пихать все эти настройки в фар тоже не годится.
- Допустим есть штук 10 с0-плагинов. Каждый из них по разу дёрнет все файлы на панели. Представляю тормоза.
- Допустим, в каждом можно сделать ограничение по маске. Значит каждый из них должен иметь свой диалог настройки.
- Очевидно, что 10 плагинов нам одновременно не нужны, и более того, плагины типа md5_c0 будут неслабо тормозить.
Значит надо какой-то удобный способ как-то динамически активировать/дезактивировать плагины.- Отдельную информацию удобно видеть в нескольких разных колонках, а некоторую наоборот - в одной колонке.
Причём иногда в одной колонке хотелось бы видеть информацию от разных плагинов, по шаблону.
В этом свете мысль Maximus5 о хост-плагине и субплагинах мне представляется наиболее правильным архитектурным решением.
Пример такого подхода можно увидеть в плагине PictureView 2 mod.
Применительно к с0-хост-плагину это означало бы следующее: для всех настроек всех субплагинов было бы одно место, откуда можно было бы рулить и масками, и шаблонами, и отображаемыми колонками, и остальными настройками.
А остальных настроек предвидится тоже немало, учитывая необходимость многопоточности, кэширования данных, не говоря уже о (потенциальных) настройках QView.
Хост-плагины и субплагины: универсализация
- HaRT
- Moderator
- Posts: 10822
- Joined: Tue 30 Aug, 2005 17:21
- Has thanked: 221 times
- Been thanked: 358 times
Хост-плагины и субплагины: универсализация
Last edited by HaRT on Thu 01 Jan, 1970 01:00, edited 0 times in total.
Reason: Тема отделена от "Универсальные Custom-колонки, предоставляемые плагинами"
Reason: Тема отделена от "Универсальные Custom-колонки, предоставляемые плагинами"
Фар есть инструмент, а не нянька. © 2009 DrKnS
- John Doe
- Бюрократ
- Posts: 13807
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 73 times
- Been thanked: 426 times
- Contact:
Re: Универсальные Custom-колонки, предоставляемые плагинами
В простейшем случае API фара этому никак не мешает, информацию от разных плагинов он просто склеит в одну строку, или выведет в разные колонки (потенциально).HaRT wrote:Было бы здорово, если бы API Фара для колоночных плагинов был таков, чтобы его (один и тот же) реализовывали и хост-плагин, и индивидуальные плагины. Тогда из них можно было бы строить иерархии без пересборки, просто конфигурированием.
К сожалению это не позволит строить иерархии без пересборки, боюсь API фара вообще на это не расчитано. (Конечно возможны хаки, вспомним например Underscore).
- HaRT
- Moderator
- Posts: 10822
- Joined: Tue 30 Aug, 2005 17:21
- Has thanked: 221 times
- Been thanked: 358 times
Re: Универсальные Custom-колонки, предоставляемые плагинами
Ну может кто из уполномоченных изменять API ещё включится в дискуссию, пока оно всё на столь ранней стадии.John Doe wrote:боюсь API фара вообще на это не расчитано.HaRT wrote:Было бы здорово, если бы API Фара для колоночных плагинов был таков, чтобы его (один и тот же) реализовывали и хост-плагин, и индивидуальные плагины. Тогда из них можно было бы строить иерархии без пересборки, просто конфигурированием.
Фар есть инструмент, а не нянька. © 2009 DrKnS
Re: Универсальные Custom-колонки, предоставляемые плагинами
развивая мысль о хост-плагине.
без пересборки можно было бы жить, если в апи фара будет возможность указать, что GetCustomDataW нужно дергать только для тех плагинов, у которых есть флаг (например) PF_CUSTOMCOLUMNHOST.
без пересборки можно было бы жить, если в апи фара будет возможность указать, что GetCustomDataW нужно дергать только для тех плагинов, у которых есть флаг (например) PF_CUSTOMCOLUMNHOST.
- HaRT
- Moderator
- Posts: 10822
- Joined: Tue 30 Aug, 2005 17:21
- Has thanked: 221 times
- Been thanked: 358 times
Re: Универсальные Custom-колонки, предоставляемые плагинами
Зачем вносить в API Фара знание о каком-то там хост-плагине? Фар пусть дёргает у всех, кто готов информацию предоставить. А уж откуда они её возьмут — их личное дело: то ли вычитают из самого файла, то ли опросят под-модули (у которых какое-то другое расширение имени модуля, нежели DLL).Maximus5 wrote:развивая мысль о хост-плагине.
без пересборки можно было бы жить, если в апи фара будет возможность указать, что GetCustomDataW нужно дергать только для тех плагинов, у которых есть флаг (например) PF_CUSTOMCOLUMNHOST.
Фар есть инструмент, а не нянька. © 2009 DrKnS
- John Doe
- Бюрократ
- Posts: 13807
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 73 times
- Been thanked: 426 times
- Contact:
Re: Универсальные Custom-колонки, предоставляемые плагинами
Для этого надо чтобы под-модули были специальным образом организованы, т.е. отличались бы или расширением, или API.HaRT wrote:Зачем вносить в API Фара знание о каком-то там хост-плагине? Фар пусть дёргает у всех, кто готов информацию предоставить. А уж откуда они её возьмут — их личное дело: то ли вычитают из самого файла, то ли опросят под-модули (у которых какое-то другое расширение имени модуля, нежели DLL).
А Maximus5 предлагает намного более интересную и перспективную идею, которую можно использовать далеко не только для "колоночных" плагинов.
- HaRT
- Moderator
- Posts: 10822
- Joined: Tue 30 Aug, 2005 17:21
- Has thanked: 221 times
- Been thanked: 358 times
Re: Универсальные Custom-колонки, предоставляемые плагинами
Да, именно это я и называю конфигурированием.John Doe wrote:Для этого надо чтобы под-модули были специальным образом организованы
Расширением или местоположением — запросто. Лишь бы хост-плагин знал, где их найти. А вот API хорошо бы сделать таким, чтобы колоночный плагин можно было воткнуть хоть непосредственно в Фар, хоть в хост–переходник.John Doe wrote:т.е. отличались бы или расширением, или API.
А вот я пока почему-то не вижу в ней ни интересности, ни перспективности. Кто бы объяснил?John Doe wrote:А Maximus5 предлагает намного более интересную и перспективную идею, которую можно использовать далеко не только для "колоночных" плагинов.
И, повторюсь, не должен фар знать ни про какие сторонние хост-плагины. Это было бы признаком плохой архитектуры. Если нужно более подробное обоснование, оно потребует у меня некоторого труда.
Фар есть инструмент, а не нянька. © 2009 DrKnS
- John Doe
- Бюрократ
- Posts: 13807
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 73 times
- Been thanked: 426 times
- Contact:
Re: Универсальные Custom-колонки, предоставляемые плагинами
Как вижу я, со стороны пользователя.HaRT wrote:И, повторюсь, не должен фар знать ни про какие сторонние хост-плагины. Это было бы признаком плохой архитектуры. Если нужно более подробное обоснование, оно потребует у меня некоторого труда.
Фар ничего особо не знает про хостплагины, но различает у всех плагинов особый флаг, при наличии которого не трогает плагин.
И вот этот вот флаг устанавливается не сам по себе, а хостплагином, который таким образом берёт плагин под своё крыло.
Поясню, что это даёт, для разнообразия на примере другой темы: HIGHLY EXPERIMENTAL. Меню выбора архивного плагина.
Имеем фар, настроенный, с несколькими архивными плагинами. При входе в архив (OpenFilePlugin) соответственно получаем меню.
Теперь просто добавляем в фар некий хостплагин, и он прозрачно для меня берёт на себя управление всеми остальными архивными плагинами, вызывая их, например, в зависимости от расширения файла.
В результате все архивные плагины становятся как-бы субплагинами, без какой-либо необходимости как-то переименовывать длл-ки: все действия производятся в диалоге конфигурации хост-плагина.
Re: Универсальные Custom-колонки, предоставляемые плагинами
Поясню, почему я про флаг начал.
Модуль, возвращающий (извлекающий) информацию сам по себе может быть полноценным фар-плагином (предоставляющим и другие функции).
Чтобы он мог полноценно пользоваться фар-апи (в частности ресурсами языковых файлов) его должен считать за плагин сам фар..
Сходу не скажу, но вроде если не считать ресурсов, других ограничениий вроде не будет (это если вместо dll им дать расширение module)
Модуль, возвращающий (извлекающий) информацию сам по себе может быть полноценным фар-плагином (предоставляющим и другие функции).
Чтобы он мог полноценно пользоваться фар-апи (в частности ресурсами языковых файлов) его должен считать за плагин сам фар..
Сходу не скажу, но вроде если не считать ресурсов, других ограничениий вроде не будет (это если вместо dll им дать расширение module)
- HaRT
- Moderator
- Posts: 10822
- Joined: Tue 30 Aug, 2005 17:21
- Has thanked: 221 times
- Been thanked: 358 times
Re: Универсальные Custom-колонки, предоставляемые плагинами
Важное соображение. Мне надо ещё подумать.Maximus5 wrote:Модуль, возвращающий (извлекающий) информацию сам по себе может быть полноценным фар-плагином (предоставляющим и другие функции).
Чтобы он мог полноценно пользоваться фар-апи (в частности ресурсами языковых файлов) его должен считать за плагин сам фар.
Фар есть инструмент, а не нянька. © 2009 DrKnS
- John Doe
- Бюрократ
- Posts: 13807
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 73 times
- Been thanked: 426 times
- Contact:
Re: Универсальные Custom-колонки, предоставляемые плагинами
Maximus5
Ну а что если действительно обобщить идею хостплагинов?
Ну а что если действительно обобщить идею хостплагинов?
Re: Универсальные Custom-колонки, предоставляемые плагинами
В смысле OpenFilePlugin (вход в архив) и plugin selection?
Мне пока не кажется такое возможным и рациональным.
Плагин может обрабатывать сотни расширений, которые могут меняться в процессе... пример - тот же picview.
Мне пока не кажется такое возможным и рациональным.
Плагин может обрабатывать сотни расширений, которые могут меняться в процессе... пример - тот же picview.
- John Doe
- Бюрократ
- Posts: 13807
- Joined: Wed 27 Apr, 2005 20:42
- Has thanked: 73 times
- Been thanked: 426 times
- Contact:
Re: Универсальные Custom-колонки, предоставляемые плагинами
OpenFilePlugin - в первую очередь.Maximus5 wrote:В смысле OpenFilePlugin (вход в архив) и plugin selection?
Рациональность довольно детально изложена по ссылке выше (HIGHLY EXPERIMENTAL). Вкратце: ускорить "нюханье" файла и повысить гибкость выбора плагина.Maximus5 wrote:Мне пока не кажется такое возможным и рациональным.
На счёт возможности - чем это отличается от предложенного выше флага? Ну будет несколько подобных флагов.
PictureView - сам себе хост, о нём речь не идёт.Maximus5 wrote:Плагин может обрабатывать сотни расширений, которые могут меняться в процессе... пример - тот же picview.
Под хостом были бы только те плагины, которые нужно.