List of usage examples for com.google.gwt.event.dom.client HasMouseDownHandlers addMouseDownHandler
HandlerRegistration addMouseDownHandler(MouseDownHandler handler);
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(); } } } }); } }