Package org.jboss.as.console.client

Source Code of org.jboss.as.console.client.WidgetView

package org.jboss.as.console.client;

import com.google.gwt.dom.client.Style;
import com.google.gwt.user.client.ui.DockLayoutPanel;
import com.google.gwt.user.client.ui.SplitLayoutPanel;
import com.google.gwt.user.client.ui.TabLayoutPanel;
import com.google.gwt.user.client.ui.Widget;
import com.gwtplatform.mvp.client.ViewImpl;
import org.jboss.as.console.client.samples.FormSample;
import org.jboss.as.console.client.samples.Sample;
import org.jboss.as.console.client.samples.TableSample;
import org.jboss.as.console.client.samples.WindowSample;

import java.util.ArrayList;
import java.util.List;

/**
* @author Heiko Braun
* @date 7/12/11
*/
public class WidgetView extends ViewImpl implements WidgetPresenter.MyView {

    private WidgetPresenter presenter;
    private TabLayoutPanel content;

    private List<Sample> samples = new ArrayList<Sample>();
    private String selectedId;

    public WidgetView() {

        samples.add(new TableSample());
        samples.add(new WindowSample());
        samples.add(new FormSample());
    }

    @Override
    public void selectSample(String sampleId) {
        this.selectedId = sampleId;
        if(content!=null)
            showSample(sampleId);
    }

    @Override
    public Widget asWidget() {

        SplitLayoutPanel layout = new SplitLayoutPanel();

        // nav
        Navigation nav = new Navigation(samples);

        // tabs
        content = new TabLayoutPanel(25, Style.Unit.PX);
        content.addStyleName("default-tabpanel");

        showSample(selectedId);

        // assembly
        layout.addWest( nav.asWidget(), 180);
        layout.add(content);

        return layout;
    }

    private void showSample(String id) {

        Sample match = null;

        for(Sample candidate : samples)
        {
            if(id.equals(candidate.getId()))
            {
                match = candidate;
                break;
            }
        }

        if(null==match)
            throw new RuntimeException("No matching sample: "+id);

        content.clear();
        content.add(match.asWidget(), match.getName());
        content.selectTab(0);

    }

    @Override
    public void setPresenter(WidgetPresenter presenter) {
        this.presenter = presenter;
    }


}
TOP

Related Classes of org.jboss.as.console.client.WidgetView

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.