com.google.gwt.gwtpages.demo.client.pages.layout.DefaultLayoutPage.java Source code

Java tutorial

Introduction

Here is the source code for com.google.gwt.gwtpages.demo.client.pages.layout.DefaultLayoutPage.java

Source

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;
    }
}