MainButton(SafeHtml content) { super(Document.get().createDivElement()); getElement().setInnerSafeHtml(content); addStyleName(RESOURCES.css().button()); addStyleName(RESOURCES.css().mainButton()); addClickHandler( event -> { if (menu != null && menu.isShowing()) { return; } final Optional<MenuItem> defaultItem = itemsProvider.getDefaultItem(); if (defaultItem.isPresent()) { getActionHandler() .ifPresent(actionHandler -> actionHandler.onAction(defaultItem.get())); } else { showMenu(); } }); } }
ItemsList( List<MenuItem> children, ItemsProvider dataProvider, MenuButton.Resources resources, @Nullable String title) { super(true, false); this.dataProvider = dataProvider; this.resources = resources; setAnimationEnabled(true); setAnimationType(AnimationType.ROLL_DOWN); addStyleName(resources.css().popupPanel()); final FlowPanel content = new FlowPanel(); add(content); if (title != null) { Label label = new Label(title); label.setStyleName(resources.css().label()); content.add(label); } children.forEach(child -> content.add(new ItemWidget(child))); addCloseHandler( event -> { if (childList != null && childList.isShowing()) { childList.hide(false); } }); }
DropButton() { super(Document.get().createDivElement()); addStyleName(RESOURCES.css().button()); addStyleName(RESOURCES.css().dropButton()); final FlowPanel marker = new FlowPanel(); marker.getElement().appendChild(RESOURCES.arrowIcon().getSvg().getElement()); marker.addStyleName(RESOURCES.css().expandedImage()); getElement().appendChild(marker.getElement()); addClickHandler( event -> { if (menu == null || !menu.isShowing()) { showMenu(); } }); } }