/** * Sets the current set of events sunk by a given element. These events will * be fired to the nearest {@link EventListener} specified on any of the * element's parents. * * @param elem the element whose events are to be retrieved * @param eventBits a bitfield describing the events sunk on this element (its * possible values are described in {@link Event}) */ public static void sinkEvents(Element elem, int eventBits) { DOM.sinkEvents(elem, eventBits); }
protected void hookEvents() { DOM.sinkEvents(elem, Event.MOUSEEVENTS | Event.KEYEVENTS | Event.ONCHANGE | Event.ONCLICK | Event.FOCUSEVENTS); }
/** * Removes a set of events from this object's event list. * * @param eventBitsToRemove a bitfield representing the set of events to be * removed from this element's event set * @see #sinkEvents * @see com.google.gwt.user.client.Event */ public void unsinkEvents(int eventBitsToRemove) { DOM.sinkEvents(getElement(), DOM.getEventsSunk(getElement()) & (~eventBitsToRemove)); }
/** * Adds a set of events to be sunk by this object. Note that only * {@link Widget widgets} may actually receive events, but can receive events * from all objects contained within them. * * @param eventBitsToAdd a bitfield representing the set of events to be added * to this element's event set * @see com.google.gwt.user.client.Event */ public void sinkEvents(int eventBitsToAdd) { DOM.sinkEvents(getElement(), eventBitsToAdd | DOM.getEventsSunk(getElement())); }
/** * Dispatch an event to the cell, ensuring that the widget will catch it. * * @param widget the widget that will handle the event * @param target the cell element * @param eventBits the event bits to sink * @param event the event to fire, or null not to fire an event */ private static void dispatchCellEvent(Widget widget, Element target, int eventBits, Event event) { // Make sure that the target is still a child of the widget. We defer the // firing of some events, so its possible that the DOM structure has // changed before we fire the event. if (!widget.getElement().isOrHasChild(target)) { return; } // Temporary listen for events from the cell. The event listener will be // removed in onBrowserEvent(). DOM.setEventListener(target, widget); DOM.sinkEvents(target, eventBits | DOM.getEventsSunk(target)); // Dispatch the event to the cell. if (event != null) { target.dispatchEvent(event); } }
/** * Creates an empty stack panel. */ public StackPanel() { Element table = DOM.createTable(); setElement(table); body = DOM.createTBody(); DOM.appendChild(table, body); table.setPropertyInt("cellSpacing", 0); table.setPropertyInt("cellPadding", 0); DOM.sinkEvents(table, Event.ONCLICK); setStyleName(DEFAULT_STYLENAME); }
/** * Sets the current set of events sunk by a given element. These events will * be fired to the nearest {@link EventListener} specified on any of the * element's parents. * * @param elem the element whose events are to be retrieved * @param eventBits a bitfield describing the events sunk on this element (its * possible values are described in {@link Event}) */ public static void sinkEvents(Element elem, int eventBits) { DOM.sinkEvents(elem, eventBits); }
private void init(ImageAdapter images, boolean useLeafImages) { setImages(images, useLeafImages); setElement(DOM.createDiv()); getElement().getStyle().setProperty("position", "relative"); // Fix rendering problem with relatively-positioned elements and their // children by // forcing the element that is positioned relatively to 'have layout' getElement().getStyle().setProperty("zoom", "1"); focusable = FocusPanel.impl.createFocusable(); focusable.getStyle().setProperty("fontSize", "0"); focusable.getStyle().setProperty("position", "absolute"); // Hide focus outline in Mozilla/Webkit focusable.getStyle().setProperty("outline", "0px"); // Hide focus outline in IE 6/7 focusable.setAttribute("hideFocus", "true"); DOM.setIntStyleAttribute(focusable, "zIndex", -1); DOM.appendChild(getElement(), focusable); sinkEvents(Event.ONMOUSEDOWN | Event.ONCLICK | Event.KEYEVENTS); DOM.sinkEvents(focusable, Event.FOCUSEVENTS); // The 'root' item is invisible and serves only as a container // for all top-level items. root = new TreeItem(true); root.setTree(this); setStyleName("gwt-Tree"); // Add a11y role "tree" Roles.getTreeRole().set(focusable); }
/** * Use this for elements that are not wrapped by any widgets (including the ElementWrapperWidget). */ public static void setupNativeEventListener(final Object component, final Element element, final EventListener listener, final int eventsToSink) { if (element == null) { throw new RuntimeException("A native event source was specified in " + component.getClass().getName() + " but the corresponding data-field does not exist!"); } DOM.setEventListener(element, listener); DOM.sinkEvents(element, eventsToSink); }
/** * Adds the event type to the element's sunk events. * * @param event the events to add * @return this */ public El addEventsSunk(int event) { int bits = DOM.getEventsSunk(dom); DOM.sinkEvents(dom, bits | event); return this; }
public ResizePanel() { super(); //listen to mouse-events DOM.sinkEvents(this.getElement(), Event.ONMOUSEDOWN | Event.ONMOUSEMOVE | Event.ONMOUSEUP | Event.ONMOUSEOVER ); }
public CubaGridLayoutWidget() { super(); getElement().setTabIndex(-1); DOM.sinkEvents(getElement(), Event.ONKEYDOWN); }
public CubaTextFieldWidget() { // handle shortcuts DOM.sinkEvents(getElement(), Event.ONKEYDOWN); addInputHandler(getElement()); }
public CubaScrollTableHeaderCell(String colId, String headerText) { super(colId, headerText); Element sortIndicator = td.getChild(1).cast(); DOM.sinkEvents(sortIndicator, Event.ONCONTEXTMENU | DOM.getEventsSunk(sortIndicator)); Element captionContainer = td.getChild(2).cast(); DOM.sinkEvents(captionContainer, Event.ONCONTEXTMENU | DOM.getEventsSunk(captionContainer)); }
/** * Removes a set of events from this object's event list. * * @param eventBitsToRemove a bitfield representing the set of events to be * removed from this element's event set * @see #sinkEvents * @see com.google.gwt.user.client.Event */ public void unsinkEvents(int eventBitsToRemove) { DOM.sinkEvents(getElement(), DOM.getEventsSunk(getElement()) & (~eventBitsToRemove)); }
expandableInner = Document.get().createDivElement().cast(); expandable.appendChild(expandableInner); DOM.sinkEvents(expandable, Event.ONSCROLL); collapsibleInner.getStyle().setHeight(200, Unit.PCT); collapsible.appendChild(collapsibleInner); DOM.sinkEvents(collapsible, Event.ONSCROLL);
private void constructDOM() { setElement(root); root.appendChild(icon); root.appendChild(label); root.appendChild(ariaLink); root.appendChild(runningIndicator); addStyleName("item"); icon.addClassName("icon"); label.addClassName("label"); DOM.sinkEvents(getElement(), Event.MOUSEEVENTS); }
public CubaScrollTableHead() { Element iconElement = presentationsEditIcon.getElement(); iconElement.setClassName("c-table-prefs-icon"); iconElement.getStyle().setDisplay(Style.Display.NONE); Element columnSelector = (Element) getElement().getLastChild(); DOM.insertChild(getElement(), iconElement, DOM.getChildIndex(getElement(), columnSelector)); DOM.sinkEvents(iconElement, Event.ONCLICK); }
public CubaTreeTableTableHead() { Element iconElement = presentationsEditIcon.getElement(); iconElement.setClassName("c-table-prefs-icon"); iconElement.getStyle().setDisplay(Style.Display.NONE); Element columnSelector = (Element) getElement().getLastChild(); DOM.insertChild(getElement(), iconElement, DOM.getChildIndex(getElement(), columnSelector)); DOM.sinkEvents(iconElement, Event.ONCLICK); }
public VNavigationView() { setElement(Document.get().createDivElement()); setStyleName(CLASSNAME); wrapper.setClassName(CLASSNAME + "-wrapper"); getElement().appendChild(wrapper); toolbarDiv.setClassName(CLASSNAME + "-toolbar"); getElement().appendChild(toolbarDiv); TouchScrollHandler touchScrollHandler = TouchScrollDelegate .enableTouchScrolling(this, wrapper); DOM.sinkEvents(wrapper, Event.ONSCROLL); }