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

Source Code of org.gwtoolbox.sample.widget.client.panel.DashboardPanelSample$SampleGadget

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

import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.Widget;
import com.google.gwt.user.client.ui.SimplePanel;
import com.google.gwt.user.client.ui.HTML;
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.panel.dashboard.DashboardPanel;
import org.gwtoolbox.widget.client.panel.dashboard.Gadget;

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

    private SimplePanel main;

    public DashboardPanelSample() {
        main = new SimplePanel();
        DashboardPanel panel = createDashboard();
        panel.setSize("100%", "100%");
        main.setWidget(panel);
        initWidget(main);
    }

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

    public Widget getContentWidget() {
        return this;
    }

    public void reset() {
        DashboardPanel panel = createDashboard();
        panel.setSize("100%", "100%");
        main.setWidget(panel);
    }

    private DashboardPanel createDashboard() {
        DashboardPanel panel = new DashboardPanel(3);

        SampleGadget gadget = new SampleGadget("Gadget 1", "Content of gadget 1", "Maximized content of gadget 1");
        panel.addGadget(0, gadget);

        gadget = new SampleGadget("Gadget 2", "Content of gadget 2", "Maximized content of gadget 2");
        panel.addGadget(0, gadget);

        gadget = new SampleGadget("Gadget 3", "Content of gadget 3");
        panel.addGadget(0, gadget);

        gadget = new SampleGadget("Gadget 4", "Content of gadget 4", "Maximized content of gadget 4");
        panel.addGadget(1, gadget);

        gadget = new SampleGadget("Gadget 5", "Content of gadget 5", "Maximized content of gadget 5");
        panel.addGadget(1, gadget);

        gadget = new SampleGadget("Gadget 6", "Content of gadget 6");
        panel.addGadget(1, gadget);

        gadget = new SampleGadget("Gadget 7", "Content of gadget 7", "Maximized content of gadget 7");
        panel.addGadget(2, gadget);

        gadget = new SampleGadget("Gadget 8", "Content of gadget 8", "Maximized content of gadget 8");
        panel.addGadget(2, gadget);

        gadget = new SampleGadget("Gadget 9", "Content of gadget 9");
        panel.addGadget(2, gadget);

        HTML widget = new HTML("Widget");
        widget.setHeight("100px");
        panel.addWidget(2, "The Widget", widget);
       
        return panel;
    }

    //============================================== Inner Classes =====================================================

    private class SampleGadget implements Gadget {

        private final String title;
        private final String content;
        private final String maximizedContent;

        private SampleGadget(String title, String content) {
            this(title, content, null);
        }

        private SampleGadget(String title, String content, String maximizedContent) {
            this.title = title;
            this.content = content;
            this.maximizedContent = maximizedContent;
        }

        public String getTitle() {
            return title;
        }

        public Widget getContent() {
            HTML html = new HTML(content);
            html.setHeight("100px");
            return html;
        }

        public boolean supportsMaximiz() {
            return maximizedContent != null;
        }

        public Widget getMaximizedContent() {
            return new HTML(maximizedContent);
        }
    }

}
TOP

Related Classes of org.gwtoolbox.sample.widget.client.panel.DashboardPanelSample$SampleGadget

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.