Package org.gwtoolbox.widget.client.panel.layout.drawer

Source Code of org.gwtoolbox.widget.client.panel.layout.drawer.DrawerPane

package org.gwtoolbox.widget.client.panel.layout.drawer;

import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.event.logical.shared.CloseEvent;
import com.google.gwt.event.logical.shared.CloseHandler;
import com.google.gwt.user.client.ui.Image;
import com.google.gwt.user.client.ui.ResizeComposite;
import org.gwtoolbox.commons.ui.client.event.custom.ToggleHandler;
import org.gwtoolbox.widget.client.panel.layout.PanelLayout;

/**
* @author Uri Boness
*/
public class DrawerPane extends ResizeComposite {

    private PanelLayout main;
    private final Drawer drawer;

    public DrawerPane(final DrawerLayout layout, final Drawer drawer) {
        this.drawer = drawer;

        main = new PanelLayout(drawer.getName());

        switch (drawer.getPosition()) {
            case LEFT:
                main.setCloseTool(PanelLayout.Tools.SLIDE_LEFT);
                break;

            case RIGHT:
                main.setCloseTool(PanelLayout.Tools.SLIDE_RIGHT);
                break;

            default:
                main.setCloseTool(PanelLayout.Tools.SLIDE_DOWN);
        }

        main.setClosable(true);
        main.addCloseHandler(new CloseHandler<PanelLayout>() {
            public void onClose(CloseEvent<PanelLayout> panelLayoutCloseEvent) {
                layout.hideDrawer(drawer.getPosition());
            }
        });

        Image icon = drawer.getIcon();
        if (icon != null) {
            main.setIcon(icon);
        }

        main.setContent(drawer.getContent());

        initWidget(main);
    }

    public void addTool(PanelLayout.Tool tool, ClickHandler handler) {
        main.addTool(tool, handler);
    }

    public void addToggleTool(PanelLayout.ToggleTool tool, ToggleHandler handler) {
        main.addToggleTool(tool, handler);
    }

}
TOP

Related Classes of org.gwtoolbox.widget.client.panel.layout.drawer.DrawerPane

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.