org.gwtlib.samples.showcase.client.ui.ShowcaseEntryPoint.java Source code

Java tutorial

Introduction

Here is the source code for org.gwtlib.samples.showcase.client.ui.ShowcaseEntryPoint.java

Source

/*
 * Copyright 2008-2009 Sander Berents
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 */
package org.gwtlib.samples.showcase.client.ui;

import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.event.logical.shared.SelectionEvent;
import com.google.gwt.event.logical.shared.SelectionHandler;
import com.google.gwt.user.client.ui.DeckPanel;
import com.google.gwt.user.client.ui.FlexTable;
import com.google.gwt.user.client.ui.HasVerticalAlignment;
import com.google.gwt.user.client.ui.RootPanel;
import com.google.gwt.user.client.ui.Tree;
import com.google.gwt.user.client.ui.TreeItem;

/**
 * Showcase.
 * 
 * @author Sander Berents
 */
public class ShowcaseEntryPoint implements EntryPoint {
    private static final String ID = "gwtlib-showcase";

    private Tree _tree;
    private DeckPanel _deckPanel;

    public void onModuleLoad() {
        RootPanel root = RootPanel.get(ID);
        if (root != null)
            init(root);

        // Show initial content widget
        _tree.getItem(2).setState(true, true);
        _tree.setSelectedItem(_tree.getItem(2).getChild(0), true);
    }

    private void init(RootPanel root) {
        _deckPanel = new DeckPanel();
        _tree = createTree();
        _tree.addSelectionHandler(new SelectionHandler<TreeItem>() {
            public void onSelection(SelectionEvent<TreeItem> event) {
                TreeItem item = event.getSelectedItem();
                if (item.getUserObject() != null) {
                    ContentWidget widget = (ContentWidget) item.getUserObject();
                    widget.init();
                    int i = _deckPanel.getWidgetIndex(widget);
                    if (i != -1)
                        _deckPanel.showWidget(i);
                }
            }
        });

        FlexTable table = new FlexTable();
        table.setWidget(0, 0, _tree);
        table.setWidget(0, 1, _deckPanel);
        table.getRowFormatter().setVerticalAlign(0, HasVerticalAlignment.ALIGN_TOP);

        root.add(table);
    }

    private Tree createTree() {
        Tree tree = new Tree();
        /*TreeItem widgets =*/ tree.addItem("Widgets");
        /*TreeItem lists =*/ tree.addItem("Lists and Menus");
        TreeItem popups = tree.addItem("Popups");
        popups.addItem(createTreeItem("Message Box", new CwMessageBox()));
        /*TreeItem tables =*/ tree.addItem("Tables");

        return tree;
    }

    private TreeItem createTreeItem(String itemText, ContentWidget widget) {
        TreeItem item = new TreeItem(itemText);
        item.setUserObject(widget);
        _deckPanel.add(widget);
        return item;
    }
}