Package org.gwtoolbox.sample.widget.client.panel

Source Code of org.gwtoolbox.sample.widget.client.panel.SimpleHorizontalSplitPanelSample

package org.gwtoolbox.sample.widget.client.panel;

import com.google.gwt.user.client.DOM;
import com.google.gwt.user.client.ui.*;
import com.google.gwt.event.dom.client.ChangeHandler;
import com.google.gwt.event.dom.client.ChangeEvent;
import org.gwtoolbox.ioc.core.client.annotation.Component;
import org.gwtoolbox.ioc.core.client.annotation.Order;
import org.gwtoolbox.sample.widget.client.SamplePanel;
import org.gwtoolbox.widget.client.button.SimpleToggleButton;
import org.gwtoolbox.widget.client.panel.split.horizontal.SimpleHorizontalSplitPanel;

/**
* @author Uri Boness
*/
@Component
@Order(2)
@PanelSample
public class SimpleHorizontalSplitPanelSample extends Composite implements SamplePanel {

    public SimpleHorizontalSplitPanelSample() {

        DockPanel main = new DockPanel();

        FlowPanel buttons = new FlowPanel();
        buttons.setWidth("100%");
        final SimpleToggleButton toggleLeftBtn = new SimpleToggleButton("Hide Left");
        toggleLeftBtn.getDownFace().setText("Show Left");
        DOM.setStyleAttribute(toggleLeftBtn.getElement(), "marginRight", "20px");
        buttons.add(toggleLeftBtn);
        final SimpleToggleButton toggleRightBtn = new SimpleToggleButton("Hide Right");
        toggleRightBtn.getDownFace().setText("Show Right");
        buttons.add(toggleRightBtn);

        final SimpleHorizontalSplitPanel hsp = new SimpleHorizontalSplitPanel();
        hsp.setSize("100%", "100%");

        ScrollPanel lsp = new ScrollPanel(createContent(createVeryLongText(), "#CCFFCC"));
        lsp.setSize("100%", "100%");
        hsp.setLeftWidget(lsp);

        ScrollPanel rsp = new ScrollPanel(createContent(createVeryLongText(), "#FFFBA3"));
        rsp.setSize("100%", "100%");
        hsp.setRightWidget(rsp);

        hsp.setSize("100%", "100%");

        toggleLeftBtn.addChangeHandler(new ChangeHandler() {
            public void onChange(ChangeEvent event) {
                hsp.setLeftWidgetVisible(!toggleLeftBtn.isDown());
                toggleRightBtn.setDown(!toggleLeftBtn.isDown());
            }
        });

        toggleRightBtn.addChangeHandler(new ChangeHandler() {
            public void onChange(ChangeEvent event) {
                hsp.setRightWidgetVisible(!toggleRightBtn.isDown());
                toggleLeftBtn.setDown(!toggleRightBtn.isDown());
            }
        });

        main.add(buttons, DockPanel.NORTH);
        main.add(hsp, DockPanel.CENTER);
        main.setCellHeight(buttons, "30px");
        main.setCellWidth(buttons, "100%");
        main.setCellHeight(hsp, "100%");
        main.setCellWidth(hsp, "100%");
        main.setCellVerticalAlignment(buttons, DockPanel.ALIGN_MIDDLE);
        main.setCellHorizontalAlignment(buttons, DockPanel.ALIGN_CENTER);
        initWidget(main);

        main.setSize("100%", "100%");

    }

    public String getName() {
        return "SimpleHorizontalSplitPanel";
    }

    public Widget getContentWidget() {
        return this;
    }

    public void reset() {
    }


    //================================================ Helper Methods ==================================================

    private static Widget createContent(String text, String color) {
        VerticalPanel main = new VerticalPanel();
        DOM.setStyleAttribute(main.getElement(), "backgroundColor", color);       
        HTML html = new HTML(text);
        html.setHorizontalAlignment(HTML.ALIGN_CENTER);
        main.add(html);
//        main.setSize("100%", "100%");
        return main;
    }

    private static String createVeryLongText() {
        return "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc laoreet pharetra nunc. Nulla magna lorem, " +
                "vehicula lobortis, dignissim eu, adipiscing in, metus. Nullam velit massa, fringilla in, congue quis, " +
                "fringilla eu, libero. Cras sapien. Cras ut lectus. Lorem ipsum dolor sit amet, consectetur adipiscing " +
                "elit. Phasellus pharetra lectus non quam. Fusce turpis ante, iaculis sit amet, rutrum ut, eleifend eu, " +
                "justo. Morbi sollicitudin lacus vel magna. Cras varius volutpat diam. Quisque a lorem. Fusce in risus " +
                "vel dui semper tempus. Proin iaculis nulla sit amet ligula suscipit egestas. Duis eleifend neque id " +
                "nunc. Etiam et orci.\n" + "\n" + "Vestibulum ante ipsum primis in faucibus orci luctus et ultrices " +
                "posuere cubilia Curae; Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos " +
                "himenaeos. Integer sagittis. Integer porttitor odio non metus. Quisque sagittis feugiat magna. Integer " +
                "venenatis nulla sollicitudin nunc tristique consectetur. Duis tincidunt odio. Nulla id arcu. Quisque " +
                "tortor. Nulla purus arcu, bibendum nec, placerat sit amet, egestas a, tellus. Curabitur tempus justo " +
                "non velit. Proin et metus. Sed risus mauris, aliquet quis, imperdiet sit amet, dictum vel, massa. " +
                "Praesent quis augue. Fusce dictum augue non mi. Donec eu tortor. Praesent tempor posuere felis. " +
                "Phasellus convallis mattis tellus.\n" + "\n" + "Donec ultricies, mauris quis egestas interdum, " +
                "turpis quam tincidunt enim, sit amet varius dui nulla in sem. Mauris scelerisque sodales nisi. " +
                "Suspendisse neque justo, egestas interdum, laoreet quis, tristique vel, metus. Vestibulum augue. " +
                "Aliquam eget odio. Donec consectetur. Ut neque. Suspendisse orci eros, aliquam id, pharetra vel, " +
                "vestibulum a, nulla. In varius. Praesent pretium augue a sem. Cras tincidunt. Nulla sollicitudin. " +
                "Suspendisse ullamcorper, dui nec lobortis gravida, odio elit convallis leo, eu porttitor arcu erat " +
                "eu lacus. Pellentesque nec mauris at massa pharetra varius. Integer bibendum. Fusce pulvinar massa " +
                "id enim mattis lacinia. Donec libero urna, bibendum a, ullamcorper eu, commodo id, risus. Maecenas " +
                "nec ipsum. Etiam egestas. Donec aliquet.\n" + "\n" + "Cras semper euismod lacus. Fusce sit amet " +
                "neque et turpis pulvinar vestibulum. Nullam magna. Vestibulum erat. Donec ipsum libero, dapibus ac, " +
                "gravida eget, dignissim pharetra, libero. Aliquam lobortis ullamcorper nunc. In purus lectus, " +
                "tincidunt quis, euismod sed, ornare in, nisl. Aenean faucibus, massa volutpat sagittis gravida, " +
                "lectus quam aliquet dolor, eget elementum metus eros pharetra neque. Praesent condimentum velit " +
                "luctus erat tristique feugiat. Aliquam volutpat, nulla at volutpat tristique, velit lectus molestie " +
                "pede, vitae placerat est enim eget libero. Nullam varius, lorem a sagittis eleifend, dui diam " +
                "scelerisque ante, in adipiscing eros ante quis ligula. Vivamus faucibus convallis ipsum. Vivamus " +
                "sollicitudin lacus vel diam. Morbi volutpat ultricies velit. Aenean tellus. Morbi semper erat sit amet " +
                "sem. Nullam a ipsum in leo hendrerit rutrum.";
    }
}
TOP

Related Classes of org.gwtoolbox.sample.widget.client.panel.SimpleHorizontalSplitPanelSample

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.