/** * This methods generates the HTML code of the current b:buttonToolbar. <code>encodeBegin</code> * generates the start of the component. After the, the JSF framework calls <code>encodeChildren() * </code> to generate the HTML code between the beginning and the end of the component. For * instance, in the case of a panel component the content of the panel is generated by <code> * encodeChildren()</code>. After that, <code>encodeEnd()</code> is called to generate the rest of * the HTML code. * * @param context the FacesContext. * @param component the current b:buttonToolbar. * @throws IOException thrown if something goes wrong when writing the HTML code. */ @Override public void encodeEnd(FacesContext context, UIComponent component) throws IOException { if (!component.isRendered()) { return; } ButtonToolbar buttonToolbar = (ButtonToolbar) component; ResponseWriter rw = context.getResponseWriter(); String clientId = buttonToolbar.getClientId(); rw.endElement("buttonToolbar"); Tooltip.activateTooltips(fc, c.getAttributes(), c); }
protected List getRenderedChildColumnsList(UIComponent component) { List results = new ArrayList(); Iterator kids = component.getChildren().iterator(); while (kids.hasNext()) { UIComponent kid = (UIComponent) kids.next(); if ((kid instanceof UIColumn) && kid.isRendered()) { results.add(kid); } else if (kid instanceof UIColumns) { results.add(kid); } } return results; }
protected void processColumn( FacesContext fc, OutputTypeHandler outputHandler, UIComponent uiColumn, int colIndex, int countOfRowsDisplayed) { StringBuffer stringOutput = new StringBuffer(); Iterator childrenOfThisColumn = uiColumn.getChildren().iterator(); while (childrenOfThisColumn.hasNext()) { UIComponent nextChild = (UIComponent) childrenOfThisColumn.next(); if (nextChild.isRendered() && !(nextChild instanceof RowSelector)) { stringOutput.append(encodeParentAndChildrenAsString(fc, nextChild)); // a blank to separate if (childrenOfThisColumn.hasNext()) { stringOutput.append(' '); } } } outputHandler.writeCell(stringOutput.toString(), colIndex, countOfRowsDisplayed); }
/** * This methods generates the HTML code of the current b:buttonToolbar. <code>encodeBegin</code> * generates the start of the component. After the, the JSF framework calls <code>encodeChildren() * </code> to generate the HTML code between the beginning and the end of the component. For * instance, in the case of a panel component the content of the panel is generated by <code> * encodeChildren()</code>. After that, <code>encodeEnd()</code> is called to generate the rest of * the HTML code. * * @param context the FacesContext. * @param component the current b:buttonToolbar. * @throws IOException thrown if something goes wrong when writing the HTML code. */ @Override public void encodeBegin(FacesContext context, UIComponent component) throws IOException { if (!component.isRendered()) { return; } ButtonToolbar buttonToolbar = (ButtonToolbar) component; ResponseWriter rw = context.getResponseWriter(); String clientId = buttonToolbar.getClientId(); // put custom code here // Simple demo widget that simply renders every attribute value rw.startElement("buttonToolbar", buttonToolbar); Tooltip.generateTooltip(context, buttonToolbar, rw); rw.writeAttribute("binding", buttonToolbar.getBinding(), "binding"); rw.writeAttribute("id", buttonToolbar.getId(), "id"); rw.writeAttribute("rendered", String.valueOf(buttonToolbar.isRendered()), "rendered"); rw.writeAttribute("tooltip", buttonToolbar.getTooltip(), "tooltip"); rw.writeAttribute("tooltipDelay", buttonToolbar.getTooltipDelay(), "tooltipDelay"); rw.writeAttribute("tooltipDelayHide", buttonToolbar.getTooltipDelayHide(), "tooltipDelayHide"); rw.writeAttribute("tooltipDelayShow", buttonToolbar.getTooltipDelayShow(), "tooltipDelayShow"); rw.writeAttribute("tooltipPosition", buttonToolbar.getTooltipPosition(), "tooltipPosition"); rw.writeText("Dummy content of b:buttonToolbar", null); }