Page 1 of 1

как узнать ширину полей в статусе панели?

Posted: Thu 01 Aug, 2019 09:48
by lvm
Пожалуйста, подскажите, как узнать реальные ширины полей в статусной строке панели - аналог panel.GetColumnWidths, но для статуса

API для ширины полей статуса панели

Posted: Fri 02 Aug, 2019 11:08
by lvm
Для того, чтобы плагин мог правильно отформатировать поля, в export.GetContentData, который вызывается для полей как собственно панели, так и ее статуса, нужно знать ширины заполняемых полей. Для полей панели это можно сделать с помощью panel.GetColumnWidths или PanelControl(FCTL_GETCOLUMNWIDTHS), но для статуса я сам ничего не нашел, а это письмо viewtopic.php?f=8&t=11717 осталось без ответа. Если такой возможности и правда нет, кмк неплохо бы добавить. Кроме того, из export.GetContentData нельзя явно понять, что именно мы заполняем - саму панель или ее статус, а без этой информации знание только ширины поля будет бесполезно. А вообще, кмк было бы лучше, если бы export.GetContentData сразу получал всю необходимую информацию о заполняемых полях в параметрах - тип (панель/статус), реальные длины, форматы и т д.

API для ширины полей статуса панели

Posted: Fri 02 Aug, 2019 12:48
by Shmuel
lvm wrote: Thu 01 Aug, 2019 09:48 Пожалуйста, подскажите, как узнать реальные ширины полей в статусной строке панели - аналог panel.GetColumnWidths, но для статуса
Похоже, что FAR API такой возможности на данный момент не предоставляет.

API для ширины полей статуса панели

Posted: Fri 17 Apr, 2020 21:29
by citRiks
Присоединяюсь к пожеланиям допилить и чуть расширить функциональность
lvm wrote: Fri 02 Aug, 2019 11:08 Кроме того, из export.GetContentData нельзя явно понять, что именно мы заполняем - саму панель или ее статус
прямо нельзя, а косвенно можно (что не отменяет желательности упомянутых завершений),
если кому все еще интересно - отпишитесь
lvm wrote: Fri 02 Aug, 2019 11:08 export.GetContentData сразу получал всю необходимую информацию о заполняемых полях в параметрах - тип (панель/статус), реальные длины, форматы и т д.
ну это косвенно можно получать из panel.GetPanelInfo(..), прочих мета-функций и конфигов,
хотя конечно лучше бы способ попрямее, я предлагал добавить export.GetOpenPanelInfo() в content plugins
(в добавок к GetContentFields и GetContentData)