Как добавить идентификаторы для вкладок в Tabpanel в GWT? - PullRequest
2 голосов
/ 03 ноября 2011

Я пытаюсь установить идентификаторы для вкладок в панели вкладок.Код, который я написал:

Panel dateTab  = new VerticalPanel();
queryTabPanel.addTab("Date", dateTab);

, где queryTabPanel - это другая TabPanel.

Моя проблема: установить идентификаторы для вкладок.Так что я могу нажать на вкладку «Дата» на панели вкладок.То, что я пробовал: манипулировать DOM, как:

DOM.setElementAttribute(productTab.getElement(), "id", "Swagatika"); 

Но это, похоже, не работает.:(

Кто-нибудь знает, если это возможно, если да. Насколько сложно добавить идентификаторы.

Заранее спасибо.

Ответы [ 2 ]

2 голосов
/ 03 ноября 2011

Для тестирования с использованием WebDriver, вы должны использовать специальный модуль <inherits name="com.google.gwt.user.Debug"/> (см. «Переименование модуля» в GWT DevGuide ) и вызывать sureDebugId на вашемwidgets.

В вашем случае после вызова queryTabPanel.ensureDebugId("queryTabPanel") первая вкладка будет иметь идентификатор gwt-debug-queryTabPanel-bar-tab1 (подробности см. TabPanel.html # onEnsureDebugId ).

0 голосов
/ 30 октября 2014

В дополнение к флагу отладки вам нужно использовать TabLayoutPanel.getTabWidget(...) и использовать ensureDebugId на нем, как показано ниже:

    SimpleLayoutPanel newTabPanel = new SimpleLayoutPanel();
    tabLayoutPanel.add(newTabPanel, "Date Tab");
    tabLayoutPanel.getTabWidget(newTabPanel).ensureDebugId("MyDateTab");

Обратите внимание, что установка идентификатора отладки перед добавлением виджета в tabLayoutPanel не будет иметь никакого эффекта. Также убедитесь, что вы используете getTabWidget(..), а не getWidget(...).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...