Farlets Engine

Проект FarPinDotNetUtil

Библиотека на C# с вспомогательными классами для реализации Farlets Engine, но эти классы так же могут быть полезны в разработке других .Net плагинов.

ФайлТипОписание
IFARUDir.cs public interface IFARUDir Интерфейс файловой директории
IFARURegistry.cs public interface IFARURegistry Интерфейс узла реестра
FARU.cs public class FARU Класс содержащий вспомогательные статические поля и методы
FARUAddonDir.cs class FARUAddonDir : IFARUDir Директория с возможностью каскадирования. Обычные файлы ищутся сначала в самой директории, затем в каталоге Default, затем файл запрашивается у родительской объекта если он есть. Локализованные файлы ищутся в каталоге основного языка, языка help'а, default языка, затем файл запрашивается у родительской объекта если он есть.
FARURegistry.cs public class FARURegistry : IFARURegistry Узел реестра с возможностью каскадирования. Порядок поиска значения ключа такой же как при поиске файла в FARUAddonDir
FARUAddonsManager.cs public enum FARUAddonStatus Перечисление возможных состояний addon'а
public class FARUAddonsManager Абстрактный менеджер addon'ов (например фарлетов). Ведет реестр addon'ов и создает по необходимости объекты AddonInfo.
FARUAddonInfo.cs public class FARUAddonInfo Объект отвечающий за смену состояний ("жизненый цикл") addon'а и создание экземпляров addon'а
FARURegistryMenu.cs public interface IFARURegistryMenuNameResolver Интерфейс для получения имен элементов меню
public class FARURegistryMenu Меню элементы которого описаны в реестре.

Проект FarletsIface

Библиотека на C# с определениями интерфейсов Farlets API.

ФайлТипОписание
IMetaFarlet.cs public interface IMetaFarlet Интерфейс мета-фарлета - объекта отвечающего за конфигурирование фарлета и создание экземпляров фарлета
public interface IFarletFileAcceptor Интерфейс акцептора файла. Сейчас не используется, но может быть использован для создания (в FarletInfo.IsAcceptableFile) легковесного объекта вместо создание полноценного мета-фарлета с целью проверки обрабатывает ли фарлет данный тип файла
public interface IFarletShortcutAcceptor Интерфейс акцептора шотката. Сейчас не используется, но может быть использован для создания (в FarletInfo.IsAcceptableShortcut) легковесного объекта вместо создание полноценного мета-фарлета с целью проверки может ли фарлет обработать данный шоткат
IFarlet.cs public interface IFarlet Базовый интерфейс экземпляра фарлета
public interface IFilePanelFarlet : IFarlet Интерфейс панельного фарлета
public interface IFindListFarlet : IFilePanelFarlet Интерфейс фарлета панели результатов поиска
public interface IArcFarlet : IFilePanelFarlet Интерфейс фарлета обрабатывающего файл
public interface IEditFarlet : IFarlet Интерфейс фарлета редактора
IFarletsEngine.cs public interface IFarletsEngine Интерфейс farlets engine доступный для фарлета. Сейчас не имеет методов. В дальнейшем должен содержать методы которые нужны для Farlets Manager
IFarletContext.cs public interface IFarletContext Интерфейс контекста фарлета
AbstractFarlet.cs public abstract class AbstractFarlet : IFarlet Базовый класс для реализации экземпляров фарлетов.

Проект FarletsEngine

FAR .Net плагин хостирующий фарлеты.

ФайлТипОписание
FarletsMgr.cs public class FarletsMgr : FARUAddonsManager Менеджер фарлетов (не путать с фарлетом Farlets Manager)
FarletInfo.cs class FarletInfo : FARUAddonInfo Реализация AddonInfo специфичная для фарлетов
FarletContext.cs class FarletContext : IFarletContext Реализация контекста фарлета
FarletsEngine.cs public class FarletsEngine : AbstractFARPlugin, IFarletsEngine Собственно сам плагин

SourceForge.net Logo