«Вечная» невидимость объектов на примере скрытых popover

Автор Аркадий Перла («ТриАПринт»)

С появлением в FileMaker 13 объектов popover, разработчики столкнулись с проблемой невозможности размешения поповера, содержащего портал, на строчке другого портала. Это известное ограничение FileMaker, которое не позволяет разместить портал внутри другого портала. Проблема была быстро решена, с помощью техники скрытого поповера — специальная кнопка на строке портала, вызывает открытие поповера, который находится вне портала, а с помощью оформления у пользователя создается ощущение, что поповер открылся из текущей строки портала. Подробное описание этой техники можно прочитать здесь.

Однако, остается небольшая проблема — куда-то нужно деть реальную кнопку поповера, при этом избежав случайного ее нажатия пользователем. Обычно кнопку либо выносят за пределы лэйаута, либо прячут под другими объектами. Вынос кнопки за пределы лэйаута имеет свой минус — если поповер содержит поля открытые для редактирования пользователю, то они окажутся заблокированными, так как необходимо, чтобы хотя бы краешек кнопки залезал в лэйаут. Скрытие кнопки поповера тоже не без недостатков —  доступ к кнопке для разработчика становится неудобным и  надо также не забывать, что открывшийся поповер «привязан» к кнопке, так что далеко, от места где у нас должна появляться панель поповера, кнопку «не унесешь».

В действительности, кнопку никуда «засовывать» не надо, а можно воспользоваться свойством скрытия объекта, сделав объекта на лайоте всегда невидимым. Для этого достаточно в свойстве Hide object when указать значение «1». Объект будет всегда скрыт, а открыть панель поповера мы как и прежде сможем через команду скрипта Go to Object.

HideObject

Нет нужды говорить, что аналогично мы можем размещать на лэйауте другие невидимые пользователю объекты.

 

 

Leave a Reply

Ваш e-mail не будет опубликован. Обязательные поля помечены *

25 − = 20