Example usage for com.google.gwt.user.client.ui Widget addHandler

List of usage examples for com.google.gwt.user.client.ui Widget addHandler

Introduction

In this page you can find the example usage for com.google.gwt.user.client.ui Widget addHandler.

Prototype

public final <H extends EventHandler> HandlerRegistration addHandler(final H handler, GwtEvent.Type<H> type) 

Source Link

Document

Adds this handler to the widget.

Usage

From source file:com.qualogy.qafe.mgwt.client.ui.component.ComponentHelper.java

License:Apache License

public static HandlerRegistration addDataChangeHandler(Widget widget, DataChangeHandler handler) {
    return widget.addHandler(handler, DataChangeEvent.getType());
}

From source file:com.sencha.gxt.widget.core.client.tips.ToolTip.java

License:sencha.com license

/**
 * Binds the tool tip to the target widget. Allows a tool tip to switch the target widget.
 *
 * @param widget the target widget//from   w  w w .j av  a2 s  .  com
 */
public void initTarget(final Widget widget) {
    if (handlerRegistration != null) {
        handlerRegistration.removeHandler();
    }

    if (widget != null) {
        this.target = widget.getElement();

        Handler handler = new Handler();
        handlerRegistration = new GroupingHandlerRegistration();
        handlerRegistration.add(widget.addDomHandler(handler, MouseOverEvent.getType()));
        handlerRegistration.add(widget.addDomHandler(handler, MouseOutEvent.getType()));
        handlerRegistration.add(widget.addDomHandler(handler, MouseMoveEvent.getType()));
        handlerRegistration.add(widget.addDomHandler(handler, TouchMoveEvent.getType()));
        handlerRegistration.add(widget.addHandler(handler, HideEvent.getType()));
        handlerRegistration.add(widget.addHandler(handler, AttachEvent.getType()));

        // handles displaying tooltip on long press
        longPressOrTapGestureRecognizer = new LongPressOrTapGestureRecognizer() {
            @Override
            protected void onLongPress(TouchData touchData) {
                super.onLongPress(touchData);

                onTargetOver(touchData.getLastNativeEvent().<Event>cast());
            }

            @Override
            public boolean handleEnd(NativeEvent endEvent) {
                // cancel preventing default in this recognizer.
                cancel();

                return super.handleEnd(endEvent);
            }
        };

        // listen for touch events on the widget
        new TouchEventToGestureAdapter(widget, longPressOrTapGestureRecognizer);
    }
}

From source file:gwt.material.design.client.base.helper.UiHelper.java

License:Apache License

/**
 * Adds a mouse pressed handler to a widget. Adds a CSS style to the widget
 * as long as the mouse is pressed (or the user touches the widget on mobile browser).
 *
 * @param widget The widget to which the style must be applied for mouse/touch event
 * @param cssStyleName CSS style name to be applied
 *///from w  ww.  j  a va2s .  co m
public static void addMousePressedHandlers(final Widget widget, final String cssStyleName) {
    widget.sinkEvents(Event.ONMOUSEDOWN);
    widget.sinkEvents(Event.ONMOUSEUP);
    widget.sinkEvents(Event.ONMOUSEOUT);
    widget.sinkEvents(Event.TOUCHEVENTS);

    widget.addHandler(new MouseDownHandler() {
        @Override
        public void onMouseDown(MouseDownEvent event) {
            widget.addStyleName(cssStyleName);
        }
    }, MouseDownEvent.getType());

    widget.addHandler(new MouseUpHandler() {
        @Override
        public void onMouseUp(MouseUpEvent event) {
            widget.removeStyleName(cssStyleName);
        }
    }, MouseUpEvent.getType());

    widget.addHandler(new MouseOutHandler() {
        @Override
        public void onMouseOut(MouseOutEvent event) {
            widget.removeStyleName(cssStyleName);
        }
    }, MouseOutEvent.getType());

    // Touch Events
    widget.addHandler(new TouchStartHandler() {
        @Override
        public void onTouchStart(TouchStartEvent event) {
            widget.addStyleName(cssStyleName);
        }
    }, TouchStartEvent.getType());

    widget.addHandler(new TouchEndHandler() {
        @Override
        public void onTouchEnd(TouchEndEvent event) {
            widget.removeStyleName(cssStyleName);

        }
    }, TouchEndEvent.getType());

    widget.addHandler(new TouchCancelHandler() {
        @Override
        public void onTouchCancel(TouchCancelEvent event) {
            widget.removeStyleName(cssStyleName);
        }
    }, TouchCancelEvent.getType());
}

From source file:gwt.material.design.components.client.utils.helper.UiHelper.java

License:Apache License

/**
 * Adds a mouse pressed handler to a widget. Adds a CSS style to the widget as
 * long as the mouse is pressed (or the user touches the widget on mobile
 * browser)./*from   w w  w .j  a  va  2 s  .c o  m*/
 *
 * @param widget       The widget to which the style must be applied for
 *                     mouse/touch event
 * @param cssStyleName CSS style name to be applied
 */
public static void addMousePressedHandlers(final Widget widget, final String cssStyleName) {
    widget.sinkEvents(Event.ONMOUSEDOWN);
    widget.sinkEvents(Event.ONMOUSEUP);
    widget.sinkEvents(Event.ONMOUSEOUT);
    widget.sinkEvents(Event.TOUCHEVENTS);

    widget.addHandler(event -> {
        widget.addStyleName(cssStyleName);
    }, MouseDownEvent.getType());

    widget.addHandler(event -> {
        widget.removeStyleName(cssStyleName);
    }, MouseUpEvent.getType());

    widget.addHandler(event -> {
        widget.removeStyleName(cssStyleName);
    }, MouseOutEvent.getType());

    // Touch Events
    widget.addHandler(event -> {
        widget.addStyleName(cssStyleName);
    }, TouchStartEvent.getType());

    widget.addHandler(event -> {
        widget.removeStyleName(cssStyleName);
    }, TouchEndEvent.getType());

    widget.addHandler(event -> {
        widget.removeStyleName(cssStyleName);
    }, TouchCancelEvent.getType());
}

From source file:org.eclipse.che.ide.ui.dropdown.DropdownList.java

License:Open Source License

/**
 * Add the given {@code item} to the top of the list.
 *
 * @param item//from ww  w .j ava 2 s  .com
 *         item to add to the list
 * @param renderer
 *         renderer provides widgets for representing the given {@code item} in the list
 */
public void addItem(DropdownListItem item, DropdownListItemRenderer renderer) {
    final Widget headerWidget = renderer.renderHeaderWidget();
    final Widget listWidget = new SimplePanel(renderer.renderListWidget());

    itemHeaderWidgets.put(item, headerWidget);
    itemListWidgets.put(item, listWidget);

    headerWidget.addHandler(e -> toggleListVisibility(), ClickEvent.getType());

    listWidget.addStyleName(RESOURCES.dropdownListCss().listItem());
    listWidget.addDomHandler(e -> {
        setSelectedItem(item);
        dropdownPopupPanel.hide();

        if (selectionHandler != null) {
            selectionHandler.onItemSelected(item);
        }
    }, ClickEvent.getType());

    dropdownContentPanel.insert(listWidget, 0);
    adaptDropDownPanelHeight();
    setSelectedItem(item);
}

From source file:org.openremote.web.console.widget.InteractiveConsoleComponent.java

License:Open Source License

protected void registerHandlers(Widget component) {
    if (BrowserUtils.isMobile) {
        registerHandler(component.addDomHandler(this, TouchStartEvent.getType()));
        registerHandler(component.addDomHandler(this, TouchEndEvent.getType()));
    } else {/*  w  ww .  java 2s .  co  m*/
        registerHandler(component.addDomHandler(this, MouseDownEvent.getType()));
        registerHandler(component.addDomHandler(this, MouseUpEvent.getType()));
        registerHandler(component.addDomHandler(this, MouseOutEvent.getType()));
    }

    if (component instanceof PressStartHandler) {
        PressStartHandler pressableComponent = (PressStartHandler) component;
        registerHandler(component.addHandler(pressableComponent, PressStartEvent.getType()));
    }

    if (component instanceof PressEndHandler) {
        PressEndHandler pressableComponent = (PressEndHandler) component;
        registerHandler(component.addHandler(pressableComponent, PressEndEvent.getType()));
    }

    if (component instanceof PressCancelHandler) {
        PressCancelHandler pressableComponent = (PressCancelHandler) component;
        registerHandler(component.addHandler(pressableComponent, PressCancelEvent.getType()));
    }

    if (component instanceof Draggable) {
        Draggable draggableComponent = (Draggable) component;
        registerHandler(component.addHandler(draggableComponent, DragStartEvent.getType()));
        registerHandler(component.addHandler(draggableComponent, DragMoveEvent.getType()));
        registerHandler(component.addHandler(draggableComponent, DragEndEvent.getType()));
        registerHandler(component.addHandler(draggableComponent, DragCancelEvent.getType()));
    }

    if (component instanceof TapHandler) {
        TapHandler tappableComponent = (TapHandler) component;
        registerHandler(component.addHandler(tappableComponent, TapEvent.getType()));
    }

    if (component instanceof DoubleTapHandler) {
        DoubleTapHandler dblTappableComponent = (DoubleTapHandler) component;
        registerHandler(component.addHandler(dblTappableComponent, DoubleTapEvent.getType()));
    }

    if (component instanceof HoldHandler) {
        HoldHandler holdableComponent = (HoldHandler) component;
        registerHandler(component.addHandler(holdableComponent, HoldEvent.getType()));
    }

    if (component instanceof SwipeHandler) {
        SwipeHandler pressableComponent = (SwipeHandler) component;
        registerHandler(component.addHandler(pressableComponent, SwipeEvent.getType()));
    }

    if (component instanceof RotationHandler) {
        RotationHandler pressableComponent = (RotationHandler) component;
        registerHandler(component.addHandler(pressableComponent, RotationEvent.getType()));
    }
}

From source file:ru.fly.client.ui.toolbar.Menu.java

License:Apache License

@Override
protected void doAttachChild(Widget w) {
    super.doAttachChild(w);
    w.addHandler(new ClickHandler() {
        @Override//from w w  w. j a  v  a2s .  co  m
        public void onClick() {
            Menu.this.fireEvent(new ClickEvent());
        }
    }, ClickEvent.getType());
}