List of usage examples for com.vaadin.ui.declarative DesignAttributeHandler writeAttribute
public static <T> void writeAttribute(String attribute, Attributes attributes, T value, T defaultValue, Class<T> inputType, DesignContext context)
From source file:com.haulmont.cuba.web.widgets.addons.contextmenu.MenuBar.java
License:Apache License
protected Element createMenuElement(MenuItem item, DesignContext designContext) { Element menuElement = new Element(Tag.valueOf("menu"), ""); // Defaults// ww w. j a va 2s . co m MenuItem def = new MenuItemImpl("", null, null); Attributes attr = menuElement.attributes(); DesignAttributeHandler.writeAttribute("icon", attr, item.getIcon(), def.getIcon(), Resource.class, designContext); DesignAttributeHandler.writeAttribute("disabled", attr, !item.isEnabled(), !def.isEnabled(), boolean.class, designContext); DesignAttributeHandler.writeAttribute("visible", attr, item.isVisible(), def.isVisible(), boolean.class, designContext); DesignAttributeHandler.writeAttribute("separator", attr, item.isSeparator(), def.isSeparator(), boolean.class, designContext); DesignAttributeHandler.writeAttribute("checkable", attr, item.isCheckable(), def.isCheckable(), boolean.class, designContext); DesignAttributeHandler.writeAttribute("checked", attr, item.isChecked(), def.isChecked(), boolean.class, designContext); DesignAttributeHandler.writeAttribute("description", attr, item.getDescription(), def.getDescription(), String.class, designContext); DesignAttributeHandler.writeAttribute("style-name", attr, item.getStyleName(), def.getStyleName(), String.class, designContext); menuElement.append(item.getText()); if (item.hasChildren()) { for (MenuItem subMenu : item.getChildren()) { menuElement.appendChild(createMenuElement(subMenu, designContext)); } } return menuElement; }