Как определить, находимся ли мы в плагиновой панели (напр. TmpPanel)?

Столкнулись с проблемой в использовании макросов? Здесь можно получить помощь.
Post Reply
DV
Posts: 455
Joined: Mon 07 Aug, 2006 08:23
Has thanked: 31 times
Been thanked: 15 times

Как определить, находимся ли мы в плагиновой панели (напр. TmpPanel)?

Post by DV »

Хочу в качестве условия для выполнения макроса

Code: Select all

Macro {
  condition=function() ... end;
  ...
}
проверить, является ли текущая панель файловой панелью или же панелью плагина TmpPanel.
Как написать условие для проверки на панель плагина TmpPanel?
User avatar
HaRT
Moderator
Posts: 10865
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Как определить, находимся ли мы в плагиновой панели (напр. TmpPanel)?

Post by HaRT »

Какой вариант из нижеприведённых требуется проверить?:
1. Плагиновая панель
2. Плагиновая файловая панель
3. Плагиновая панель с реальными файлами
4. Панель плагина TmpPanel
(Заранее оговорюсь, что не про все у меня есть готовые ответы.)
Фар есть инструмент, а не нянька. © 2009 DrKnS
DV
Posts: 455
Joined: Mon 07 Aug, 2006 08:23
Has thanked: 31 times
Been thanked: 15 times

Как определить, находимся ли мы в плагиновой панели (напр. TmpPanel)?

Post by DV »

Требуется проверить, что это Плагиновая файловая панель, с которой можно читать либо полные пути к файлам либо имена файлов (в последнем случае - имена файлов по пути APanel.Path)
User avatar
HaRT
Moderator
Posts: 10865
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Как определить, находимся ли мы в плагиновой панели (напр. TmpPanel)?

Post by HaRT »

DV, APanel.Plugin and ( band( APanel.OPIFlags, far.Flags.OPIF_REALNAMES ) ~= 0 )
Last edited by HaRT on Tue 12 Nov, 2019 13:14, edited 1 time in total.
Reason: Добавил пропущенное: Far.Flags.
Фар есть инструмент, а не нянька. © 2009 DrKnS
DV
Posts: 455
Joined: Mon 07 Aug, 2006 08:23
Has thanked: 31 times
Been thanked: 15 times

Как определить, находимся ли мы в плагиновой панели (напр. TmpPanel)?

Post by DV »

Возвращаясь к вопросу в теме (если кто-то найдёт эту тему по поиску), возможно ли определить, что активная панель принадлежит конкретному плагину - например, TmpPanel? Я предполагаю, что для идентификации как-то можно использовать содержимое файла TmpPanel.ListUTF8.farconfig ? --

Code: Select all

<plugin guid="B77C964B-E31E-4D4C-8FE5-D6B0C6853E7C">
    <hierarchicalconfig>         
        <key name="B77C964B-E31E-4D4C-8FE5-D6B0C6853E7C" description="TmpPanel">
            <value name="ListUTF8" type="qword" value="0000000000000001" />
        </key>
    </hierarchicalconfig>
</plugin>
Shmuel
Posts: 6836
Joined: Thu 23 Mar, 2006 21:36
Location: Israel
Has thanked: 41 times
Been thanked: 530 times

Как определить, находимся ли мы в плагиновой панели (напр. TmpPanel)?

Post by Shmuel »

panel.GetPanelInfo(nil,1).OwnerGuid == win.Uuid("B77C964B-E31E-4D4C-8FE5-D6B0C6853E7C")
Post Reply

Return to “Нужна помощь”