package com.ocpsoft.socialpm.gwt.client.local.view.component; import com.google.gwt.core.client.GWT; import com.google.gwt.uibinder.client.UiBinder; import com.google.gwt.uibinder.client.UiField; import com.google.gwt.user.client.ui.Anchor; import com.google.gwt.user.client.ui.Composite; import com.google.gwt.user.client.ui.InlineHTML; import com.google.gwt.user.client.ui.Widget; /** * A splash screen */ public class NavDropdown extends Composite { interface NavDropdownBinder extends UiBinder<ListItem, NavDropdown> { } private static NavDropdownBinder binder = GWT.create(NavDropdownBinder.class); @UiField UnorderedList menu; @UiField Anchor toggleLink; public NavDropdown() { initWidget(binder.createAndBindUi(this)); toggleLink.getElement().setAttribute("data-toggle", "dropdown"); toggleLink.setHref("#"); } public NavDropdown setToggleText(String text) { toggleLink.setHTML(""); Span toggle = new Span(text); toggle.add(new InlineHTML("<b class=\"caret\"></b>")); toggleLink.getElement().appendChild(toggle.getElement()); return this; } public void add(Widget w) { menu.add(w); } public void add(Widget w, boolean active) { Widget li = w; if (!"li".equals(w.getElement().getTagName())) { li = new ListItem(w); } if (active) li.setStyleName("active"); menu.add(li); } }