public void setFocusLost(JavaScriptObject aValue) { if (focusLost != aValue) { if (blurReg != null) { blurReg.removeHandler(); blurReg = null; } focusLost = aValue; if (focusLost != null && component instanceof HasBlurHandlers) { blurReg = ((HasBlurHandlers) component).addBlurHandler(new BlurHandler() { @Override public void onBlur(BlurEvent event) { if (focusLost != null) { executeEvent(focusLost, EventsPublisher.publish(event)); } mouseState = MOUSE.NULL; } }); } } }
/** * Set the widget that the EditorPanel will display. This method will automatically call * {@link #setEditor}. * * @param pwidget a {@link IsEditor} widget */ @Override @UiChild(limit = 1, tagname = "widget") public void setChildWidget(final TakesValue<T> pwidget) { this.widget = (Widget) pwidget; this.contents.add(this.widget); this.setEditor(new ExtendedValueBoxEditor<>(pwidget, this)); if (pwidget instanceof HasFocusHandlers) { ((HasFocusHandlers) pwidget) .addFocusHandler(pevent -> AbstractDecoratorWithLabel.this.addStyleToLabel()); } if (pwidget instanceof HasBlurHandlers) { ((HasBlurHandlers) pwidget).addBlurHandler(pevent -> { boolean hide = true; if (AbstractDecoratorWithLabel.this.widget instanceof TakesValue<?>) { hide = StringUtils.isEmpty(Objects .toString(((TakesValue<?>) AbstractDecoratorWithLabel.this.widget).getValue(), null)); } if (hide) { AbstractDecoratorWithLabel.this.removeStyleFromLabel(); } }); } }
private void fixHandlers(final FilterBox box, Widget w) { if (w instanceof HasBlurHandlers) ((HasBlurHandlers)w).addBlurHandler(box.iBlurHandler); if (w instanceof HasFocusHandlers) ((HasFocusHandlers)w).addFocusHandler(box.iFocusHandler); if (w instanceof HasKeyDownHandlers) ((HasKeyDownHandlers)w).addKeyDownHandler(new KeyDownHandler() { @Override public void onKeyDown(KeyDownEvent event) { if (event.getNativeEvent().getKeyCode() == KeyCodes.KEY_ESCAPE) if (box.isFilterPopupShowing()) box.hideFilterPopup(); } }); }
private void resetFocusHandler() { this.registrationCollection.removeHandler(); boolean hasError = this.hasErrors(); if (!hasError && !this.focused) { this.setTabIndex(0); this.registrationCollection.add(this.addFocusHandler(this)); } else if (hasError && !this.focused) { this.setTabIndex(-1); if (this.input instanceof HasFocusHandlers) { this.registrationCollection.add(((HasFocusHandlers) this.input).addFocusHandler(this)); } } else { this.setTabIndex(-1); if (this.input instanceof HasBlurHandlers) { this.registrationCollection.add(((HasBlurHandlers) this.input).addBlurHandler(this)); } Scheduler.get().scheduleDeferred(new ScheduledCommand() { @Override public void execute() { if (InternalListItem.this.input instanceof Focusable) { ((Focusable) InternalListItem.this.input).setFocus(true); } } }); } }