Показать всплывающее окно / окно на вкладке GWT - PullRequest
1 голос
/ 20 декабря 2011

Можно ли показывать всплывающее окно только на определенной вкладке gwt или на панели этой вкладки? Я нашел способы показывать всплывающие окна по всей странице, но не только в определенных вкладках. Когда вы переключаете вкладку gwt, всплывающее окно больше не должно быть видимым, и должны быть в состоянии создавать новые всплывающие окна, которые снова видны только на переключенной вкладке gwt. Переключение обратно на другую вкладку должно снова показать первое всплывающее окно.

При желании остальная часть вкладки, которая не закрывается всплывающим окном, не должна быть активной.

Есть ли для этого какие-то нативные методы? Всплывающая панель gwt, похоже, создает всплывающие окна только для всей страницы.

Редактировать: я пытался использовать окно smartgwts, которое, кажется, работает так, как я хочу. Когда я переключаю gwt-tab, всплывающее окно больше не отображается и возвращается, когда я переключаюсь обратно. Единственная проблема в том, что он не отображается правильно. Рамка размещается в крайней левой части вкладки браузера, а содержимое отображается в левой части вкладки gwt. Если я перемещаю контент, рамка тоже перемещается. Рамка видна на всей вкладке браузера, а содержимое исчезает, если я перетаскиваю его по краю вкладки gwt. Я полагаю, это потому, что я добавляю окно на панель gwt. Есть ли способ исправить это, не меняя все на smartgwt?

1 Ответ

2 голосов
/ 20 декабря 2011

Не совсем, я думаю.

Но вы можете что-то сделать в событиях вкладок, например, скрыть всплывающее окно во вкладках, которым оно не принадлежит.Чтобы избежать задержки показа / скрытия всплывающего окна, вы можете сделать это в BeforeSelectionHandler, например:

getView().getTabPanel().addBeforeSelectionHandler(new BeforeSelectionHandler<Integer>()
        {
            @Override
            public void onBeforeSelection(BeforeSelectionEvent<Integer> event)
            {
                showPopupupsForTab(event.getItem());
            }
        });

В showPopupupsForTab вы можете показать всплывающие окна для этой вкладки (вы можете справиться с этим с помощью карты иличто-то) и прятать остальных ...

Как то так.Надеюсь, это поможет.

...