package fi.utu.ville.exercises.stub; import com.vaadin.shared.ui.label.ContentMode; import com.vaadin.ui.Button; import com.vaadin.ui.Button.ClickEvent; import com.vaadin.ui.HorizontalLayout; import com.vaadin.ui.Label; import com.vaadin.ui.VerticalLayout; import fi.utu.ville.standardutils.Localizer; import fi.utu.ville.standardutils.StandardIcon.Icon; import fi.utu.ville.standardutils.StandardUIFactory; /** * A header-bar to show over the testing views in stub. The header-bar provides a navigation button back to stub's start-view and possibly an info-text * describing the current view. * * @author Riku Haavisto * */ public class StubViewHeaderBar extends VerticalLayout { /** * */ private static final long serialVersionUID = 7718375416856425313L; /** * Constructs a new {@link StubViewHeaderBar}. * * @param localizer * {@link Localizer} for localizing the UI * @param infoText * already localized info-text to show to user of the view */ public StubViewHeaderBar(Localizer localizer, String infoText) { HorizontalLayout actualLayout = new HorizontalLayout(); actualLayout.setWidth("100%"); actualLayout.addStyleName("stub-header-bar"); actualLayout.setMargin(true); actualLayout.setSpacing(true); Button backToStubStartView = StandardUIFactory.getButton( localizer.getUIText(StubUiConstants.BACK_TO_STUB_START), Icon.PREVIOUS); backToStubStartView.addClickListener(new Button.ClickListener() { private static final long serialVersionUID = 7996549476059355446L; @Override public void buttonClick(ClickEvent event) { getUI().setContent(new StubStartView()); } }); actualLayout.addComponent(backToStubStartView); HorizontalLayout infoLabel = StandardUIFactory .getInformationPanel(infoText); actualLayout.addComponent(infoLabel); actualLayout.setExpandRatio(infoLabel, 1.0f); this.addComponent(actualLayout); this.addComponent(new Label("<hr/>", ContentMode.HTML)); } }