Example usage for com.google.gwt.user.client.ui ComplexPanel ComplexPanel

List of usage examples for com.google.gwt.user.client.ui ComplexPanel ComplexPanel

Introduction

In this page you can find the example usage for com.google.gwt.user.client.ui ComplexPanel ComplexPanel.

Prototype

ComplexPanel

Source Link

Usage

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);
        }
    });
}