package com.ocpsoft.socialpm.gwt.client.local.view.component;
import java.util.Stack;
import com.google.gwt.user.client.ui.HTMLPanel;
import com.google.gwt.user.client.ui.Widget;
/**
* A splash screen
*/
public class BreadCrumbList extends Span
{
private static final String ACTIVE = "active";
private final Stack<Widget> contents = new Stack<Widget>();
public BreadCrumbList()
{
}
public BreadCrumbList push(BreadCrumb crumb)
{
if (!contents.isEmpty())
{
HTMLPanel span = new HTMLPanel("span", " / ");
span.setStyleName("divider");
contents.add(span);
add(span);
}
contents.add(crumb.getWidget());
add(crumb.getWidget());
return this;
}
public BreadCrumb pop()
{
BreadCrumb result = null;
if (!contents.isEmpty())
{
Widget item = contents.pop();
remove(item);
result = new BreadCrumb();
result.setActive(item.getStyleName() != null && item.getStyleName().equals(ACTIVE));
result.setNavLink((NavLink) item);
if (!contents.isEmpty())
{
contents.pop();
}
}
return result;
}
}