/*
* GNU GENERAL PUBLIC LICENSE, Version 3, 29 June 2007
*/
package hudson.gwtmarketplace.client.pages;
import hudson.gwtmarketplace.client.pages.layout.Header;
import hudson.gwtmarketplace.client.pages.layout.LeftNav;
import com.google.gwt.core.client.GWT;
import com.google.gwt.gwtpages.client.Pages;
import com.google.gwt.gwtpages.client.message.ui.MessagePanel;
import com.google.gwt.gwtpages.client.page.ApplicationPresenter;
import com.google.gwt.gwtpages.client.page.LoadedPageContainer;
import com.google.gwt.gwtpages.client.page.parameters.PageParameters;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.FlowPanel;
import com.google.gwt.user.client.ui.SimplePanel;
import com.google.gwt.user.client.ui.Widget;
public class LayoutPage extends Composite implements ApplicationPresenter {
interface Binder extends UiBinder<FlowPanel, LayoutPage> {
}
private static Binder uiBinder = GWT.create(Binder.class);
@UiField
SimplePanel headContainer;
@UiField
SimplePanel navContainer;
@UiField
SimplePanel bodyContainer;
@UiField
SimplePanel messagesContainer;
public LayoutPage() {
initWidget(uiBinder.createAndBindUi(this));
}
@Override
public void showPage(LoadedPageContainer pageContainer, PageParameters parameters,
com.google.gwt.gwtpages.client.PageRequestSession session) {
Widget widget = pageContainer.getPage().asWidget();
Widget current = (bodyContainer.getWidget());
if (null != current) bodyContainer.remove(current);
bodyContainer.add(widget);
}
@Override
public void clearCurrentPage() {
bodyContainer.clear();
}
@Override
public void init(Pages settings) {
headContainer.add(new Header());
navContainer.add(new LeftNav());
messagesContainer.add(new MessagePanel());
}
@Override
public Widget asWidget() {
return this;
}
}