Plugin API. Пишем панельный плагин. Введение

Обсуждение энциклопедии.
Post Reply
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 8 times

Plugin API. Пишем панельный плагин. Введение

Post by Skirda »

За основу написания плагина возьмем идею:
Иногда я выкладываю рабочие файлы и папки на Desktop`е.
И если я хочу отобразить на панели FAR это дело, то приходится пройти путь
C:->Windows->Profiles->user->Desktop->My Folder
Возможно ли создание плагина для FAR, который добавлял бы пункт DeskTop
(для текущего пользователя) в меню выбора диктоводов?
По своей сути данный плагин особой ценности не представляет - для этой цели лучше использовать комбинацию клавиш RightCtrl-1..0. Но в качестве учебного пособия - это то, что надо.

Весь процесс написания разобьём на несколько шагов. На каждом шаге будем получать работоспособный, отвечающий поставленным целям, плагин.

Шаг1: Первое приближение
Полная реализация идеи. Информацию о местоположении Доски пользователя берем из реестра - HCU\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders\Desktop. Имеется так же возможность задания конкретного каталога для перехода (не только Desktop текущего пользователя) - достигается путем введения блока конфигурирования плагина. Этим самым "конкретным каталогом" может быть каталог, в котором лежит куча ссылок...
На данном шаге плагин не создает собственной панели.

Шаг2: Файловая панель. Начало
Добавляем к предыдущему варианту плагина собственную панель, эмулирующую файловую систему. На данном шаге файловая панель состоит из одного элемента - виртуального каталога "[Default Dir]", переход в который заставляет Far Manager "прыгнуть" на реальной файловой системе в "нашу папку".

Шаг3: Файловая панель. Навигация
Добавляем к предыдущему варианту виртуальный каталог "[Shell Folders]", содержащий виртуальные ссылки на вполне реальные каталоги. Панель по прежнему в режиме Read Only (ни добавлять ни удалять с панели мы еще не умеем). Переход в подкаталоги папки "[Shell Folders]" активирует смену текущей папки на реальной ФС.

Шаг?: Файловая панель. ???
We are the Borg. You will be assimilated.
So Say We All!
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 8 times

Re: Plugin API. Пишем панельный плагин. Введение

Post by Skirda »

Это вводная статья. Будет правится по мере добавки уроков.
We are the Borg. You will be assimilated.
So Say We All!
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 8 times

Re: Plugin API. Пишем панельный плагин. Введение

Post by Skirda »

Кстати, какие предложения по дальнейшим шагам?
4-й шаг планирую такой: "Усложняем задачу. На файловой панели в новом виртуальном каталоге [My Folders] можно создавать, удалять и переименовывать папки (любой вложенности)". Или сделать 4-й урок аналогичный третьему, но уже с классами (или лучше классы не применять, чтобы не потерялась сама суть)?
Другие идеи есть?
We are the Borg. You will be assimilated.
So Say We All!
User avatar
techie
Posts: 795
Joined: Mon 03 Oct, 2005 22:42
Has thanked: 35 times
Been thanked: 6 times

Re: Plugin API. Пишем панельный плагин. Введение

Post by techie »

Было бы неплохо каждый шаг сделать самодостаточным, а то попадая из поиска на Шаг 1 не сразу понимаешь о чём вообще речь, какая доска и вообще. И начать с минимального плагина, без лишних деталей, который хотя бы свою версию показывает.
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Re: Plugin API. Пишем панельный плагин. Введение

Post by John Doe »

techie wrote:И начать с минимального плагина
Вроде есть http://farmanager.com/svn/trunk/plugins/helloworld/
User avatar
Skirda
Posts: 3475
Joined: Wed 16 Mar, 2005 11:01
Been thanked: 8 times

Re: Plugin API. Пишем панельный плагин. Введение

Post by Skirda »

Я пока не планировал цикл от простого к сложному по всему АПИ.
Цель была только панельные плагины. Но если кто напишет - Wелкам! :-)
We are the Borg. You will be assimilated.
So Say We All!
Post Reply

Return to “Энциклопедия”