@Override public void actionPerformed(ActionEvent e) { itemsProvider .getDefaultItem() .ifPresent( defaultItem -> getActionHandler().ifPresent(handler -> handler.onAction(defaultItem))); } }
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(); } }); } }
/** Updates button's tooltip depending on it's state (what child elements it contains). */ public void updateTooltip() { final Optional<MenuItem> defaultItem = itemsProvider.getDefaultItem(); if (defaultItem.isPresent()) { MenuItem menuItem = defaultItem.get(); String message = ""; if (menuItem instanceof CommandItem) { message = messages.goalButtonTooltipExecute(menuItem.getName()); } else if (menuItem instanceof MachineItem) { MachineItem machineMenuItem = (MachineItem) menuItem; message = messages.goalButtonTooltipExecuteOnMachine( machineMenuItem.getCommand().getName(), machineMenuItem.getName()); } setTooltip(message, keyBinding); } else if (getItemsProvider().containsGuideItemOnly()) { setTooltip(messages.goalButtonTooltipNoCommand(goal.getId()), null); } else { setTooltip(messages.goalButtonTooltipChooseCommand(goal.getId()), null); } }