Универсальные Custom-колонки, предоставляемые плагинами

Место, где разработчики плагинов могут поделиться своим опытом.
User avatar
John Doe
Бюрократ
Posts: 12247
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 32 times
Been thanked: 162 times

Универсальные Custom-колонки, предоставляемые плагинами

Post by John Doe » Sun 01 Feb, 2009 22:40

Связанные темы:
GetCustomDataW и FreeCustomDataW (обсуждение существующего API)
API custom-колонок (lort)
Хост-плагины и субплагины

syrompe
Posts: 3
Joined: Tue 03 Feb, 2009 08:01

Custom колонки плагинов

Post by syrompe » Wed 04 Feb, 2009 22:21

Arty wrote:Custom колонки пригодились бы при создании некоторых плагинов/модификации существующих.
Например, http://bugs.farmanager.com/view.php?id=723(мой брат заюзал здесь грязный хак :twisted: )
Конечно можно использовать для этой цели отдельную панель плагина, но это не очень удобно и приходится вот так извращаться 8) .
А вообще идея с SVN неплоха, иногда очень не хватает этого в FAR.
Вообщето, насколько я понимаю плагин может передать кастом колонки (CustomColumnData у структуры PluginPanelItem ).

Проблемма в том, что эти колонки нельзя использовать для настройки подсветки файлов (files highlighting).

Мне бы хотелось получить в итоге следующее:

1. Добавить к плагинам экспортируемую функцию, что-то типа GetHighlightSettings, с помощью которой плагин мог бы сказать как он хочет подсвечивать файлы (и при этом мог указать свои кастом колонки С0..С9).

2. Разделить настройку цветов имени файла и префикса(Optional character to mark specified files).
То есть, сейчас мы можем сказать Фар'у: "К именам файлов, удовлетворяющих критерию, припиши такой вот префикс и нарисуй все это таким-то цветом".
А хотелось бы: "К именам файлов, удовлетворяющих критерию, припиши такой-то префикс такого-то цвета, а сами имена раскрашивай по настройкам для имен файлов".

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

Re: Custom колонки плагинов

Post by zg » Thu 05 Feb, 2009 00:31

syrompe wrote:2. Разделить настройку цветов имени файла и префикса(Optional character to mark specified files).
То есть, сейчас мы можем сказать Фар'у: "К именам файлов, удовлетворяющих критерию, припиши такой вот префикс и нарисуй все это таким-то цветом".
А хотелось бы: "К именам файлов, удовлетворяющих критерию, припиши такой-то префикс такого-то цвета, а сами имена раскрашивай по настройкам для имен файлов".
transparent и continue processing разве не для этого?

syrompe
Posts: 3
Joined: Tue 03 Feb, 2009 08:01

Re: Custom колонки плагинов

Post by syrompe » Thu 05 Feb, 2009 08:23

О! Просто старая версия фара у меня была. В принципе то что надо.
Значит дело за малым - научить фар понимать кастомные колонки плагинов при раскраске.

Только у меня так и не получилось настроить чтоб директории например были с зеленым префиксом "@", а сами имена белые (((

User avatar
HaRT
Moderator
Posts: 8703
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 79 times
Been thanked: 146 times

Re: Custom колонки плагинов

Post by HaRT » Thu 05 Feb, 2009 10:22

syrompe wrote:у меня так и не получилось настроить чтоб директории например были с зеленым префиксом "@", а сами имена белые
Пример того, как это можно настроить, есть в Атрибуции.
Фар есть инструмент, а не нянька. © 2009 DrKnS

xvro
Posts: 4
Joined: Sun 13 Apr, 2008 15:09
Contact:

Re: Custom колонки плагинов

Post by xvro » Thu 05 Feb, 2009 18:59

syrompe wrote:Вообщето, насколько я понимаю плагин может передать кастом колонки (CustomColumnData у структуры PluginPanelItem ).
Для своей панели, а не для стандартной.
syrompe wrote:Проблемма в том, что эти колонки нельзя использовать для настройки подсветки файлов (files highlighting).
Описанную на трекере функциональность я реализовал именно через пометки из-за невозможности добавить свою колонку. А если и цвет в колонках нельзя задавать, то это печально :(

Предложение:
1. Разрешить в "Типах колонок" в "Режимах панели файлов" задавать типы C0...C9.
2. Предоставить возможность плагинам регистрироваться для обработки колонок C0...C9 в стандартных панелях.
Тогда пользователь сможет задать (например, через настройки плагина) тип колонки, которую будет обрабатывать этот плагин, и указать его же в "Режимах панели файлов".
Spel chekers, hoo neeeds em?

User avatar
Centaur
Posts: 1083
Joined: Tue 05 Apr, 2005 20:09
Location: Novosibirsk, Russia
Been thanked: 1 time

Re: Custom колонки плагинов

Post by Centaur » Thu 05 Feb, 2009 21:59

xvro wrote:Предложение:
1. Разрешить в "Типах колонок" в "Режимах панели файлов" задавать типы C0...C9.
2. Предоставить возможность плагинам регистрироваться для обработки колонок C0...C9 в стандартных панелях.
Тогда пользователь сможет задать (например, через настройки плагина) тип колонки, которую будет обрабатывать этот плагин, и указать его же в "Режимах панели файлов".
Не, так делать неправильно. Что будет, если стоит два плагина и оба зарегистрировались обрабатывать C0? Что делать, если нужно показать больше 10 custom-колонок?

Если уж делать custom-колонки, то регистрировать по какому-нибудь текстовому идентификатору, а пользователю давать настраивать, колонки с какими идентификаторами показывать.

Правда, дальше окажется недостаточно существующих 10 режимов панелей, а кто-то захочет автонастройку колонок в зависимости от преобладающего типа файлов, а потом…

А тем временем в Windows 2000–XP custom-колонки были, а в Vist’е их нет.

xvro
Posts: 4
Joined: Sun 13 Apr, 2008 15:09
Contact:

Re: Custom колонки плагинов

Post by xvro » Fri 06 Feb, 2009 14:49

Centaur wrote:
xvro wrote:Предложение:
1. Разрешить в "Типах колонок" в "Режимах панели файлов" задавать типы C0...C9.
2. Предоставить возможность плагинам регистрироваться для обработки колонок C0...C9 в стандартных панелях.
Тогда пользователь сможет задать (например, через настройки плагина) тип колонки, которую будет обрабатывать этот плагин, и указать его же в "Режимах панели файлов".
Не, так делать неправильно. Что будет, если стоит два плагина и оба зарегистрировались обрабатывать C0?
Ну, значит одному из них не повезло :)
Что делать, если нужно показать больше 10 custom-колонок?
Понять, зачем их столько понадобилось?
Если уж делать custom-колонки, то регистрировать по какому-нибудь текстовому идентификатору, а пользователю давать настраивать, колонки с какими идентификаторами показывать.
Тут вопрос в том, кому-то кроме меня ещё такое надо? И будет ли реализовываться вообще?
Мой вариант немного проще. И я бы сделал сначала временное решение, ну а потом можно и основательно допилить.
Правда, дальше окажется недостаточно существующих 10 режимов панелей, а кто-то захочет автонастройку колонок в зависимости от преобладающего типа файлов, а потом…
Кстати, это мысль! Даже две :)
А тем временем в Windows 2000–XP custom-колонки были, а в Vist’е их нет.
Есть, только они геморройнее реализуются. А старые все поотваливались.
Spel chekers, hoo neeeds em?

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

Re: Description Manager

Post by John Doe » Sat 12 Jun, 2010 14:33

Посмотрел я в сторону Content-плагинов тотала (*.wdx): wincmd.ru | ghisler.com | totalcmd.pl

Оказывается масса идей, о которых заходила речь у нас на форуме, там уже давно реализована посредством контент-плагинов!
И кустомная сортировка, и отображение количества хардлинков файла, и хранение описаний в потоках NTFS...
И это я глянул только начало списка!

В мире фара пока самый близкий аналог контент-плагинов - Description Manager.

User avatar
HaRT
Moderator
Posts: 8703
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 79 times
Been thanked: 146 times

Re: Description Manager

Post by HaRT » Sat 12 Jun, 2010 14:42

John Doe wrote:Оказывается масса идей, о которых заходила речь у нас на форуме, там уже давно реализована посредством контент-плагинов!
И кустомная сортировка, и отображение количества хардлинков файла, и хранение описаний в потоках NTFS...
И это я глянул только начало списка!
Эх, реализовал бы кто-нибудь адаптер, чтобы тоталовские контент-плагины подключать…
Фар есть инструмент, а не нянька. © 2009 DrKnS

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

Re: Custom колонки плагинов

Post by John Doe » Sat 12 Jun, 2010 16:27

Главный вопрос - куда их подключать.
Адаптер можно сделать и сейчас, но это будет работать только в одной панели - панели самого адаптера, что не столь интересно, к примеру не способно решить даже заявленных постом выше проблем.
А вот после реализации универсальных "Custom-колонок" это стало бы действительно полезно.

Думаю тогда и адаптер кто-нибудь напишет, ведь это проще чем продублировать тьму плагинов уже существующих для Тотала.

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

Re: Универсальные Custom-колонки, предоставляемые плагинами

Post by John Doe » Sat 12 Jun, 2010 22:40

Кстати если посмотреть обсуждение Анаморфозиса, то мы увидим, что люди ещё 4 года назад говорили о wdx-плагинах.
Определённо, custom-колонки и QView это где-то рядом.

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

Re: Универсальные Custom-колонки, предоставляемые плагинами

Post by John Doe » Sat 12 Jun, 2010 23:09

t-rex 12.06.2010 19:14:06 +0200 - build 1588 wrote:1. Экспериментально, неофициально и криво на посмотреть, поиграться и подумать:
поддержка кастом колонки (C0) заполняемой плагинами в не плагиновых файловых панелях
int WINAPI GetCustomDataW(const wchar_t *FilePath, wchar_t **CustomData)
void WINAPI FreeCustomDataW(wchar_t *CustomData)
если несколько плагинов возвращают кастом данные для одного и того же файла то будет показано "Plugin1 Plugin2 Plugin3"

Maximus5
Posts: 3292
Joined: Sun 11 Nov, 2007 02:03
Been thanked: 4 times
Contact:

Re: Универсальные Custom-колонки, предоставляемые плагинами

Post by Maximus5 » Sat 12 Jun, 2010 23:47

и даже работает.
mp3_c0 - отображение в C0 - 'Title - Artist'

глючок:
настроил режим Breaf = "N,C0"
вошел в папку (был режим Meduim = "N,Z")
переключился в Breaf.
колонка считалась только после Ctrl-R

Maximus5
Posts: 3292
Joined: Sun 11 Nov, 2007 02:03
Been thanked: 4 times
Contact:

Re: Универсальные Custom-колонки, предоставляемые плагинами

Post by Maximus5 » Sun 13 Jun, 2010 02:41

и еще, ver_c0 - версия *.exe и *.dll в C0

"на подумать".
Заход в System32 станет очень тяжелым (понятно, что ver будет сильно оптимизирован, но все-таки). Хорошо бы наверное как минимум показать окошко типа прогресса, как максимум - по Esc предложить дочитать, но без обработки плагинами.

User avatar
Alexey Samlyukov
Posts: 1760
Joined: Tue 15 Mar, 2005 17:28
Been thanked: 2 times
Contact:

Re: Универсальные Custom-колонки, предоставляемые плагинами

Post by Alexey Samlyukov » Sun 13 Jun, 2010 06:08

мои предложения по организации С0:
1.все режимы колонок оставить прежними, а под режимы с Custom-колонкой(-ами) переопределить Alternative full, назвать пункт Alternative.
2.по пункту Alternative показывать меню с режимами созданными пользователями (думаю, меню похожее по принципу на меню фильтров).
3.диалог создания\редактирования надо глянуть у ТС и позаимствовать от-туда чего-нибудь...

Post Reply

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