Новое для GWT здесь ...
Я использую подход UIBinder для компоновки приложения, в некоторой степени в стиле образца GWT Mail. Приложение начинается с DockLayoutPanel, добавленного в RootLayoutPanel в методе onModuleLoad (). DockLayoutPanel имеет статический север и статический юг, используя пользовательский виджет центра, определенный как:
public class BigLayoutWidget extends ResizeComposite {
...
}
Этот пользовательский виджет размечен с использованием BigLayoutWidget.ui.xml, который, в свою очередь, состоит из TabLayoutPanel (3 вкладки), первая из которых содержит SplitLayoutPanel, разделенную на WEST (Shortcuts.ui.xml) и CENTER (Рабочая панель). ui.xml). Ярлыки, в свою очередь, состоят из StackLayoutPanel с 3 стеками, каждый из которых определен в своем собственном файле ui.xml.
Я хочу, чтобы события кликов в одном из отдельных стеков ярлыков изменяли содержимое рабочей панели, но до сих пор я мог управлять только виджетами в пределах одного класса. В простейшем случае я не могу получить нажатие кнопки с помощью ярлыков, чтобы очистить содержимое Workpanel или сделать WorkPanel невидимым.
Несколько вопросов ...
- Является ли ResizeComposite правильным типом класса для этого? Я следую подходу из примера Mail для TopPanel, MailList и т. Д., Так что может и нет?
- Как я могу заставить эти клики манипулировать содержимым панелей, на которых они НЕ находятся?
- Слушатели больше не рекомендуются для обработки событий? Мне показалось, что где-то во время компиляции я увидел, что ClickHandlers используются в наши дни, а подход «подписки» для прослушивателя кликов устарел (в основном я использую аннотации @UiHandler)
- Есть ли простой способ получить указатель на определенные элементы в моем приложении / странице? (Применение поля «ID» в файле UI.XML создает предупреждение об устаревании). Я ищу что-то вроде document.getElementById (), который поможет мне справиться с конкретными элементами. Если это существует, как я могу установить дескриптор / идентификатор элемента и как я могу затем вызвать этот элемент по имени / идентификатору?
Обратите внимание, что у меня сама раскладка довольно хорошо приколочена; это взаимодействие между одной модульной панелью ui.xml и другой, которую я не совсем понимаю.
Заранее спасибо.