All Downloads are FREE. Search and download functionalities are using the official Maven repository.

cn.mapway.ui.client.test.menu.CustomRender Maven / Gradle / Ivy

There is a newer version: 2.3.0
Show newest version
package cn.mapway.ui.client.test.menu;

import cn.mapway.ui.client.widget.menu.IMenuItem;
import cn.mapway.ui.client.widget.menu.render.IMenuRender;

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.VerticalPanel;
import com.google.gwt.user.client.ui.Widget;

/**
 * The type Custom render.
 */
public class CustomRender implements IMenuRender {

    /**
     * The constant INSTANCE.
     */
    public static CustomRender INSTANCE = new CustomRender();


    /**
     * Instantiates a new Custom render.
     */
    protected CustomRender() {
    }

    @Override
    public Widget render(Widget parent, IMenuItem menu) {

        if (menu.getSubMenus().size() == 0) {
            return null;
        }
        final VerticalPanel vp = new VerticalPanel();
        vp.setBorderWidth(2);
        vp.setSpacing(5);

        for (final IMenuItem item : menu.getSubMenus()) {
            final Button lb = new Button(item.getName());
            vp.add(lb);
            lb.addClickHandler(new ClickHandler() {

                @Override
                public void onClick(ClickEvent event) {

                    item.getHandler().execute(lb, item);
                }
            });
        }
        return vp;
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy