.. _gsauto_ug_fields: Объект поля ввода ================= Полем ввода считается элемент интерфейса, связанный с редактором атрибута записи выборки. Библиотека предоставляет набор классов полей ввода для взаимодействия со стандартными типами редакторов: 1. :java:type:`ButtonBox` 2. :java:type:`ButtonsEditBox` 3. :java:type:`CalendarBox` 4. :java:type:`CheckBox` 5. :java:type:`ColorPickBox` 6. :java:type:`ComboBox` 7. :java:type:`CurrencyBox` 8. :java:type:`DateBox` 9. :java:type:`DateTimeBox` 10. :java:type:`EditButtonBox` 11. :java:type:`HotKeyBox` 12. :java:type:`HyperLinkBox` 13. :java:type:`ImageCollectionBox` 14. :java:type:`LookupComboBox` 15. :java:type:`MemoBox` 16. :java:type:`TagComboBox` 17. :java:type:`TextBox` 18. :java:type:`TimeBox` Редакторы --------- Каждый класс поля ввода реализует интерфейс :java:type:`AbstractEditor`. В этом интерфейсе объявлены методы получения и установки значения. .. code-block:: java :caption: Чтение и установка значения поля Object value = field.value(); field.setValue("new_value"); Данные методы позволяют программно считывать и устанавливать значения в любом редакторе поля. .. code-block:: java :caption: Получение значения из поля фильтра и установка нового значения application.mainForm().mainMenu().item("MM_GSAUTO_UNITCASES", "MM_GSAUTO_UNITCASES_EDITORS_GRID").click(); Form form = application.waitMdiForm("gtk-ru.bitec.app.gs3.qa.gsauto.Gs3_QaGsAuto_Units_Editors_Card", "List"); Frame frame = form.mainSelection().layout().frame(); FilterPanel filters = frame.filters(); Object oldValue = filters.field("FLT_PMEMOBOX").value(); filters.field("FLT_PMEMOBOX").setValue("updated " + oldValue); Редакторы с кнопками -------------------- При нажатии кнопки в "редакторе с кнопками" обычно отображается выпадающая панель. Каждый редактор с кнопками, нажатие на которые приводит к отображению выпадающей панели, реализовывает программный интерфейс :java:type:`WithDropDown`. Интерфейс декларирует метод :java:meth:`waitDropdown()`, возвращающий объект, представляющий отображенную панель. Пример использования редактора с кнопками: .. code-block:: java :caption: Открытие выпадающей панели application.mainForm().mainMenu().item("MM_GSAUTO_UNITCASES", "MM_GSAUTO_UNITCASES_EDITORS_CARD").click(); Form form = application.waitMdiForm("gtk-ru.bitec.app.gs3.qa.gsauto.Gs3_QaGsAuto_Units_Editors_Card", "Card"); Card card = form.mainSelection().layout().frame().view().as(Card.class); ComboBox field = card.field("PLOOKUPCOMBOBOXHL"); List buttons = field.buttons(); AbstractButtonsInputBox.InboxButton button = buttons.get(0); button.click(); GridDropDown dropDown = field.waitDropdown(); В примере продемонстрирован вызов панели со списком. Библиотека предоставляет классы для стандартных типов выпадающих панелей: 1. :java:type:`ColorPaletteDropDown` 2. :java:type:`ColorSelectDropDown` 3. :java:type:`DateDropDown` 4. :java:type:`DateTimeDropDown` 5. :java:type:`GridDropDown` 6. :java:type:`HotkeyDropDown`