Package org.vaadin.touchmenu

Source Code of org.vaadin.touchmenu.TouchmenuApplication

package org.vaadin.touchmenu;

import org.vaadin.touchmenu.TouchMenu.ButtonSize;
import org.vaadin.touchmenu.TouchMenu.Command;
import org.vaadin.touchmenu.TouchMenu.TouchMenuButton;

import com.vaadin.Application;
import com.vaadin.data.Property.ValueChangeEvent;
import com.vaadin.data.Property.ValueChangeListener;
import com.vaadin.terminal.ThemeResource;
import com.vaadin.ui.CheckBox;
import com.vaadin.ui.ComboBox;
import com.vaadin.ui.HorizontalLayout;
import com.vaadin.ui.TextField;
import com.vaadin.ui.Window;

@SuppressWarnings("unused")
public class TouchmenuApplication extends Application {
    private static final long serialVersionUID = 4674022714443717358L;

    private Window mainWindow;
    private TouchMenu touch;
    private TextField width, height, rows, columns;
    private CheckBox animate, from, useArrows;
    private ComboBox sizes;

    @SuppressWarnings("serial")
    @Override
    public void init() {
        String sizeW = "100%";
        String sizeH = "450px";
        mainWindow = new Window("Touchmenu Application");

        touch = new TouchMenu(sizeW, sizeH);

        // Add menu items(buttons)
        for (int i = 0; i < 2; i++) {
            TouchMenu.TouchMenuButton item = touch.addButton("Cake",
                    new ThemeResource("../cake-48x48.png"), menuCommand);
            TouchMenu.TouchMenuButton item1 = touch.addButton("Capsule button",
                    new ThemeResource("../capsule-48x48.png"), menuCommand);
            TouchMenu.TouchMenuButton item2 = touch.addButton("Coffee", null,
                    menuCommand);
            TouchMenu.TouchMenuButton item3 = touch.addButton("Sugar", null,
                    menuCommand);
            TouchMenu.TouchMenuButton item4 = touch.addButton("Honey", null,
                    menuCommand);
            TouchMenu.TouchMenuButton item5 = touch.addButton("Rain", null,
                    menuCommand);
            TouchMenu.TouchMenuButton item6 = touch.addButton("Movies", null,
                    menuCommand);
        }

        // Add fields to edit touchmenu
        width = new TextField("Width");
        width.setImmediate(true);
        width.setValue(sizeW);
        height = new TextField("Height");
        height.setImmediate(true);
        height.setValue(sizeH);
        rows = new TextField("Rows");
        rows.setImmediate(true);
        rows.setValue("2");
        columns = new TextField("Columns");
        columns.setImmediate(true);
        columns.setValue("3");
        animate = new CheckBox("Animate");
        animate.setValue(true);
        animate.setImmediate(true);
        from = new CheckBox("From arrow direction");
        from.setValue(true);
        from.setImmediate(true);
        useArrows = new CheckBox("Use arrows");
        useArrows.setValue(true);
        useArrows.setImmediate(true);
        sizes = new ComboBox("Button size");
        sizes.setImmediate(true);
        sizes.addItem(ButtonSize.SMALL);
        sizes.addItem(ButtonSize.NORMAL);
        sizes.addItem(ButtonSize.BIG);
        sizes.select(ButtonSize.NORMAL);
        sizes.setNullSelectionAllowed(false);

        width.addListener(new ValueChangeListener() {
            @Override
            public void valueChange(ValueChangeEvent event) {
                touch.setWidth((String) width.getValue());
            }
        });

        height.addListener(new ValueChangeListener() {
            @Override
            public void valueChange(ValueChangeEvent event) {
                touch.setHeight((String) height.getValue());
            }
        });

        rows.addListener(new ValueChangeListener() {
            @Override
            public void valueChange(ValueChangeEvent event) {
                touch.setRows(Integer.parseInt((String) rows.getValue()));
            }
        });

        columns.addListener(new ValueChangeListener() {
            @Override
            public void valueChange(ValueChangeEvent event) {
                touch.setColumns(Integer.parseInt((String) columns.getValue()));
            }
        });

        animate.addListener(new ValueChangeListener() {
            @Override
            public void valueChange(ValueChangeEvent arg0) {
                touch.setAnimate((Boolean) animate.getValue());
            }
        });

        from.addListener(new ValueChangeListener() {
            @Override
            public void valueChange(ValueChangeEvent arg0) {
                touch.setFrom((Boolean) from.getValue());
            }
        });

        useArrows.addListener(new ValueChangeListener() {
            @Override
            public void valueChange(ValueChangeEvent arg0) {
                touch.setUseArrows((Boolean) useArrows.getValue());
            }
        });

        sizes.addListener(new ValueChangeListener() {
            @Override
            public void valueChange(ValueChangeEvent event) {
                touch.setButtonSize((ButtonSize) sizes.getValue());
            }
        });
        // text boxes
        HorizontalLayout hl = new HorizontalLayout();
        hl.addComponent(width);
        hl.addComponent(height);
        hl.addComponent(rows);
        hl.addComponent(columns);
        hl.setSpacing(true);

        // Check boxes + button size drop down
        HorizontalLayout hl2 = new HorizontalLayout();
        hl2.addComponent(animate);
        hl2.addComponent(from);
        hl2.addComponent(useArrows);
        hl2.addComponent(sizes);
        hl2.setSpacing(true);

        mainWindow.addComponent(hl);
        mainWindow.addComponent(hl2);
        mainWindow.addComponent(touch);
        setMainWindow(mainWindow);
    }

    /**
     * This is executed when clicking a item
     */
    private Command menuCommand = new Command() {
        private static final long serialVersionUID = 1L;

        @Override
        public void menuSelected(TouchMenuButton selectedItem) {
            mainWindow.showNotification("Clicked " + selectedItem.getCaption());
        }
    };

}
TOP

Related Classes of org.vaadin.touchmenu.TouchmenuApplication

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.