org.pentaho.gwt.widgets.samples.SampleApp.java Source code

Java tutorial

Introduction

Here is the source code for org.pentaho.gwt.widgets.samples.SampleApp.java

Source

/*!
 * This program is free software; you can redistribute it and/or modify it under the
 * terms of the GNU Lesser General Public License, version 2.1 as published by the Free Software
 * Foundation.
 *
 * You should have received a copy of the GNU Lesser General Public License along with this
 * program; if not, you can obtain a copy at http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html
 * or from the Free Software Foundation, Inc.,
 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
 *
 * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
 * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 * See the GNU Lesser General Public License for more details.
 *
 * Copyright (c) 2002-2013 Pentaho Corporation..  All rights reserved.
 */

package org.pentaho.gwt.widgets.samples;

import com.allen_sauer.gwt.dnd.client.DragContext;
import com.allen_sauer.gwt.dnd.client.DragController;
import com.allen_sauer.gwt.dnd.client.PickupDragController;
import com.allen_sauer.gwt.dnd.client.VetoDragException;
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.ChangeListener;
import com.google.gwt.user.client.ui.CheckBox;
import com.google.gwt.user.client.ui.Image;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.RootPanel;
import com.google.gwt.user.client.ui.TextBox;
import com.google.gwt.user.client.ui.Widget;
import org.pentaho.gwt.widgets.client.controls.ColorPicker;
import org.pentaho.gwt.widgets.client.controls.ColorPickerListener;
import org.pentaho.gwt.widgets.client.listbox.CustomListBox;
import org.pentaho.gwt.widgets.client.listbox.DefaultListItem;
import org.pentaho.gwt.widgets.client.ui.Draggable;

/**
 * Created by IntelliJ IDEA. User: Nick Baker Date: Mar 9, 2009 Time: 12:54:29 PM
 */
@SuppressWarnings("nls")
public class SampleApp implements EntryPoint {
    @SuppressWarnings("deprecation")
    public void onModuleLoad() {

        DragController dragController = new PickupDragController(RootPanel.get(), false) {

            {
                setBehaviorDragProxy(true);
                setBehaviorDragStartSensitivity(5);

            }
            private Widget proxy;

            @Override
            protected void restoreSelectedWidgetsStyle() {
            }

            @Override
            protected void saveSelectedWidgetsLocationAndStyle() {
            }

            @Override
            protected void restoreSelectedWidgetsLocation() {
            }

            @Override
            public void dragStart() {
                super.dragStart();
            }

            @Override
            public void dragEnd() {
                proxy.removeFromParent();
                proxy = null;
            }

            @Override
            protected Widget newDragProxy(DragContext context) {
                proxy = ((Draggable) context.draggable).makeProxy(context.draggable);
                return proxy;
            }

            @Override
            public void previewDragEnd() throws VetoDragException {

            }
        };

        final CustomListBox list = new CustomListBox();

        list.setDragController(dragController);

        list.addItem("Alberta");
        list.addItem("Atlanta");
        list.addItem("San Francisco");
        list.addItem("Alberta");
        list.addItem("Atlanta");
        list.addItem("San Francisco");
        list.addItem("Alberta");
        list.addItem("Atlanta");
        list.addItem("San Francisco");
        list.addItem("Alberta");
        list.addItem(new DefaultListItem("Testing", new Image("16x16sample.png")));
        list.addItem(new DefaultListItem("Testing 2", new CheckBox()));

        // list.setVisibleRowCount(6);

        list.addChangeListener(new ChangeListener() {
            public void onChange(Widget widget) {
                System.out.println("" + list.getSelectedIndex());
            }
        });

        list.setWidth("100%");
        list.setHeight("100%");

        // RootPanel.get().add(new Label("Combo: "));
        // RootPanel.get().add(list);

        final CustomListBox list2 = new CustomListBox();

        list2.setDragController(dragController);

        list2.addItem("Alberta");
        list2.addItem("Atlanta");
        list2.addItem("San Francisco");
        list2.addItem("Alberta");
        list2.addItem("Atlanta");
        list2.addItem("San Francisco");
        list2.addItem("Alberta");
        list2.addItem("Atlanta");
        list2.addItem("San Francisco");
        list2.addItem("Alberta");
        list2.addItem("Atlanta");
        list2.addItem("San Francisco");
        list2.add("Alberta");
        list2.add("Atlanta");
        list2.add("San Francisco");
        list2.add("Alberta");
        list2.add("Atlanta");
        list2.add("San Francisco");
        list2.add(new DefaultListItem("Testing", new Image("16x16sample.png")));
        list2.addItem(new DefaultListItem("Testing 2", new CheckBox()));
        list2.setVisibleRowCount(6);
        // list2.setEditable(true);
        list2.setValue("Bogus");

        list2.setMultiSelect(true);

        final Label selected = new Label();
        list2.addChangeListener(new ChangeListener() {
            @Override
            public void onChange(Widget widget) {
                int[] sels = list2.getSelectedIndices();
                selected.setText("");
                for (int i = 0; i < sels.length; i++) {
                    selected.setText(selected.getText() + ", " + sels[i]);
                }
            }
        });

        RootPanel.get().add(new Label(""));
        RootPanel.get().add(new Label("Combo2: "));
        RootPanel.get().add(list2);
        RootPanel.get().add(selected);

        CustomListBox list3 = new CustomListBox();

        DefaultListItem dli = null;
        dli = new DefaultListItem("Testing 1", new Image("16x16sample.png"));
        dli.setValue("Value of Testing 1");
        list3.add(dli);

        dli = new DefaultListItem("Testing 2", new CheckBox());
        dli.setValue("Value of Testing 2");
        list3.add(dli);

        // RootPanel.get().add(new Label(""));
        // RootPanel.get().add(new Label("Combo3: "));
        // RootPanel.get().add(list3);

        Label showSelectedLabel = new Label("Selected item's value:");

        final TextBox showSelectedTextBox = new TextBox();
        showSelectedTextBox.setReadOnly(true);

        list3.addChangeListener(new ChangeListener() {

            public void onChange(Widget widget) {
                String val = (String) ((CustomListBox) widget).getSelectedItem().getValue();
                if (val != null) {
                    showSelectedTextBox.setText(val);
                }
            }
        });
        final CustomListBox list4 = new CustomListBox();

        list4.addItem("Albert");
        list4.addItem("Greg");
        list4.setWidth("170px");

        RootPanel.get().add(new Label(""));
        RootPanel.get().add(new Label("Combo4: "));
        RootPanel.get().add(list4);

        RootPanel.get().add(showSelectedLabel);
        RootPanel.get().add(showSelectedTextBox);

        final ColorPicker picker = new ColorPicker();
        picker.addColorPickerListener(new ColorPickerListener() {

            public void colorPicked(ColorPicker picker) {
                System.out.println("color: " + picker.getColor());

            }

        });

        RootPanel.get().add(picker);
        Button btn = new Button("colorPicker");
        RootPanel.get().add(btn);

        btn.addClickHandler(new ClickHandler() {

            public void onClick(ClickEvent event) {
                picker.showPicker();

            }

        });
    }
}