for (MenuItem i : tmpItem.getChildren()) { items.push(i);
@Override public List<MenuItem> getChildren() { return delegateItem.getChildren().stream() .map(menuItem -> menu.viewModelMap.get(menuItem)) .collect(Collectors.toList()); }
@Override public void sortChildren(@Nullable MenuItem parentNode, @Nonnull Comparator<MenuItem> comparator) { List<MenuItem> children = (parentNode == null) ? menuBar.getItems() : parentNode.getChildren(); if (children != null) { Collections.sort(children, comparator); } }
menuItemState.styleName = item.getStyleName(); menuItemState.childItems = convertItemsToState(item.getChildren(), itemRegistry);
List<MenuBar.MenuItem> targetItems = target.getChildren(); for (MenuBar.MenuItem sourceItem:source.getChildren()) int sizeOfTarget = target.getChildren().size(); if (sizeOfTarget > 0) { targetItem = target.addItemBefore(sourceItem.getText(), null, sourceItem.getCommand(),target.getChildren().get(sizeOfTarget-1));
private static void merge(MenuBar.MenuItem target, MenuBar.MenuItem source, List<MenuBar.MenuItem> added) { if (source.hasChildren()) { List<MenuBar.MenuItem> targetItems = target.getChildren(); for (MenuBar.MenuItem sourceItem:source.getChildren()) { if (sourceItem.isSeparator()) { target.addSeparator(); } else { MenuBar.MenuItem targetItem = findItem(sourceItem.getText(),targetItems); if (targetItem == null) { targetItem = target.addItem(sourceItem.getText(), sourceItem.getCommand()); fixMenuItem(targetItem,sourceItem); added.add(targetItem); } merge(targetItem,sourceItem,added); } } } } private static void fixMenuItem(MenuBar.MenuItem targetItem, MenuBar.MenuItem sourceItem)
private static void clean(MenuBar.MenuItem target, List<MenuBar.MenuItem> added) { if (target.hasChildren()) { List<MenuBar.MenuItem> items = target.getChildren(); for (MenuBar.MenuItem r:added) { for (MenuBar.MenuItem targetItem:items) { if (r.getId()==targetItem.getId()) { items.remove(r); break; } } } for (MenuBar.MenuItem targetItem:items) { clean(targetItem,added); } } } }
private static void clean(MenuBar.MenuItem target, List<MenuBar.MenuItem> added) { if (target.hasChildren()) { List<MenuBar.MenuItem> items = target.getChildren(); for (MenuBar.MenuItem r:added) { for (MenuBar.MenuItem targetItem:items) { if (r.getId()==targetItem.getId()) { items.remove(r); break; } } } for (MenuBar.MenuItem targetItem:items) { clean(targetItem,added); } } } }
private void addItems(ItemAddBehaviour<com.vaadin.contextmenu.MenuItem> behaviour, MenuBar.MenuItem child) { com.vaadin.contextmenu.MenuItem contextMenuItem = behaviour.addItem(); contextMenuItem.setEnabled(child.isEnabled()); if (child.isSeparator()) { contextMenuItem.addSeparator(); } if (child.getCommand() != null) { contextMenuItem.setCommand((Command) contextMenuItemClickEvent -> child.getCommand().menuSelected(child)); } if (child.hasChildren()) { for (MenuBar.MenuItem eachChild : child.getChildren()) { addItems(() -> contextMenuItem.addItem( eachChild.getText(), eachChild.getIcon(), (Command) selectedItem -> { if (eachChild.getCommand() != null) { eachChild.getCommand().menuSelected(eachChild); } }), eachChild); } } }
public void doUpdateHistoryMenu() { int cnt = -2; for (MenuItem c : menuHistory.getChildren()) { if (cnt >= 0) { if (history.size() - cnt - 1 < 0) { c.setText(""); c.setDescription(""); c.setIcon(null); } else { String x = history.get(history.size() - cnt - 1); c.setText(MString.beforeIndex(x, '|')); c.setDescription(x); c.setIcon(VaadinIcons.ARROW_RIGHT); // FontAwesome.ARROW_RIGHT } } cnt++; } }
public List<MenuItem> getItems() { return rootItem.getChildren(); }
private void addItems(ItemAddBehaviour<ContextMenuItem> behaviour, MenuBar.MenuItem child) { ContextMenuItem contextMenuItem = behaviour.addItem(); contextMenuItem.setEnabled(child.isEnabled()); contextMenuItem.setSeparatorVisible(child.isSeparator()); if (child.getCommand() != null) { contextMenuItem.addItemClickListener(contextMenuItemClickEvent -> child.getCommand().menuSelected(child)); } if (child.hasChildren()) { for (MenuBar.MenuItem eachChild : child.getChildren()) { addItems(() -> contextMenuItem.addItem(eachChild.getText(), eachChild.getIcon()), eachChild); } } }
@Override public void sortChildren(MenuItem parentNode, Comparator<MenuItem> comparator) { List<MenuItem> children = (parentNode == null) ? menuBar.getItems() : parentNode.getChildren(); if (children != null) { Collections.sort(children, comparator); } }
private List<MenuItem> childrenOf(MenuItem parentItem) { if (parentItem == null) { return userNavigationMenu.getItems(); } else { return parentItem.getChildren(); } }
@Override public void removeChildItem(MenuItem menuItem) { MenuBar.MenuItem childItem = ((MenuItemImpl) menuItem).getDelegateItem(); getDelegateItem().getChildren().remove(childItem); menu.unregisterItem(menuItem); }
@Override public void addChildItem(MenuItem menuItem, int index) { MenuBar.MenuItem childItem = ((MenuItemImpl) menuItem).getDelegateItem(); if (childItem.getText() == null) { throw new IllegalArgumentException("Caption cannot be null"); } MenuBar.MenuItem delegateItem = this.getDelegateItem(); childItem.setParent(delegateItem); delegateItem.getChildren().add(index, childItem); menu.registerMenuItem(menuItem); menu.getComponent().markAsDirty(); }
@Override public void addChildItem(MenuItem menuItem) { MenuBar.MenuItem childItem = ((MenuItemImpl) menuItem).getDelegateItem(); if (childItem.getText() == null) { throw new IllegalArgumentException("Caption cannot be null"); } MenuBar.MenuItem delegateItem = this.getDelegateItem(); childItem.setParent(delegateItem); delegateItem.getChildren().add(childItem); menu.registerMenuItem(menuItem); menu.getComponent().markAsDirty(); }
for (MenuItem child : item.getChildren()) { paintItem(target, child);
for (MenuItem subMenu : item.getChildren()) { menuElement.appendChild(createMenuElement(subMenu, context));