List of usage examples for com.google.gwt.user.client.ui ComplexPanel ComplexPanel
ComplexPanel
From source file:com.google.gerrit.client.ui.ComplexDisclosurePanel.java
License:Apache License
public ComplexDisclosurePanel(final String text, final boolean isOpen) { // Ick. GWT's DisclosurePanel won't let us subclass it, or do any // other modification of its header. We're stuck with injecting // into the DOM directly. ///*www. ja va2 s. c o m*/ main = new DisclosurePanel(text); main.setOpen(isOpen); final Element headerParent; { final Element table = main.getElement(); final Element tbody = DOM.getFirstChild(table); final Element tr1 = DOM.getChild(tbody, 0); final Element tr2 = DOM.getChild(tbody, 1); DOM.setElementProperty(DOM.getChild(tr1, 0), "width", "20px"); DOM.setElementPropertyInt(DOM.getChild(tr2, 0), "colSpan", 2); headerParent = tr1; } header = new ComplexPanel() { { setElement(DOM.createTD()); DOM.setInnerHTML(getElement(), " "); addStyleName(Gerrit.RESOURCES.css().complexHeader()); } @Override public void add(Widget w) { add(w, getElement()); } }; initWidget(new ComplexPanel() { { final DisclosurePanel main = ComplexDisclosurePanel.this.main; setElement(main.getElement()); getChildren().add(main); adopt(main); add(ComplexDisclosurePanel.this.header, headerParent); } }); }