5.5.2.2.3. ButtonsPanel
ButtonsPanel
- контейнер, унифицирующий использование и размещение компонентов (чаще всего кнопок) для управления данными в таблице.
XML-имя компонента: buttonsPanel
.
Пример описания ButtonsPanel
в XML-дескрипторе экрана:
<table id="customersTable"
editable="false" width="100%">
<actions>
<action id="create"/>
<action id="edit"/>
<action id="remove"/>
<action id="excel"/>
</actions>
<buttonsPanel>
<button action="customersTable.create"/>
<button action="customersTable.edit"/>
<button action="customersTable.remove"/>
<button action="customersTable.excel"/>
</buttonsPanel>
<columns>
<column id="name"/>
<column id="email"/>
</columns>
<rows datasource="customersDs"/>
</table>
Элемент buttonsPanel
можно разместить как внутри table
, так и в произвольном месте экрана.
Если buttonsPanel
находится внутри table
, то она комбинируется с компонентом rowsCount таблицы, тем самым оптимально расходуя место по вертикали. Кроме того, в этом случае при открытии экрана выбора методом Frame.openLookup()
(например, из компонента PickerField) панель кнопок скрывается.
Атрибут alwaysVisible
служит для отключения скрытия панели в экране выбора при его открытии методом Frame.openLookup()
. Если значение атрибута равно true
, то панель с кнопками не скрывается. По умолчанию значение атрибута равно false
.
События щелчка по области компонента buttonsPanel
можно отслеживать с помощью интерфейса LayoutClickListener
.
В компоненте ButtonsPanel
можно использовать горячие клавиши. Задать сочетание клавиш и вызываемое действие можно с помощью метода addShortcutAction()
:
buttonsPanel.addShortcutAction(new ShortcutAction("SHIFT-A", shortcutTriggeredEvent ->
showNotification("SHIFT-A action" )));