PluginInfo

Структура PluginInfo используется для возвращения FAR информации о плагине.
struct PluginInfo
{
  int StructSize;
  DWORD Flags;
  const char * const *DiskMenuStrings;
  int *DiskMenuNumbers;
  int DiskMenuStringsNumber;
  const char * const *PluginMenuStrings;
  int PluginMenuStringsNumber;
  const char * const *PluginConfigStrings;
  int PluginConfigStringsNumber;
  const char *CommandPrefix;
  DWORD Reserved;
};

Элементы

StructSize
Это поле должно содержать размер структуры PluginInfo.
Flags
Комбинация следующих значений (перечисление PLUGIN_FLAGS).
ФлагОписание
PF_PRELOAD Отменить кеширование параметров плагина и заставить FAR всегда загружать плагин в память при старте. Должно быть указано, если необходимо изменять строки в меню "Диск", "Команды внешних модулей" или "Конфигурация модулей" динамически. Этот флаг уменьшает эффективность использования памяти.
PF_DISABLEPANELS Не показывать плагин в меню «Команды внешних модулей», вызываемом из панелей.
PF_EDITOR Показывать плагин в меню "Команды внешних модулей", вызываемом из редактора FAR'а.
PF_VIEWER Показывать плагин в меню "Команды внешних модулей", вызываемом из вьюера FAR'а.
PF_DIALOG Показывать плагин в меню "Команды внешних модулей", вызываемом из диалога FAR'а.
PF_FULLCMDLINE Заставляет FAR Manager передавать плагину всю командную строку вместе с префиксом CommandPrefix. Обязательно использовать этот флаг, если плагин умеет обрабатывать несколько префиксов CommandPrefix.
DiskMenuStrings
Если плагин добавляет строки в меню Диск, это поле должно быть равным адресу массива указателей на строки меню, в противном случае, установите его в NULL.
DiskMenuNumbers
Задает номера горячих клавиш для экспортированных строк в меню Диск. Если вы хотите позволить FAR'у самому назначить их, установите DiskMenuNumbers в NULL или в 0.
Если указанный номер уже используется другим плагином, FAR изменит его сам.
DiskMenuStringsNumber
Число добавляемых в меню Диск строк.
PluginMenuStrings
То же, что DiskMenuStrings, но строки добавляются в меню "Plugin commands" ("Команды внешних модулей").
PluginMenuStringsNumber
Число строк, добавляемых в меню "Plugin commands" ("Команды внешних модулей").
PluginConfigStrings
То же, что DiskMenuStrings, но строки добавляются в меню "Plugins configuration" ("Параметры внешних модулей").
PluginConfigStringsNumber
Число строк, добавляемых в меню "Plugins configuration" ("Параметры внешних модулей").
CommandPrefix
Плагин может указать в этом поле строку префиксов командной строки, которые будут использоваться для перехвата команд FAR. Например, если плагин передал здесь адрес строки ftp и пользователь ввел в командной строке что-то, начинающееся с ftp:, то функция OpenPlugin будет вызвана с параметром OPEN_COMMANDLINE.
Если предполагается, что плагин будет обрабатывать несколько командных префиксов, то необходимо указать префиксы, разделенные двоеточием. Например, плагин если обрабатывает префиксы edit:, goto: и view:, то строка должна быть такой:
CommandPrefix="edit:view:goto";
Если вы не хотите добавлять команды к FAR'у, установите этот параметр в NULL.
Reserved
Не используется и должно быть равно 0.

Замечания

  1. Все передаваемые в этой структуре данные должны быть правильными после возвращения из GetPluginInfo, таким образом вы не должны использовать автоматически создаваемые адреса переменных. Используйте статические или глобальные переменные.
  2. Структура, передаваемая функции GetPluginInfo, уже заполнена 0.
Смотрите также:
структуры | TPluginInfo