PanelInfo

Структура PanelInfo содержит информацию о панели FAR. Используйте функцию Control для ее заполнения.
struct PanelInfo
{
  int PanelType;
  int Plugin;
  RECT PanelRect;
  struct PluginPanelItem *PanelItems;
  int ItemsNumber;
  struct PluginPanelItem *SelectedItems;
  int SelectedItemsNumber;
  int CurrentItem;
  int TopPanelItem;
  int Visible;
  int Focus;
  int ViewMode;
  char ColumnTypes[80];
  char ColumnWidths[80];
  char CurDir[NM];
  int ShortNames;
  int SortMode;
  DWORD Flags;
  DWORD Reserved;
};

Элементы

PanelType
Может быть (перечисление PANELINFOTYPE)
ТипОписание
PTYPE_FILEPANEL Обычная файловая панель
PTYPE_TREEPANEL Панель, отображающая дерево (Tree)
PTYPE_QVIEWPANEL Панель быстрого просмотра (Quick View)
PTYPE_INFOPANEL Панель информации (Information)
Plugin
Если TRUE, панель поддерживается модулем плагина.
PanelRect
Геометрия панели - структура типа RECT.
PanelItems
Адрес массива всех элементов панели (см. PluginPanelItem). Плагин не должен изменять элементы (за исключением флага PPIF_SELECTED) и освобождать память, выделенную для массива. Данные корректны до возврата из экспортируемой функции плагина, которая их получила путём вызова Control(FCTL_GET[ANOTHER]PANELINFO, ...), или до следующего вызова функции Control.
ItemsNumber
Число элементов в массиве PanelItems.
SelectedItems
Адрес массива выделенных элементов панели (см. PluginPanelItem). Плагин не должен изменять элементы (за исключением флага PPIF_SELECTED) и освобождать память, выделенную для массива. Данные корректны до возврата из экспортируемой функции плагина, которая их получила путём вызова Control(FCTL_GET[ANOTHER]PANELINFO, ...), или до следующего вызова функции Control.
SelectedItemsNumber
Число элементов в массиве SelectedItems. Равно 1, даже если нет выделения. Исключение составляет случай, когда нет выделения и курсор стоит на ".." - тогда SelectedItemsNumber равно 0
CurrentItem
Индекс текущего элемента в массиве PanelItems. Перед использованием убедитесь, что ItemsNumber больше 0.
TopPanelItem
Элемент, находящийся в первой видимой позиции панели.
Visible
Если не ноль, панель видимая.
Focus
Если не ноль, панель активна.
ViewMode
Номер режима просмотра панели.
ColumnTypes
Текстовая строка, описывающая типы колонок. Кодируются с помощью одной или нескольких букв, разделенных запятыми, например, так "N,SC,D,T".
ColumnWidths

Текстовая строка, описывающая ширину колонок.

CurDir
Текущий каталог панели. Для Type = PTYPE_TREEPANEL CurDir содержит текущий выбранный каталог в дереве.
ShortNames
Не ноль, если панель в режиме показа коротких имен файлов.
SortMode
Режим сортировки панели. Может быть SM_DEFAULT, SM_UNSORTED, SM_NAME, SM_EXT, SM_MTIME, SM_CTIME, SM_ATIME, SM_SIZE, SM_DESCR, SM_OWNER, SM_COMPRESSEDSIZE, SM_NUMLINKS.
Flags
Дополнительные флаги. Могут быть комбинацией следующих значений (перечисление PANELINFOFLAGS):
ФлагОписание
PFLAGS_SHOWHIDDEN Разрешен показ скрытых и системных файлов.
PFLAGS_HIGHLIGHT Включена раскраска файлов.
PFLAGS_REVERSESORTORDER Включена обратная сортировка.
PFLAGS_USESORTGROUPS Используются группы сортировки
PFLAGS_SELECTEDFIRST Показывать помеченные файлы первыми.
PFLAGS_REALNAMES Элементы на панели плагина отображают именами реальных файлов (см. также OPIF_REALNAMES)
PFLAGS_NUMERICSORT Используется числовая сортировка
PFLAGS_PANELLEFT или PFLAGS_PANELRIGHT Левая или правая панель.
Reserved
Зарезервировано для будущего использования.

Замечания

Дополнительную информацию о панели также можно получить, вызвав функцию AdvControl (команда ACTL_GETPANELSETTINGS)
Смотрите также:
структуры | TPanelInfo