Отключить взаимодействие с пользователем в контейнере GWT? - PullRequest
1 голос
/ 14 января 2010

Я хочу отключить / включить взаимодействие с пользователем (более конкретно, щелчком мыши) по многим виджетам, таким как гиперссылки, кнопки и т. Д., Которые содержатся в составном (гибкий)

существует более одного обработчика кликов, и я не хочу беспокоиться об удалении и добавлении слушателей в соответствии с режимом (взаимодействие включено / отключено)

Любые идеи будут оценены ...

Ответы [ 2 ]

5 голосов
/ 14 января 2010

Вы забыли упомянуть версию GWT. В GWT 2.0 вы можете использовать этот фрагмент кода или что-то подобное. Эта функция позволяет отменять события до их передачи в целевой виджет.

Event.addNativePreviewHandler(new Event.NativePreviewHandler() {
                public void onPreviewNativeEvent(NativePreviewEvent pEvent) {
                    final Element target = pEvent.getNativeEvent().getEventTarget().cast();

                    // block all events targetted at the children of the composite.
                    if (DOM.isOrHasChild(getElement(), target)) {
                        pEvent.cancel();
                    }
                }
            });
1 голос
/ 15 января 2010

В google-web-toolkit-инкубаторе есть GlassPanel компонент. Я почти уверен, что он делает то, что вам нужно. В любом случае, неплохо бы охватить отключенный компонент одним из них.

...