@Override public HandlerRegistration addTapHandler(TapHandler handler) { // this is not a native browser event so we will have to manage it via JS return JQMHandlerRegistration.registerJQueryHandler(new WidgetHandlerCounter() { @Override public int getHandlerCountForWidget(Type<?> type) { return getHandlerCount(type); } }, this, handler, JQMComponentEvents.TAP_EVENT, TapEvent.getType()); }
public static <X extends EventHandler> JQMHandlerRegistration<X> registerJQueryHandler( WidgetHandlerCounter counter, Widget widget, X handler, String jqmEventName, Type<X> type) { JQMHandlerRegistration<X> reg = new JQMHandlerRegistration<X>(); reg.addHandler(counter, widget, handler, jqmEventName, type); return reg; }
@Override public void removeHandler() { detachIfNeeded(); attachHandlerRegistration.removeHandler(); }
private void attachIfNeeded() { boolean addInJS = counter.getHandlerCountForWidget(type) == 0; this.defaultRegistration = widget.addHandler(handler, type); if (addInJS) { if (JQMComponentEvents.ORIENTATIONCHANGE.equals(jqmEventName)) { int wHash = System.identityHashCode(widget); addJQueryEventToWindow(widget.getElement(), jqmEventName, String.valueOf(wHash)); } else { addJQueryEvent(widget.getElement(), jqmEventName); } } }
private void detachIfNeeded() { if (defaultRegistration != null) { defaultRegistration.removeHandler(); defaultRegistration = null; if (counter.getHandlerCountForWidget(type) == 0) { if (JQMComponentEvents.ORIENTATIONCHANGE.equals(jqmEventName)) { int wHash = System.identityHashCode(widget); removeJQueryEventHandlerFromWindow(jqmEventName, String.valueOf(wHash)); } else { removeJQueryEventHandler(widget.getElement(), jqmEventName); } } } }
protected void addHandler(WidgetHandlerCounter counter, Widget widget, X handler, String jqmEventName, Type<X> type) { this.widget = widget; this.counter = counter; this.jqmEventName = jqmEventName; this.type = type; this.handler = handler; if (widget.isAttached()) { attachIfNeeded(); } attachHandlerRegistration = widget.addAttachHandler(new AttachEvent.Handler() { @Override public void onAttachOrDetach(AttachEvent event) { if (event.isAttached()) attachIfNeeded(); else detachIfNeeded(); } }); }
private void attachIfNeeded() { boolean addInJS = counter.getHandlerCountForWidget(type) == 0; this.defaultRegistration = widget.addHandler(handler, type); if (addInJS) { if (JQMComponentEvents.ORIENTATIONCHANGE.equals(jqmEventName)) { int wHash = System.identityHashCode(widget); addJQueryEventToWindow(widget.getElement(), jqmEventName, String.valueOf(wHash)); } else { addJQueryEvent(widget.getElement(), jqmEventName); } } }
private void detachIfNeeded() { if (defaultRegistration != null) { defaultRegistration.removeHandler(); defaultRegistration = null; if (counter.getHandlerCountForWidget(type) == 0) { if (JQMComponentEvents.ORIENTATIONCHANGE.equals(jqmEventName)) { int wHash = System.identityHashCode(widget); removeJQueryEventHandlerFromWindow(jqmEventName, String.valueOf(wHash)); } else { removeJQueryEventHandler(widget.getElement(), jqmEventName); } } } }
protected void addHandler(WidgetHandlerCounter counter, Widget widget, X handler, String jqmEventName, Type<X> type) { this.widget = widget; this.counter = counter; this.jqmEventName = jqmEventName; this.type = type; this.handler = handler; if (widget.isAttached()) { attachIfNeeded(); } attachHandlerRegistration = widget.addAttachHandler(new AttachEvent.Handler() { @Override public void onAttachOrDetach(AttachEvent event) { if (event.isAttached()) attachIfNeeded(); else detachIfNeeded(); } }); }
@Override public HandlerRegistration addTapHandler(TapHandler handler) { // this is not a native browser event so we will have to manage it via JS return JQMHandlerRegistration.registerJQueryHandler(new WidgetHandlerCounter() { @Override public int getHandlerCountForWidget(Type<?> type) { return getHandlerCount(type); } }, this, handler, JQMComponentEvents.TAP_EVENT, TapEvent.getType()); }
public static <X extends EventHandler> JQMHandlerRegistration<X> registerJQueryHandler( WidgetHandlerCounter counter, Widget widget, X handler, String jqmEventName, Type<X> type) { JQMHandlerRegistration<X> reg = new JQMHandlerRegistration<X>(); reg.addHandler(counter, widget, handler, jqmEventName, type); return reg; }
private void attachIfNeeded() { boolean addInJS = counter.getHandlerCountForWidget(type) == 0; this.defaultRegistration = widget.addHandler(handler, type); if (addInJS) { if (JQMComponentEvents.ORIENTATIONCHANGE.equals(jqmEventName)) { int wHash = System.identityHashCode(widget); addJQueryEventToWindow(widget.getElement(), jqmEventName, String.valueOf(wHash)); } else { addJQueryEvent(widget.getElement(), jqmEventName); } } }
private void detachIfNeeded() { if (defaultRegistration != null) { defaultRegistration.removeHandler(); defaultRegistration = null; if (counter.getHandlerCountForWidget(type) == 0) { if (JQMComponentEvents.ORIENTATIONCHANGE.equals(jqmEventName)) { int wHash = System.identityHashCode(widget); removeJQueryEventHandlerFromWindow(jqmEventName, String.valueOf(wHash)); } else { removeJQueryEventHandler(widget.getElement(), jqmEventName); } } } }
@Override public void removeHandler() { detachIfNeeded(); attachHandlerRegistration.removeHandler(); }
protected void addHandler(WidgetHandlerCounter counter, Widget widget, X handler, String jqmEventName, Type<X> type) { this.widget = widget; this.counter = counter; this.jqmEventName = jqmEventName; this.type = type; this.handler = handler; if (widget.isAttached()) { attachIfNeeded(); } attachHandlerRegistration = widget.addAttachHandler(new AttachEvent.Handler() { @Override public void onAttachOrDetach(AttachEvent event) { if (event.isAttached()) attachIfNeeded(); else detachIfNeeded(); } }); }
@Override public HandlerRegistration addTapHandler(TapHandler handler) { // this is not a native browser event so we will have to manage it via JS return JQMHandlerRegistration.registerJQueryHandler(new WidgetHandlerCounter() { @Override public int getHandlerCountForWidget(Type<?> type) { return getHandlerCount(type); } }, this, handler, JQMComponentEvents.TAP_EVENT, TapEvent.getType()); }
public static <X extends EventHandler> JQMHandlerRegistration<X> registerJQueryHandler( WidgetHandlerCounter counter, Widget widget, X handler, String jqmEventName, Type<X> type) { JQMHandlerRegistration<X> reg = new JQMHandlerRegistration<X>(); reg.addHandler(counter, widget, handler, jqmEventName, type); return reg; }
@Override public void removeHandler() { detachIfNeeded(); attachHandlerRegistration.removeHandler(); }
@Override public HandlerRegistration addTapHandler(TapHandler handler) { // this is not a native browser event so we will have to manage it via JS return JQMHandlerRegistration.registerJQueryHandler(new WidgetHandlerCounter() { @Override public int getHandlerCountForWidget(Type<?> type) { return getHandlerCount(type); } }, this, handler, JQMComponentEvents.TAP_EVENT, TapEvent.getType()); }
@Override public HandlerRegistration addTapHandler(TapHandler handler) { // this is not a native browser event so we will have to manage it via JS return JQMHandlerRegistration.registerJQueryHandler(new WidgetHandlerCounter() { @Override public int getHandlerCountForWidget(Type<?> type) { return getHandlerCount(type); } }, this, handler, JQMComponentEvents.TAP_EVENT, TapEvent.getType()); }