public Map<String, Object> build(ScrollEvent event, Map<String, Object> data) { AuUtility.setEssential(data, "", event.getPos()); return data; } }
/** Processes an AU request. * * <p>Default: in addition to what are handled by {@link XulElement#service}, * it also handles onOpen. * @since 5.0.0 */ public void service(org.zkoss.zk.au.AuRequest request, boolean everError) { final String cmd = request.getCommand(); if (Events.ON_SCROLL.equals(cmd)) { ScrollEvent evt = ScrollEvent.getScrollEvent(request); double curpos = evt.getPosInDouble(); _curpos = curpos > _minpos ? curpos : _minpos; Events.postEvent(evt); } else if (Events.ON_SCROLLING.equals(cmd)) { ScrollEvent evt = ScrollEvent.getScrollEvent(request); Events.postEvent(evt); } else super.service(request, everError); }
/** Converts an AU request to a scroll event. * @since 5.0.0 */ public static final ScrollEvent getScrollEvent(AuRequest request) { final Map<String, Object> data = request.getData(); Object decimal = data.get("decimal"); int pos; double dPos = 0; if (decimal != null) { dPos = AuRequests.getDouble(data, "decimal", 0); pos = (int) dPos; } else { pos = AuRequests.getInt(data, "", 0); dPos = pos; } Object outBound = data.get("outBound"); if (outBound != null) return new ScrollEvent(request.getCommand(), request.getComponent(), dPos, (Boolean) outBound); else return new ScrollEvent(request.getCommand(), request.getComponent(), dPos); }
ScrollEvent event = new ScrollEvent(cmd, (Component) getDelegatee(), value); Map<String, Object> data = EventDataManager.getInstance().build(event); String desktopId = target.getDesktop().getId();