/** {@inheritDoc} */ @Override public Element getIconContainer(SVGResource icon) { if (icon != null) { OMSVGSVGElement svg = icon.getSvg(); svg.addClassNameBaseVal(treeStyles.treeStylesCss().iconContainer()); svg.setWidth(Style.Unit.PX, 16); svg.setHeight(Style.Unit.PX, 16); return svg.getElement(); } ImageElement emptyIcon = Document.get().createImageElement(); emptyIcon.setSrc(TreeView.blankImageUrl); emptyIcon.setClassName(treeStyles.treeStylesCss().iconContainer()); return emptyIcon; }
@Override protected boolean addTreeSpacer(UIDL rowUidl) { if (cellShowsTreeHierarchy(getElement().getChildCount() - 1)) { Element container = (Element) getElement().getLastChild().getChild(0); if (rowUidl.hasAttribute("icon")) { // icons are in first content cell in TreeTable ImageElement icon = Document.get().createImageElement(); icon.setClassName("v-icon"); icon.setAlt("icon"); icon.setSrc(client.translateVaadinUri(rowUidl.getStringAttribute("icon"))); container.insertFirst(icon); } String classname = "v-treetable-treespacer-patched"; if (rowUidl.getBooleanAttribute("ca")) { canHaveChildren = true; open = rowUidl.getBooleanAttribute("open"); classname += open ? " v-treetable-node-open" : " v-treetable-node-closed"; classname += open ? " icon-arrow1_s" : " icon-arrow1_e"; } treeSpacer = Document.get().createDivElement(); treeSpacer.getStyle().setDisplay(Display.INLINE_BLOCK); treeSpacer.setClassName(classname); container.insertAfter(treeSpacer, container.getFirstChild()); depth = rowUidl.hasAttribute("depth") ? rowUidl.getIntAttribute("depth") : 0; setIndent(); isTreeCellAdded = true; return true; } return false; }
@Override protected void onRender(Element target, int index) { setElement(DOM.createDiv(), target, index); btn = Document.get().createAnchorElement(); btn.setHref("#"); btn.setClassName("x-grid3-hd-btn"); img = Document.get().createImageElement(); img.setSrc(GXT.BLANK_IMAGE_URL); img.setClassName("x-grid3-sort-icon"); el().dom.appendChild(btn); if (config.getWidget() != null) { Element span = Document.get().createSpanElement().cast(); widget = config.getWidget(); span.appendChild(widget.getElement()); getElement().appendChild(span); } else { text = new Html(config.getHeaderHtml()); text.setTagName("span"); text.render(el().dom); } el().dom.appendChild(img); String tip = config.getToolTip(); if (tip != null) { getElement().setAttribute("qtip", tip); } setAriaRole(config.ariaIgnore ? "presentation" : "columnheader"); setAriaState("aria-haspopup", "true"); setAriaState("aria-owns", getId() + "-menu"); sinkEvents(Event.ONCLICK | Event.ONDBLCLICK | Event.MOUSEEVENTS | Event.FOCUSEVENTS | Event.ONKEYPRESS); }