LINUX.ORG.RU

GXT 3.* close button event handler

 ,


0

1

Не могу понять, какой handler отвечает за кнопку закрытия окна com.sencha.gxt.widget.core.client.Window. Вроде пытался повесить addHideHandler(), не работает.

addBeforeHideHandler() тоже не вызывается. Хотя должен так то.

setClosable(true) сделал, кнопка появилась в заголовке. А вот работать не хочет абсолютно.

Из поиска по форуму:
Bioreactor не разбираешься в вопросе, случаем?

Deleted

addDeactivateHandler ?

Навскидку не помню.

В 4.0.x есть точно. Но у Вас 3 версия.

Завтра постараюсь проверить.

Если есть набросок кода - закопипастите в треде.

Bioreactor ★★★★★
()
Последнее исправление: Bioreactor (всего исправлений: 2)

В 3 тоже есть -

https://docs.sencha.com/gxt/3.x/javadoc/com/sencha/gxt/widget/core/client/Win...

На работе 3-ка - я проверю.

----

Called after the widget has been deactivated.
68
69    void More ...onDeactivate(DeactivateEvent<T> event);
70  }

http://grepcode.com/file/repo1.maven.org/maven2/com.sencha.gxt/gxt/3.1.1/com/...

Bioreactor ★★★★★
()
Последнее исправление: Bioreactor (всего исправлений: 3)

Проверил

com.sencha.gxt.widget.core.client.Window w = new com.sencha.gxt.widget.core.client.Window();
				
				w.addHideHandler(new HideHandler() {
					
					@Override
					public void onHide(HideEvent event) {
						Info.display("Hide Me ", event.toString()); // An event type
					}
					
				});
				
				
				w.show();

При закрытии окна выдаст окно отладочной подсказки «Hide Me» / «An event type».

На месте Info может быть Ваш собственный обработчик закрытия окна.

Bioreactor ★★★★★
()
Ответ на: комментарий от Bioreactor

Спасибо. Да, у меня тоже заработало. Я отнаследовался от Window, задал общую конфигурацию для всех окон в проекте и где-то напортачил.

В результате, .hide() вызывается, но при этом не выбрасывает fireEvent(HideEvent()), а сразу выходит из функции.

Deleted
()
Ответ на: комментарий от Bioreactor

Кстати, вопрос-оффтоп: для отладки пользуешься расширением для устаревших браузеров или пользуештся SuperDevMode с JavaScript debugger'ом?

Deleted
()
Ответ на: комментарий от Deleted

Для интерактивной работы

Eclipse - Run As -> Web Application (GWT Super Dev Mode)

Потом, если чего в WUI поправил -

http://localhost:8888/

и нажимаю «круглую» стрелку GWT.

Для окончательной сдачи проекта - в maven переношу.

Bioreactor ★★★★★
()
Ответ на: комментарий от Deleted

Наши американские коллеги как-то более знакомы с IBM WebSphere Studio нынче известным как Eclipse.

«Стрелка по кругу» с надписью GWT- это пересобрать WUI в браузере в GWT Super Dev Mode. В нижнем правом углу приложения в браузере.

На самом деле с Super Dev Mode тоже есть много тайных знаний - например, как встроенный в Web-приложение сервер WebSocket я использую Grizzly (https://javaee.github.io/grizzly/websockets.html), а в продакшене для Tomcat и/или Jetty приходится Grizzly убирать - используется собственный WebSocket подсистема целевого контейнера сервлетов.

Bioreactor ★★★★★
()
Ответ на: комментарий от Bioreactor

А, понял. Я просто под онтопиком так и не осилил разобраться с SuperDevMod'ом. Поэтому всё собираю на томкате + сделали сервис-синглтон, который обеспечивает функционал логгера (телеметрия).

Надо бы сесть и разобраться с отладкой, да всё лень. Мне хватает вывода логгера, чтобы понять, где ошибка.

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.