Example usage for com.google.gwt.event.dom.client HasMouseDownHandlers addMouseDownHandler

List of usage examples for com.google.gwt.event.dom.client HasMouseDownHandlers addMouseDownHandler

Introduction

In this page you can find the example usage for com.google.gwt.event.dom.client HasMouseDownHandlers addMouseDownHandler.

Prototype

HandlerRegistration addMouseDownHandler(MouseDownHandler handler);

Source Link

Document

Adds a MouseDownEvent handler.

Usage

From source file:ch.unifr.pai.mindmap.client.interaction.longclick.LongClick.java

License:Apache License

public LongClick(HasMouseDownHandlers originator, final int longClickThreshold) {
    if (originator != null) {
        this.originator = originator;

        originator.addMouseDownHandler(new MouseDownHandler() {
            @Override//  ww  w. ja  v a2  s. c  o m
            public void onMouseDown(MouseDownEvent event) {
                String deviceId = MultiCursorController.getUUID(event.getNativeEvent());
                if (Element.as(event.getNativeEvent().getEventTarget()) == ((Widget) LongClick.this.originator)
                        .getElement()) {
                    LongClickInfo info = new LongClickInfo(LongClick.this.originator, deviceId,
                            event.getClientX(), event.getClientY());
                    infoByDeviceId.put(MultiCursorController.getUUID(event.getNativeEvent()), info);
                    onStartClick(info);
                }
            }
        });

        ((HasMouseUpHandlers) originator).addMouseUpHandler(new MouseUpHandler() {

            @Override
            public void onMouseUp(MouseUpEvent event) {
                LongClickInfo info = infoByDeviceId.get(MultiCursorController.getUUID(event.getNativeEvent()));
                if (info != null) {
                    if (new Date().getTime() - info.getTime() > longClickThreshold
                            && info.getMouseDownX() == event.getClientX()
                            && info.getMouseDownY() == event.getClientY()) {
                        onLongClick(info);
                        event.preventDefault();
                        event.stopPropagation();
                    }
                }
            }
        });
    }
}