package com.google.gwt.gwtpages.demo.client.pages.layout;
import com.google.gwt.core.client.GWT;
import com.google.gwt.dom.client.Style.Unit;
import com.google.gwt.gwtpages.client.PageRequestSession;
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.gwtpages.demo.client.pages.PageConstants;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.DockLayoutPanel;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.SimplePanel;
import com.google.gwt.user.client.ui.Widget;
public class DefaultLayoutPage extends Composite implements
ApplicationPresenter {
interface _UiBinder extends UiBinder<DockLayoutPanel, DefaultLayoutPage> {
}
private static _UiBinder uiBinder = GWT.create(_UiBinder.class);
@UiField
SimplePanel menuItemsContainer;
@UiField
Label pageTitle;
@UiField
SimplePanel messages;
@UiField
SimplePanel bodyContent;
public DefaultLayoutPage() {
initWidget(uiBinder.createAndBindUi(this));
menuItemsContainer.add(new MenuItemsPanel(true));
messages.add(new MessagePanel());
}
@Override
public void showPage(LoadedPageContainer page, PageParameters parameters,
PageRequestSession session) {
bodyContent.clear();
bodyContent.add(page.getPage().asWidget());
String pageTitle = (String) session.get(PageConstants.PARAM_PAGE_TITLE,
true);
if (null == pageTitle) {
this.pageTitle.setVisible(false);
Window.setTitle("GWT Pages Demo");
} else {
this.pageTitle.setVisible(true);
this.pageTitle.setText(pageTitle);
Window.setTitle(pageTitle);
}
}
@Override
public void clearCurrentPage() {
bodyContent.clear();
}
@Override
public void init(Pages settings) {
}
@Override
public Widget asWidget() {
return this;
}
}