OpenPanelInfo возвращает в Far Manager информацию о панели плагина в функции GetOpenPanelInfoW.
struct OpenPanelInfo
{
size_t StructSize;
HANDLE hPanel;
OPENPANELINFO_FLAGS Flags;
const wchar_t *HostFile;
const wchar_t *CurDir;
const wchar_t *Format;
const wchar_t *PanelTitle;
const struct InfoPanelLine *InfoLines;
size_t InfoLinesNumber;
const wchar_t * const *DescrFiles;
size_t DescrFilesNumber;
const struct PanelMode *PanelModesArray;
size_t PanelModesNumber;
intptr_t StartPanelMode;
enum OPENPANELINFO_SORTMODES StartSortMode;
intptr_t StartSortOrder;
const struct KeyBarTitles *KeyBar;
const wchar_t *ShortcutData;
unsigned __int64 FreeSize;
};
OpenPanelInfo. Перед использованием структуры плагин должен заполнить поле.| Флаг | Описание |
|---|---|
| OPIF_DISABLEFILTER | Отключить фильтр файлов в панели плагина. |
| OPIF_DISABLESORTGROUPS | Не использовать группы сортировки в панели плагина. |
| OPIF_DISABLEHIGHLIGHTING | Не использовать раскраску файлов в панели плагина. |
| OPIF_ADDDOTS | Автоматически добавить элемент, равный двум точкам (..). |
| OPIF_RAWSELECTION | Выбор папок независимо от настроек Far Manager'а. |
| OPIF_REALNAMES | Включает использование стандартной обработки файла Far Manager'ом, если запрошенная операция не поддерживается плагином. Если этот флаг указан, элементы на панели плагина должны быть именами реальных файлов. |
| OPIF_SHOWNAMESONLY | Показывать по умолчанию имена без путей во всех режимах просмотра. |
| OPIF_SHOWRIGHTALIGNNAMES | Показывать по умолчанию имена, выровненные по правому краю во всех режимах просмотра. |
| OPIF_SHOWPRESERVECASE | Показывать имена файлов в оригинальном регистре независимо от настроек Far Manager'a. |
| OPIF_COMPAREFATTIME | Преобразовывать временные метки в формат FAT при выполнении команды Compare folders. Установите этот флаг, если файловая система плагина не обеспечивает требуемую для стандартного стравнения времени точность. |
| OPIF_EXTERNALGET OPIF_EXTERNALPUT OPIF_EXTERNALDELETE OPIF_EXTERNALMKDIR |
Флаги могут быть использованы только с OPIF_REALNAMES. Вынуждает использование соответствующих функций Far Manager, даже если требуемая функция экспортируется плагином. |
| OPIF_USEATTRHIGHLIGHTING | Использовать раскраску файлов в панели плагина только по атрибутам, а имена объектов в раскраске не учитывать. Выбор цвета происходит только среди тех
групп раскраски файлов, у которых маски исключены из анализа, т.е. опция "[ ] Совпадение с маской (масками)" в настройках раскраски файлов отключена. |
| OPIF_USECRC32 | Флаг указывает, что плагин заполняет поле CRC32 элементов панели PluginPanelItem. |
| OPIF_USEFREESIZE | Флаг указывает, что плагин заполняет поле FreeSize. Не у всех эмулированных плагинами файловых системах возможно понятие "свободное место" (например, в плагине ImpEx). |
| OPIF_SHORTCUT | Флаг указывает, что плагин позволяет добавлять смену каталогов в историю Far Manager'a, а также поддерживает установку "быстрых каталогов" на своей панели. |
| OPIF_RECURSIVEPANEL | Если плагин запущен из панели (возможно другого) плагина, то этот флаг указывает, что после закрытия плагина Far Manager должен вернуться в панель предыдущего плагина, а не в файловую панель.† |
| OPIF_DELETEFILEONCLOSE | Флаг указывает, что после закрытия плагина Far Manager должен удалить файл-контейнер, содержимое которого плагин показывает на панели.† |
| OPIF_DELETEDIRONCLOSE | Флаг указывает, что после закрытия плагина Far Manager должен удалить директорию, где находится файл-контейнер, содержимое которого плагин показывает на панели.† |
| OPIF_NONE | Нулевой флаг. |
F11 → плагин → …, префикса плагина prefix:command или функции Lua Plugin.Command(GUID, command).
NULL.InfoLines в NULL.InfoLine.PPIF_PROCESSDESCR в структуре PluginPanelItem был
установлен. В зависимости от типа плагина, обработка описаний может занять значительное время. Если Вам это не нужно, установите DescrFiles в NULL.PanelModesArray в NULL.'0'+<номер режима просмотра>. Например, '1' или 0x31 будут устанавливать
Краткий режим просмотра. Если вы не хотите менять режим просмотра панели после запуска плагина, установите StartPanelMode в 0.StartSortMode в SM_DEFAULT или 0.StartSortMode, в поле StartSortOrder вы должны задать направление сортировки, 0 или 1 (обратная сортировка).KeyBar в NULL.NULL.